daynix / UsbDk

Usb Drivers Development Kit for Windows
Apache License 2.0
535 stars 142 forks source link

fix usbdk stuck problem #30

Closed goldendeng closed 6 years ago

goldendeng commented 8 years ago

In the Windows 32 system, unplug USB hub when transferring files , will cause the spicy.exe block for two minutes, I found usbdk obstruction and attempted to do the modifications, can solve the problem.

dmitryfleytman commented 8 years ago

Does this problem exist when working with UsbDk 1.0.15?

goldendeng commented 8 years ago

This problem exist when working with UsbDk 1.0.15,and if WaitForDetachment() timeout ,device still not detached.I think, set the timeout period seems to have little effect.

dmitryfleytman commented 7 years ago

Do you have any idea why is it stuck in the first place, i.e. why WaitForDetachment() times out?

goldendeng commented 7 years ago

there is some log information usb unplug not stuck: 2016-08-18T08:23:21.858524Z:channel-usbredir.c:811 usbredir-9:3: usbredir_handle_msg 2016-08-18T08:23:21.858524Z:channel-usbredir.c:611 usbredir-9:3: usbredirhost: bulk complete ep 81 status 1 len 16 2016-08-18T08:23:21.938524Z:win-usb-dev.c:440 number of current devices 2, I know about 3 devices 2016-08-18T08:23:21.938524Z:win-usb-dev.c:611 <<< USB device removed: 1.2 0x0781:0x5567 class 0 2016-08-18T08:23:21.938524Z:usb-device-manager.c:1717 disconnecting device 0171C9A8 2016-08-18T08:23:21.938524Z:channel-usbredir.c:479 usbredir-9:3: disconnecting device from usb channel 02D4B168 2016-08-18T08:23:21.938524Z:channel-usbredir.c:482 usbredir-9:3: spice_usbredir_channel_disconnect_device 2016-08-18T08:23:21.938524Z:channel-usbredir.c:611 usbredir-9:3: usbredirhost: device disconnected 2016-08-18T08:23:21.938524Z:usb-device-manager.c:1004 device removed 0781:5567 (0171C9A8) 2016-08-18T08:23:21.938524Z:channel-usbredir.c:811 usbredir-9:3: usbredir_handle_msg

usb unplug stuck two minutes: 2016-08-18T07:57:49.322283Z:channel-usbredir.c:611 usbredir-9:3: usbredirhost: bulk complete ep 81 status 3 len 0 2016-08-18T07:57:49.392283Z:usbredirhost: error resetting device: LIBUSB_ERROR_NO_DEVICE 2016-08-18T07:59:49.422692Z:channel-usbredir.c:611 usbredir-9:3: usbredirhost: device disconnected 2016-08-18T07:59:49.422692Z:channel-usbredir.c:798 usbredir-9:3: SanDisk Corp. Cruzer Blade [0781:5567] at 1-2 Illegal disconnection 2016-08-18T07:59:49.422692Z:win-usb-dev.c:440 number of current devices 2, I know about 3 devices 2016-08-18T07:59:49.422692Z:win-usb-dev.c:611 <<< USB device removed: 1.2 0x0781:0x5567 class 0 2016-08-18T07:59:49.422692Z:usb-device-manager.c:1717 disconnecting device 0769DA28

so I think mabey usb-device-manager should disconnecting device first can avoid this problem.but I can't find a way to control.