On Tue, Jul 2, 2013 at 1:32 PM, Xiaofan Chen <xiaof...@gmail.com> wrote: > On Tue, Jul 2, 2013 at 11:44 AM, Xiaofan Chen <xiaof...@gmail.com> wrote: >> Sorry for the false alarm. It seems to do with using WinZIP >> to un-archive the tar.bz2 file. Using MSys utility sorted out >> the issue. Normally I am using 7-zip and/or MSys utility >> but I happened to use WinZIP this time. >> > > Some issues under Windows 7 x64 with the xusb example. > The device is ST-Link V2 using ST's WinUSB driver.
Strange. This device is actually STM32-F4 Discovery Kit with built-in ST-Link V2. I thought this may have something to do with ST's latest firmware (V2.J17.S0). So I tried to use another STM32-F0 Discovery Kit with built-in ST-Link V2 debugger with older firmware version (V2.J14.S0), then xusb works fine. Now I plugged the STM32-F4 kit again and xusb seems to work fine and I I can not reproduce the issue again. So I guess there is no problem with xusb and libusbx. C:\work\libusbx\libusbx-1.0.16-rc2\bin_mingw32>xusb 0483:3748 Using libusbx v1.0.16.10767 Opening device 0483:3748... Reading device descriptor: length: 18 device class: 0 S/N: 3 VID:PID: 0483:3748 bcdDevice: 0100 iMan:iProd:iSer: 1:2:3 nb confs: 1 Reading BOS descriptor: no descriptor Reading first configuration descriptor: nb interfaces: 1 interface[0]: id = 0 interface[0].altsetting[0]: num endpoints = 3 Class.SubClass.Protocol: FF.FF.FF endpoint[0].address: 81 max packet size: 0040 polling interval: 00 endpoint[1].address: 02 max packet size: 0040 polling interval: 00 endpoint[2].address: 83 max packet size: 0040 polling interval: 00 Claiming interface 0... Reading string descriptors: String (0x01): "STMicroelectronics" String (0x02): "STM32 STLink" String (0x03): "I?s♠I?QQ7↨◄?" Releasing interface 0... Closing device... [debug log] [skipped the earlier part] ... Reading device descriptor: [ 1.363136] [00000b74] libusbx: debug [libusb_get_device_descriptor] length: 18 device class: 0 S/N: 3 VID:PID: 0483:3748 bcdDevice: 0100 iMan:iProd:iSer: 1:2:3 nb confs: 1 Reading BOS descriptor: [ 1.366137] [00000b74] libusbx: debug [libusb_claim_interface] interface 0 [ 1.366137] [00000b74] libusbx: debug [winusbx_claim_interface] claimed interface 0 [ 1.366137] [00000b74] libusbx: debug [libusb_get_config_descriptor] index 0 [ 1.366137] [00000b74] libusbx: debug [windows_assign_endpoints] (re)assigned endpoint 81 to interface 0 [ 1.367137] [00000b74] libusbx: debug [windows_assign_endpoints] (re)assigned endpoint 02 to interface 0 [ 1.367137] [00000b74] libusbx: debug [windows_assign_endpoints] (re)assigned endpoint 83 to interface 0 [ 1.367137] [00000b74] libusbx: debug [auto_claim] auto-claimed interface 0 for control request [ 1.367137] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.368137] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.368137] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.997433s [ 1.368137] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.369137] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 998ms [ 1.370137] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.370137] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.370137] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.370137] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.371137] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.371137] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O completion with errcode 31, size 0 [ 1.371137] [00000b74] libusbx: debug [windows_transfer_callback] detected endpoint stall [ 1.372137] [00000b74] libusbx: debug [libusb_release_interface] interface 0 [ 1.372137] [00000b74] libusbx: debug [auto_release] auto-released interface 0 [ 1.372137] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.372137] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=0 no descriptor Reading first configuration descriptor: [ 1.373137] [00000b74] libusbx: debug [libusb_get_config_descriptor] index 0 nb interfaces: 1 interface[0]: id = 0 interface[0].altsetting[0]: num endpoints = 3 Class.SubClass.Protocol: FF.FF.FF endpoint[0].address: 81 max packet size: 0040 polling interval: 00 endpoint[1].address: 02 max packet size: 0040 polling interval: 00 endpoint[2].address: 83 max packet size: 0040 polling interval: 00 Claiming interface 0... [ 1.376138] [00000b74] libusbx: debug [libusb_claim_interface] interface 0 [ 1.377138] [00000b74] libusbx: debug [winusbx_claim_interface] claimed interfac e 0 [ 1.377138] [00000b74] libusbx: debug [libusb_get_config_descriptor] index 0 [ 1.377138] [00000b74] libusbx: debug [windows_assign_endpoints] (re)assigned en dpoint 81 to interface 0 [ 1.378138] [00000b74] libusbx: debug [windows_assign_endpoints] (re)assigned en dpoint 02 to interface 0 [ 1.378138] [00000b74] libusbx: debug [windows_assign_endpoints] (re)assigned en dpoint 83 to interface 0 Reading string descriptors: [ 1.380138] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.380138] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.381138] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.998717s [ 1.381138] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] d oing our own event handling [ 1.381138] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 999ms [ 1.381138] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.382138] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.382138] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.382138] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.383138] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.383138] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O c ompletion with errcode 0, size 4 [ 1.383138] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.384138] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=4 [ 1.384138] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.384138] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.384138] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.999572s [ 1.385138] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.385138] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 1000ms [ 1.385138] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.385138] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.385138] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.386139] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.386139] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.386139] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 38 [ 1.387139] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.387139] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=38 String (0x01): "STMicroelectronics" [ 1.388139] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.388139] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.388139] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.999144s [ 1.390139] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.390139] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 1000ms [ 1.390139] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.390139] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.390139] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.391139] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.391139] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.391139] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O c ompletion with errcode 0, size 4 [ 1.392139] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.392139] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=4 [ 1.392139] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.392139] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.393139] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.999145s [ 1.393139] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.393139] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 1000ms [ 1.395139] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.395139] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.395139] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.396140] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.396140] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.396140] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 26 [ 1.397140] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.397140] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=26 String (0x02): "STM32 STLink" [ 1.398140] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.398140] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.398140] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.999144s [ 1.400140] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] d oing our own event handling [ 1.401140] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 1000ms [ 1.401140] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.401140] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.401140] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.402140] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.402140] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.402140] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 1.402140] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.403140] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=4 [ 1.403140] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.403140] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.404140] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.999573s [ 1.404140] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.404140] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 1000ms [ 1.406141] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.406141] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.406141] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.406141] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.407141] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.407141] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 26 [ 1.407141] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.408141] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=26 String (0x03): "I?s♠I?QQ7↨◄?" [ 1.408141] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.409141] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.409141] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.999572s [ 1.409141] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] d oing our own event handling [ 1.409141] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 1000ms [ 1.409141] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.410141] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.411141] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.411141] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.411141] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.412141] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O completion with errcode 0, size 4 [ 1.412141] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.412141] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=4 [ 1.413141] [00000b74] libusbx: debug [winusbx_submit_control_transfer] will use interface 0 [ 1.413141] [00000b74] libusbx: debug [usbi_add_pollfd] add fd 2 events 1 [ 1.414141] [00000b74] libusbx: debug [libusb_get_next_timeout] next timeout in 0.999573s [ 1.414141] [00000b74] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 1.414141] [00000b74] libusbx: debug [handle_events] poll() 3 fds with timeout in 1000ms [ 1.414141] [00000b74] libusbx: debug [handle_events] poll() returned 1 [ 1.416142] [00000b74] libusbx: debug [windows_handle_events] checking fd 0 with revents = 0000 [ 1.416142] [00000b74] libusbx: debug [windows_handle_events] checking fd 1 with revents = 0000 [ 1.416142] [00000b74] libusbx: debug [windows_handle_events] checking fd 2 with revents = 0001 [ 1.416142] [00000b74] libusbx: debug [usbi_remove_pollfd] remove fd 2 [ 1.416142] [00000b74] libusbx: debug [windows_transfer_callback] handling I/O completion with errcode 31, size 0 [ 1.417142] [00000b74] libusbx: debug [windows_transfer_callback] detected endpoint stall [ 1.417142] [00000b74] libusbx: debug [usbi_handle_transfer_completion] transfer 00968510 has callback 6b6064e4 [ 1.417142] [00000b74] libusbx: debug [sync_transfer_cb] actual_length=0 Releasing interface 0... [ 1.418142] [00000b74] libusbx: debug [libusb_release_interface] interface 0 Closing device... [ 1.418142] [00000b74] libusbx: debug [libusb_close] [ 1.419142] [00000b74] libusbx: debug [libusb_unref_device] destroy device 2.5 [ 1.419142] [00000b74] libusbx: debug [libusb_unref_device] destroy device 2.2 [ 1.419142] [00000b74] libusbx: debug [libusb_unref_device] destroy device 2.3 [ 1.419142] [00000b74] libusbx: debug [libusb_unref_device] destroy device 2.1 [ 1.419142] [00000b74] libusbx: debug [libusb_unref_device] destroy device 2.0 [ 1.421142] [00000b74] libusbx: debug [libusb_exit] [ 1.421142] [00000b74] libusbx: debug [libusb_exit] destroying default context -- Xiaofan ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel