cezanne / usbip-win

USB/IP for Windows
GNU General Public License v3.0
1.94k stars 349 forks source link

vhci-wdm didn't work as expected #240

Closed ylfc1997 closed 3 years ago

ylfc1997 commented 3 years ago

When I redirect 2 USB printer from 2 Linux client to the same Windows server, the "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbprint\Enum" in the registry is unstable.

For example: Step 1, when I attach the printer A into vhci-wdm, I see registry enum value of printer A is "USB\VID_03F0&PID_E311&MI_01\3&19b26c37&0&0001".

Step 2, and then I attach the printer B into vhci-wdm, I see registry enum value of printer B is "USB\VID_03F0&PID_E311&MI_01\3&171aa248&0&0001".

Step 3, I detach printer A and B from vhci-wdm.

Step 4, I attach the printer B into vhci-wdm, I see registry enum value of printer B is "USB\VID_03F0&PID_E311&MI_01\3&19b26c37&0&0001"

Step 5, finally I attach the printer A into vhci-wdm, I see registry enum value of printer A is "USB\VID_03F0&PID_E311&MI_01\3&171aa248&0&0001"

Registry enum value exchanged with order of attach, it didn't work as expected. I think the registry enum value may be always one-to-one correspondence with the usb device.

Then I tried the same thing with vhci-ude, It's working just fine! the registry enum value for printer A is always "USB\VID_03F0&PID_E311&MI_01\3&19b26c37&0&0001", and the registry enum value for printer B is always "USB\VID_03F0&PID_E311&MI_01\3&171aa248&0&0001".

Unfortunately, my environment had to be Windows7, I hope to try to fix this by modifying some code, Could you please give me some suggestions for reference.

Hope reply, thank you very much!

ylfc1997 commented 3 years ago

it is fixed, thank you.