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

Reply via email to