Closed tsailer closed 7 years ago
Did it work with UsbDk 1.0.16?
Could you please post log of libusbx for the problematic case?
1.0.16 works
[ 0.000000] [00000d44] libusb: debug [libusb_init] created default context [ 0.000000] [00000d44] libusb: debug [libusb_init] libusb v1.0.21.11156 [ 0.000000] [00000d44] libusb: debug [setup_cancel_io] Will use CancelIoEx for I/O cancellation [ 0.000000] [00000d44] libusb: debug [windows_init_clock] hires timer available (Frequency: 2240966 Hz) [ 0.000000] [00000d44] libusb: debug [windows_init_clock] timer thread will run on core #0 [ 0.000000] [00000d44] libusb: debug [htab_create] using 1021 entries hash table [ 0.000000] [00000d44] libusb: debug [usbi_add_pollfd] add fd 0 events 1 [ 0.000000] [00000d44] libusb: debug [libusb_get_device_list] [ 0.000000] [00000d44] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00000d44] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00000d44] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00000d44] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00000d44] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00000d44] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00000d44] libusb: debug [libusb_unref_device] destroy device 1.2 [ 0.000000] [00000d44] libusb: debug [libusb_unref_device] destroy device 2.4 [ 0.000000] [00000d44] libusb: debug [libusb_unref_device] destroy device 2.7 [ 0.000000] [00000d44] libusb: debug [libusb_unref_device] destroy device 2.8 [ 0.000000] [00000d44] libusb: debug [libusb_open] open 7.3 [ 0.200028] [00000d44] libusb: debug [libusb_get_device_descriptor] [ 0.200028] [00000d44] libusb: debug [libusb_alloc_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_submit_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200028] [00000d44] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200028] [00000d44] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200028] [00000d44] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200028] [00000d44] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200028] [00000d44] libusb: debug [handle_events] poll() returned 1 [ 0.200028] [00000d44] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200028] [00000d44] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200028] [00000d44] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 0.200028] [00000d44] libusb: debug [usbi_handle_transfer_completion] transfer 00000000013DBB68 has callback 000000006B607750 [ 0.200028] [00000d44] libusb: debug [sync_transfer_cb] actual_length=4 [ 0.200028] [00000d44] libusb: debug [libusb_free_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_alloc_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_submit_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200028] [00000d44] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200028] [00000d44] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200028] [00000d44] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200028] [00000d44] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200028] [00000d44] libusb: debug [handle_events] poll() returned 1 [ 0.200028] [00000d44] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200028] [00000d44] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200028] [00000d44] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 18 [ 0.200028] [00000d44] libusb: debug [usbi_handle_transfer_completion] transfer 00000000013DBB68 has callback 000000006B607750 [ 0.200028] [00000d44] libusb: debug [sync_transfer_cb] actual_length=18 [ 0.200028] [00000d44] libusb: debug [libusb_free_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_alloc_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_submit_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200028] [00000d44] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200028] [00000d44] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200028] [00000d44] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200028] [00000d44] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200028] [00000d44] libusb: debug [handle_events] poll() returned 1 [ 0.200028] [00000d44] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200028] [00000d44] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200028] [00000d44] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 0.200028] [00000d44] libusb: debug [usbi_handle_transfer_completion] transfer 00000000013DBB68 has callback 000000006B607750 [ 0.200028] [00000d44] libusb: debug [sync_transfer_cb] actual_length=4 [ 0.200028] [00000d44] libusb: debug [libusb_free_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_alloc_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_submit_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200028] [00000d44] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200028] [00000d44] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200028] [00000d44] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200028] [00000d44] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200028] [00000d44] libusb: debug [handle_events] poll() returned 1 [ 0.200028] [00000d44] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200028] [00000d44] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200028] [00000d44] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 44 [ 0.200028] [00000d44] libusb: debug [usbi_handle_transfer_completion] transfer 00000000013DBB68 has callback 000000006B607750 [ 0.200028] [00000d44] libusb: debug [sync_transfer_cb] actual_length=44 [ 0.200028] [00000d44] libusb: debug [libusb_free_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_alloc_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_submit_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200028] [00000d44] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200028] [00000d44] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200028] [00000d44] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200028] [00000d44] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200028] [00000d44] libusb: debug [handle_events] poll() returned 1 [ 0.200028] [00000d44] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200028] [00000d44] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200028] [00000d44] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 0.200028] [00000d44] libusb: debug [usbi_handle_transfer_completion] transfer 00000000013DBB68 has callback 000000006B607750 [ 0.200028] [00000d44] libusb: debug [sync_transfer_cb] actual_length=4 [ 0.200028] [00000d44] libusb: debug [libusb_free_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_alloc_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [libusb_submit_transfer] transfer 00000000013DBB68 [ 0.200028] [00000d44] libusb: debug [usbi_add_pollfd] add fd 1 events 1
Another trace
[ 0.000000] [00002820] libusb: debug [libusb_init] created default context [ 0.000000] [00002820] libusb: debug [libusb_init] libusb v1.0.21.11156 [ 0.000000] [00002820] libusb: debug [setup_cancel_io] Will use CancelIoEx for I/O cancellation [ 0.000000] [00002820] libusb: debug [windows_init_clock] hires timer available (Frequency: 2240966 Hz) [ 0.000000] [00002820] libusb: debug [windows_init_clock] timer thread will run on core #0 [ 0.000000] [00002820] libusb: debug [htab_create] using 1021 entries hash table [ 0.000000] [00002820] libusb: debug [usbi_add_pollfd] add fd 0 events 1 [ 0.000000] [00002820] libusb: debug [libusb_get_device_list] [ 0.000000] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.000000] [00002820] libusb: debug [libusb_unref_device] destroy device 1.2 [ 0.000000] [00002820] libusb: debug [libusb_unref_device] destroy device 2.4 [ 0.000000] [00002820] libusb: debug [libusb_unref_device] destroy device 2.7 [ 0.000000] [00002820] libusb: debug [libusb_unref_device] destroy device 2.8 [ 0.000000] [00002820] libusb: debug [libusb_open] open 7.3 [ 0.200034] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.200034] [00002820] libusb: debug [libusb_alloc_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_submit_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200034] [00002820] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200034] [00002820] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200034] [00002820] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200034] [00002820] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200034] [00002820] libusb: debug [handle_events] poll() returned 1 [ 0.200034] [00002820] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200034] [00002820] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 0.200034] [00002820] libusb: debug [usbi_handle_transfer_completion] transfer 000000000418D658 has callback 000000006B607750 [ 0.200034] [00002820] libusb: debug [sync_transfer_cb] actual_length=4 [ 0.200034] [00002820] libusb: debug [libusb_free_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_alloc_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_submit_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200034] [00002820] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200034] [00002820] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200034] [00002820] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200034] [00002820] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200034] [00002820] libusb: debug [handle_events] poll() returned 1 [ 0.200034] [00002820] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200034] [00002820] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 18 [ 0.200034] [00002820] libusb: debug [usbi_handle_transfer_completion] transfer 000000000418D658 has callback 000000006B607750 [ 0.200034] [00002820] libusb: debug [sync_transfer_cb] actual_length=18 [ 0.200034] [00002820] libusb: debug [libusb_free_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_alloc_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_submit_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200034] [00002820] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200034] [00002820] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200034] [00002820] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200034] [00002820] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200034] [00002820] libusb: debug [handle_events] poll() returned 1 [ 0.200034] [00002820] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200034] [00002820] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 0.200034] [00002820] libusb: debug [usbi_handle_transfer_completion] transfer 000000000418D658 has callback 000000006B607750 [ 0.200034] [00002820] libusb: debug [sync_transfer_cb] actual_length=4 [ 0.200034] [00002820] libusb: debug [libusb_free_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_alloc_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_submit_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200034] [00002820] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200034] [00002820] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200034] [00002820] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200034] [00002820] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200034] [00002820] libusb: debug [handle_events] poll() returned 1 [ 0.200034] [00002820] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200034] [00002820] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 44 [ 0.200034] [00002820] libusb: debug [usbi_handle_transfer_completion] transfer 000000000418D658 has callback 000000006B607750 [ 0.200034] [00002820] libusb: debug [sync_transfer_cb] actual_length=44 [ 0.200034] [00002820] libusb: debug [libusb_free_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_alloc_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_submit_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200034] [00002820] libusb: debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200034] [00002820] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200034] [00002820] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200034] [00002820] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200034] [00002820] libusb: debug [handle_events] poll() returned 1 [ 0.200034] [00002820] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200034] [00002820] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 0.200034] [00002820] libusb: debug [usbi_handle_transfer_completion] transfer 000000000418D658 has callback 000000006B607750 [ 0.200034] [00002820] libusb: debug [sync_transfer_cb] actual_length=4 [ 0.200034] [00002820] libusb: debug [libusb_free_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_alloc_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_submit_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [usbi_add_pollfd] add fd 1 events 1 [ 0.200034] [00002820] libusb:Targets: 00000003 debug [libusb_get_next_timeout] next timeout in 1.000000s [ 0.200034] [00002820] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.200034] [00002820] libusb: debug [handle_events] poll fds modified, reallocating [ 0.200034] [00002820] libusb: debug [handle_events] poll() 2 fds with timeout in 1000ms [ 0.200034] [00002820] libusb: debug [handle_events] poll() returned 1 [ 0.200034] [00002820] libusb: debug [windows_handle_events] checking fd 1 with revents = 0001 [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 1 [ 0.200034] [00002820] libusb: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 22 [ 0.200034] [00002820] libusb: debug [usbi_handle_transfer_completion] transfer 000000000418D658 has callback 000000006B607750 [ 0.200034] [00002820] libusb: debug [sync_transfer_cb] actual_length=22 [ 0.200034] [00002820] libusb: debug [libusb_free_transfer] transfer 000000000418D658 [ 0.200034] [00002820] libusb: debug [libusb_close] [ 0.200034] [00002820] libusb: debug [libusb_open] open 41.3 [ 0.200034] [00002820] libusb: error [usbdk_open] Redirector startup failed [ 0.200034] [00002820] libusb: debug [libusb_open] open 41.3 returns -99 [ 0.200034] [00002820] libusb: debug [libusb_unref_device] destroy device 7.3 [ 0.200034] [00002820] libusb: debug [libusb_unref_device] destroy device 41.3 [ 0.200034] [00002820] libusb: debug [libusb_exit] [ 0.200034] [00002820] libusb: debug [libusb_exit] destroying default context [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 0 [ 0.200034] [0000295c] libusb: debug [windows_clock_gettime_threaded] timer thread quitting [ 0.200034] [00002820] libusb: debug [libusb_init] created default context [ 0.200034] [00002820] libusb: debug [libusb_init] libusb v1.0.21.11156 [ 0.200034] [00002820] libusb: debug [setup_cancel_io] Will use CancelIoEx for I/O cancellation [ 0.200034] [00002820] libusb: debug [windows_init_clock] hires timer available (Frequency: 2240966 Hz) [ 0.200034] [00002820] libusb: debug [windows_init_clock] timer thread will run on core #0 [ 0.200034] [00002820] libusb: debug [htab_create] using 1021 entries hash table [ 0.200034] [00002820] libusb: debug [usbi_add_pollfd] add fd 0 events 1 [ 0.200034] [00002820] libusb: debug [libusb_get_device_list] [ 0.200034] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.200034] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.200034] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.200034] [00002820] libusb: debug [libusb_get_device_descriptor] [ 0.200034] [00002820] libusb: debug [libusb_unref_device] destroy device 1.2 [ 0.200034] [00002820] libusb: debug [libusb_unref_device] destroy device 2.4 [ 0.200034] [00002820] libusb: debug [libusb_unref_device] destroy device 2.7 [ 0.200034] [00002820] libusb: debug [libusb_unref_device] destroy device 2.8 [ 0.200034] [00002820] libusb: debug [libusb_exit] [ 0.200034] [00002820] libusb: debug [libusb_exit] destroying default context [ 0.200034] [00002820] libusb: debug [usbi_remove_pollfd] remove fd 0 [ 0.200034] [000012d0] libusb: debug [windows_clock_gettime_threaded] timer thread quitting
Hmmm, that is interesting. Could you please also provide UsbDk traces for case when devices appear in the list and cases when they don't. It is important to have UsbDk device trace from device plug and until libusb_get_device_list return.
(As usually see this for instructions on trace collection)
Thanks in advance, Dmitry
Non-working case
Working... UsbDkTrace.zip
any news?
Hi,
Not yet.
Sorry for the delay, we are busy with Win10 support and a bunch of other tasks. This bug is next in the queue.
~Dmitry
any news?
We do not reproduce any problem with similar FTDI device. Something is definitely going wrong as FTDIBUS... device shall not be listed under UsbDk controller. Can you please provide additional info (no spice connection required):
Thanks
Are these screenshots for USB\VID_0403&PID_6010&MI_00 and USB\VID_0403&PID_6010&MI_01? Do we understand it correctly that on the same UsbDk version 1.0-17 the redirection sometimes works, sometimes does not?
Yes.
I did some further experiments, it seems to be timing sensitive. A delay of about 300ms between enumerating and connecting seems to make it work
https://drive.google.com/file/d/0B9gp3tZmgMhdMmVtX3pRZ1pYQlE/view?usp=sharing
Please try this private build of UsbDk. It requires test signing to be enabled on the machine (see readme.txt inside). If it does not fix the problem, please do the record as was done earlier.
I don't see any change in behaviour...
Without delay usbdknotworking.zip
With 300ms delay usbdkworking.zip
Can you please verify that installed UsbDk is this one. Due to some reason one of records dated March 1. What is the timestamp of %windir%\system32\drivers\usbdk.sys? Are you working with Win7 x86 or x64?
Additionally: please provide the result of "usbdkcontroller.exe -n"
I'm quite sure the latest logs provided are done with UsbDk driver 1.0-17 and not with private version. Please recheck.
Timestamp: Created: Yesterday, 28. März 2017, 13:03:36 Modified: Montag, 27. März 2017, 19:02:04 Signature: WDKTestCert yuri.benditovich,131140395240021131 File Size: 80'960 bytes
So it looks to me like it was indeed the test version.
This is Win7 x64
./UsbDkController.exe -n Enumerate USB devices Found 5 USB devices:
Now, it seems OK and FTDIBUS device is not enumerated (as it should be). If the functional problem still happens (as it was with 1.0-17), please make a record when redirection does not work and (if possible) when it does. Previous records were done with 1.0-17 (I can see it by trace events that are different in test version). Thanks, Yuri
usbdkworking.zip and usbdknotworking.zip are identical, the file contains inside zip with logs from UsbDk-1.0-17 dated March 1
I would suggest to keep old ETL files aside and then delete them before making record.
Can you please attach the image of this specific model of FTDI device?
With private build of UsbDk is it still happens the FTDI device is enumerated in UsbDkController and not visible in lubusb list? Can you please describe exactly what you do via libusb?
I'm experiencing the same problem. Listing devices with libusb using UsbDk as a driver sometimes misses some device. It's very erratic. I'm doing something very simple : scan devices using libusb, and open the one I'm interested in if I find it. I noticed that doing that same routine twice in a row will work the first time and fail the second one.
Hi @Ecco ,
It looks like you experience the same problem as #43, please see my comments there for explanations and possible solutions.
Dmitry
@dmitryfleytman That seems like a very good explanation. Several thins:
Would that mean that this issue (#39) is just another manifestation of the same root cause as #43?
We are not sure yet. Waiting for answers from @tsailer...
@dmitryfleytman Ooops sorry, I edited my comment while you were replying. Please see udpated version above.
@Ecco
Hi @tsailer
Did you have a chance to check the private build provided by Yuri (https://github.com/daynix/UsbDk/issues/39#issuecomment-290565168).
Thanks, Dmitry
Hi @dmitryfleytman,
please see the logs in the comment from March 29
Thanks, Thomas
This issue is the same as https://github.com/daynix/UsbDk/issues/43 The root cause is commit https://github.com/daynix/UsbDk/commit/848bb79ac2379c1ce0681088320f4ae504f2bce3 that increases the time between libusb_close() and device availability for next redirect operation. Even before the change it was not guaranteed that the device is available immediately after libusb_close() returns. After deep internal discussion we decided to keep the behavior as it is in 0.17 and up. External applications using libusb should either wait for hotplug event related to the device of interest or wait for the device to re-appear in libusb device list. After that, libusb_open() will work as expected.
With UsbDk 1.0.17:
./UsbDkController.exe -n Enumerate USB devices Found 6 USB devices:
Output from libusb_get_device_list: index 0 vendor 0x8087 product 0x8001 index 1 vendor 0x8087 product 0x0a2a index 2 vendor 0x1bcf product 0x2b8d index 3 vendor 0x0a5c product 0x5804
This is with the fedora mingw libusbx. Name : mingw64-libusbx Version : 1.0.21 Release : 1.fc25 Architecture: noarch Install Date: Mon 27 Feb 2017 02:35:09 PM CET Group : Unspecified Size : 333790 License : LGPLv2+ Signature : RSA/SHA256, Sat 29 Oct 2016 03:58:53 PM CEST, Key ID 4089d8f2fdb19c98 Source RPM : mingw-libusbx-1.0.21-1.fc25.src.rpm Build Date : Sat 29 Oct 2016 03:56:47 PM CEST Build Host : buildvm-22.phx2.fedoraproject.org Relocations : (not relocatable) Packager : Fedora Project Vendor : Fedora Project URL : http://libusbx.org/ Summary : MinGW library which allows userspace access to USB devices Description : This package contains the header files and libraries needed to develop applications that use libusbx.
This is on Windows 7. It is somewhat erratic, sometimes the ftdi devices are there, more often however not.