Skip to content
KyungWoon Cho edited this page Jan 19, 2021 · 1 revision

usbip-win is not yet ready for production use. Your issue will be resolved with more detailed logs such as kernel and forwarder logs.

How to get windows kernel log for vhci(wdm)

  • Set registry key to enable a debug filter
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter]
"IHVDRIVER"=dword:ffffffff
  • Run a debugging log viewer program before you test

  • If your testing machine suffer from BSOD (blue screen on death), you should get it via remote debugging.

    • WinDbg on virtual machines would be good to get logs

How to get windows kernel log for vhci(ude)

  • A new vhci(ude) implementation uses WPP SW tracing instead of DbgPrintEx.
    • DebugView.exe cannot catch a vhci debug message
      • TraceView.exe is a good utility for a new approach, which is included in WDK.
  • usbip_vhci_ude.pdb file is required to add a trace provider easily.
  • Create a new session log in TraceView.exe
    • Choose PDB file radio button in "Provider Control GUID Setup" popup dialog
    • Specify usbip_vhci_ude.pdb as a PDB file
  • You can send real-time trace messages to WinDbg by modifying in "Advanced Log Session Options".
  • If your testing machine suffer from BSOD (blue screen on death), you should get it via remote debugging.
    • WinDbg on virtual machines would be good to get logs

How to get usbip forwarder log

  • usbip-win transmits usbip packets via a userland forwarder.
    • forwarder log is the best to look into usbip packet internals.
  • edit usbip_forward.c to define DEBUG_PDU at the head of the file
  • compile usbip.exe or usbipd.exe
  • debug_pdu.log is created at the path where an executable runs.

How to get linux kernel log

  • Sometimes linux kernel log is required