Hello, first I'd like to thank the libusbx developers for their work, in particular for the excellent documentation.
I am writing software for a custom USB device for Windows. The stable version of this SW is using libusb-win32 and works fine (therefore I am sure to use correct USB parameters). I want to try out libusbx/async mode to increase performance. But I encountered a very basic problem long before trying any async operation: After the standard device searching procedure and successfully opening one device, usb_claim_interface fails with rc=-3 "access denied". This is 100% reproducible. What does it mean and what can I do to avoid the problem? Thank you for your help! Gert Some details on my environment: OS: Win 7 Lib: libusbx 1.0.14 Driver: libusb0.sys 1.2.5.0 (tested with libusb-win32) Device: VID=16C0 PID=055B libusbx debug output ("calling ..." is my own debug output): calling libusb_init calling libusb_set_debug calling libusb_get_device_list [timestamp] [threadID] facility level [function call] <message> -------------------------------------------------------------------------------- [ 0.010000] [00000b7c] libusbx: debug [libusb_get_device_list] [ 0.020000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [CE] [ 0.030000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [1A] [ 0.040000] [00000b7c] libusbx: debug [get_api_type] driver(s): usbhub [ 0.040000] [00000b7c] libusbx: debug [get_api_type] matched driver name against HUB API API [ 0.050000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [3CB] [ 0.050000] [00000b7c] libusbx: debug [get_api_type] driver(s): usbhub [ 0.050000] [00000b7c] libusbx: debug [get_api_type] matched driver name against HUB API API [ 0.060000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [1EA] [ 0.060000] [00000b7c] libusbx: debug [get_api_type] driver(s): usbhub [ 0.070000] [00000b7c] libusbx: debug [get_api_type] matched driver name against HUB API API [ 0.070000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [1C2] [ 0.080000] [00000b7c] libusbx: debug [get_api_type] driver(s): usbhub [ 0.090000] [00000b7c] libusbx: debug [get_api_type] matched driver name against HUB API API [ 0.090000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [1D6] [ 0.100000] [00000b7c] libusbx: debug [windows_get_device_list] found existing device for session [3CB] (0.0) [ 0.100000] [00000b7c] libusbx: debug [init_device] (bus: 1, addr: 1, depth: 0,port: 0): '\\.\USB#ROOT_HUB20#4&2ACAADCB&0' [ 0.110000] [00000b7c] libusbx: debug [windows_get_device_list] found existing device for session [1EA] (0.0) [ 0.110000] [00000b7c] libusbx: debug [init_device] (bus: 2, addr: 1, depth: 0,port: 0): '\\.\USB#ROOT_HUB20#4&7AE31F9&0' [ 0.110000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [2B3] [ 0.130000] [00000b7c] libusbx: debug [init_device] got bus number from ancestor #2 [ 0.140000] [00000b7c] libusbx: debug [init_device] found 1 configurations (active conf: 1) [ 0.140000] [00000b7c] libusbx: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 32 bytes) [ 0.150000] [00000b7c] libusbx: debug [init_device] (bus: 2, addr: 4, depth: 1,port: 5): '\\.\USB#VID_0BDA&PID_0151#20060413092100000' [ 0.160000] [00000b7c] libusbx: debug [windows_get_device_list] allocating new device for session [E3] [ 0.170000] [00000b7c] libusbx: debug [init_device] found 1 configurations (active conf: 1) [ 0.170000] [00000b7c] libusbx: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 46 bytes) [ 0.180000] [00000b7c] libusbx: debug [init_device] (bus: 2, addr: 3, depth: 1,port: 1): '\\.\USB#VID_16C0&PID_055B#6&7A7C9B8&0&1' [ 0.180000] [00000b7c] libusbx: debug [windows_get_device_list] found existing device for session [1C2] (2.0) [ 0.190000] [00000b7c] libusbx: debug [init_device] found 1 configurations (active conf: 1) [ 0.190000] [00000b7c] libusbx: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 25 bytes) [ 0.190000] [00000b7c] libusbx: debug [init_device] (bus: 2, addr: 2, depth: 1,port: 1): '\\.\USB#VID_8087&PID_0020#5&28027EBA&0&1' [ 0.200000] [00000b7c] libusbx: debug [windows_get_device_list] found existing device for session [1D6] (0.0) [ 0.300000] [00000b7c] libusbx: debug [init_device] found 1 configurations (active conf: 1) [ 0.300000] [00000b7c] libusbx: debug [cache_config_descriptors] cached config descriptor 0 (bConfigurationValue=1, 25 bytes) [ 0.300000] [00000b7c] libusbx: debug [init_device] (bus: 1, addr: 2, depth: 1,port: 1): '\\.\USB#VID_8087&PID_0020#5&2F667F92&0&1' [ 0.300000] [00000b7c] libusbx: debug [get_api_type] driver(s): USBSTOR [ 0.310000] [00000b7c] libusbx: debug [windows_get_device_list] found existing device for session [2B3] (2.4) [ 0.310000] [00000b7c] libusbx: debug [get_api_type] driver(s): libusb0 [ 0.310000] [00000b7c] libusbx: debug [get_api_type] matched driver name against libusb0 API [ 0.310000] [00000b7c] libusbx: debug [windows_get_device_list] found existing device for session [E3] (2.3) [ 0.310000] [00000b7c] libusbx: debug [libusb_unref_device] destroy device 1.0[ 0.310000] [00000b7c] libusbx: debug [libusb_unref_device] destroy device 2.0 found 6 devices calling libusb_get_device_descriptor [ 0.320000] [00000b7c] libusbx: debug [libusb_get_device_descriptor] calling libusb_get_device_descriptor [ 0.320000] [00000b7c] libusbx: debug [libusb_get_device_descriptor] calling libusb_get_device_descriptor [ 0.320000] [00000b7c] libusbx: debug [libusb_get_device_descriptor] calling libusb_get_device_descriptor [ 0.330000] [00000b7c] libusbx: debug [libusb_get_device_descriptor] calling libusb_open [ 0.330000] [00000b7c] libusbx: debug [libusb_open] open 2.3 calling libusb_free_device_list [ 0.330000] [00000b7c] libusbx: debug [libusb_unref_device] destroy device 1.1 [ 0.330000] [00000b7c] libusbx: debug [libusb_unref_device] destroy device 2.1 [ 0.330000] [00000b7c] libusbx: debug [libusb_unref_device] destroy device 2.4 [ 0.330000] [00000b7c] libusbx: debug [libusb_unref_device] destroy device 2.2 [ 0.330000] [00000b7c] libusbx: debug [libusb_unref_device] destroy device 1.2 calling libusb_claim_interface [ 0.330000] [00000b7c] libusbx: debug [libusb_claim_interface] interface 0 [ 0.330000] [00000b7c] libusbx: error [winusbx_claim_interface] could not access interface 0: [0] Der Vorgang wurde erfolgreich beendet. libusb_claim_interface returned -3: LIBUSB_ERROR_ACCESS The german message "Der Vorgang wurde erfolgreich beendet" means "The operation was successfully completed". ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel