Hi there,
I've got a little test program that I'm running against a device I have,
which is supported by the winusb driver. Here's my little test program:
int main(int argc, char* argv[]) {
libusb_context* ctx;
libusb_device_handle* dev_handle;
libusb_init(&ctx);
libusb_set_debug(ctx, 4);
dev_handle = libusb_open_device_with_vid_pid(ctx, 0x1050, 0x0211);
printf("dev_handle %p\n", dev_handle);
if (dev_handle) libusb_close(dev_handle);
libusb_exit(ctx);
return 0;
}
The program produces the following output when my device is inserted into a
USB 3.0 port:
[timestamp] [threadID] facility level [function call] <message>
--------------------------------------------------------------------------------
[ 0.013003] [00001f10] libusbx: debug [libusb_get_device_list]
[ 0.013003] [000003c0] libusbx: debug [windows_clock_gettime_threaded]
hires timer available (Frequency: 3117519 Hz)
[ 0.018004] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [179]
[ 0.018004] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [3D]
[ 0.019004] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [27F]
[ 0.025005] [00001f10] libusbx: debug [get_api_type] driver(s): usbhub
[ 0.026005] [00001f10] libusbx: debug [get_api_type] matched driver name
against HUB API API
[ 0.026005] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [247]
[ 0.028006] [00001f10] libusbx: debug [get_api_type] driver(s): usbhub
[ 0.029006] [00001f10] libusbx: debug [get_api_type] matched driver name
against HUB API API
[ 0.030006] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [2B4]
[ 0.032007] [00001f10] libusbx: debug [get_api_type] driver(s): tihub3
[ 0.033007] [00001f10] libusbx: debug [get_api_type] matched driver name
against HUB API API
[ 0.034007] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [29B]
[ 0.036007] [00001f10] libusbx: debug [get_api_type] driver(s): usbhub
[ 0.037008] [00001f10] libusbx: debug [get_api_type] matched driver name
against HUB API API
[ 0.037008] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [10A]
[ 0.039008] [00001f10] libusbx: debug [get_api_type] driver(s): usbhub
[ 0.040008] [00001f10] libusbx: debug [get_api_type] matched driver name
against HUB API API
[ 0.040008] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [279]
[ 0.042009] [00001f10] libusbx: debug [get_api_type] driver(s): usbhub
[ 0.043009] [00001f10] libusbx: debug [get_api_type] matched driver name
against HUB API API
[ 0.043009] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [2B2]
[ 0.048010] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [247] (0.0)
[ 0.048010] [00001f10] libusbx: debug [init_device] (bus: 3, addr: 1,
depth: 0, port: 0): '\\.\USB#ROOT_HUB20#4&1BAB59D6&0'
[ 0.049010] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [2B4] (0.0)
[ 0.050010] [00001f10] libusbx: debug [init_device] (bus: 2, addr: 1,
depth: 0, port: 0): '\\.\USB#ROOT_HUB20#4&2C77CACF&0'
[ 0.051010] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [29B] (0.0)
[ 0.051010] [00001f10] libusbx: debug [init_device] (bus: 1, addr: 1,
depth: 0, port: 0): '\\.\USB#VID_040E&PID_0100&TIUSBD_HUB#5&837DAB&0&0'
[ 0.053011] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [10A] (0.0)
[ 0.053011] [00001f10] libusbx: debug [init_device] got bus number from
ancestor #2
[ 0.055011] [00001f10] libusbx: debug [init_device] found 1 configurations
(active conf: 1)
[ 0.056011] [00001f10] libusbx: debug [cache_config_descriptors] cached
config descriptor 0 (bConfigurationValue=1, 41 bytes)
[ 0.057012] [00001f10] libusbx: debug [init_device] (bus: 2, addr: 3,
depth: 1, port: 3): '\\.\USB#VID_0424&PID_2524#6&14E7113&0&3'
[ 0.059012] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [42]
[ 0.059012] [00001f10] libusbx: debug [init_device] found 1 configurations
(active conf: 1)
[ 0.062013] [00001f10] libusbx: debug [cache_config_descriptors] cached
config descriptor 0 (bConfigurationValue=1, 34 bytes)
[ 0.063013] [00001f10] libusbx: debug [init_device] (bus: 2, addr: 6,
depth: 2, port: 3): '\\.\USB#VID_0461&PID_4D81#7&D8FC2FA&1&3'
[ 0.064013] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [2A2]
[ 0.064013] [00001f10] libusbx: debug [init_device] found 1 configurations
(active conf: 1)
[ 0.068014] [00001f10] libusbx: debug [cache_config_descriptors] cached
config descriptor 0 (bConfigurationValue=1, 34 bytes)
[ 0.068014] [00001f10] libusbx: debug [init_device] (bus: 2, addr: 2,
depth: 2, port: 2): '\\.\USB#VID_050D&PID_3201#7&D8FC2FA&1&2'
[ 0.069014] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [19D]
[ 0.070014] [00001f10] libusbx: error [init_device] device
'\\.\USB#VID_1050&PID_0211#6&BB8218&0&3' is no longer connected!
[ 0.071014] [00001f10] libusbx: debug [windows_get_device_list] allocating
new device for session [33B]
[ 0.072015] [00001f10] libusbx: debug [init_device] found 1 configurations
(active conf: 1)
[ 0.075015] [00001f10] libusbx: debug [cache_config_descriptors] cached
config descriptor 0 (bConfigurationValue=1, 34 bytes)
[ 0.076015] [00001f10] libusbx: debug [init_device] (bus: 2, addr: 5,
depth: 2, port: 4): '\\.\USB#VID_413C&PID_2106#7&D8FC2FA&1&4'
[ 0.077016] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [279] (2.0)
[ 0.077016] [00001f10] libusbx: debug [init_device] found 1 configurations
(active conf: 1)
[ 0.078016] [00001f10] libusbx: debug [cache_config_descriptors] cached
config descriptor 0 (bConfigurationValue=1, 25 bytes)
[ 0.079016] [00001f10] libusbx: debug [init_device] (bus: 2, addr: 4,
depth: 1, port: 1): '\\.\USB#VID_8087&PID_0024#5&2E247D96&0&1'
[ 0.081016] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [2B2] (0.0)
[ 0.082017] [00001f10] libusbx: debug [init_device] found 1 configurations
(active conf: 1)
[ 0.083017] [00001f10] libusbx: debug [cache_config_descriptors] cached
config descriptor 0 (bConfigurationValue=1, 25 bytes)
[ 0.084017] [00001f10] libusbx: debug [init_device] (bus: 3, addr: 3,
depth: 1, port: 1): '\\.\USB#VID_8087&PID_0024#5&3541780&0&1'
[ 0.085017] [00001f10] libusbx: debug [discovered_devs_append] need to
increase capacity
[ 0.090018] [00001f10] libusbx: debug [get_api_type] driver(s): HidUsb
[ 0.091018] [00001f10] libusbx: debug [get_api_type] matched driver name
against HID API API
[ 0.091018] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [42] (2.6)
[ 0.092019] [00001f10] libusbx: debug [get_api_type] driver(s): HidUsb
[ 0.093019] [00001f10] libusbx: debug [get_api_type] matched driver name
against HID API API
[ 0.094019] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [2A2] (2.2)
[ 0.096019] [00001f10] libusbx: debug [get_api_type] driver(s): WINUSB
[ 0.097020] [00001f10] libusbx: debug [get_api_type] matched driver name
against WinUSB API
[ 0.098020] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [19D] (1.0)
[ 0.099020] [00001f10] libusbx: debug [get_api_type] driver(s): HidUsb
[ 0.100020] [00001f10] libusbx: debug [get_api_type] matched driver name
against HID API API
[ 0.102021] [00001f10] libusbx: debug [windows_get_device_list] found
existing device for session [33B] (2.5)
[ 0.105021] [00001f10] libusbx: debug [windows_get_device_list] setting HID
interface for [42]:
[ 0.105021] [00001f10] libusbx: debug [set_hid_interface] interface[0] =
\\.\HID#VID_0461&PID_4D81#8&5BAB845&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
[ 0.106021] [00001f10] libusbx: debug [windows_get_device_list] setting HID
interface for [2A2]:
[ 0.106021] [00001f10] libusbx: debug [set_hid_interface] interface[0] =
\\.\HID#VID_050D&PID_3201&COL01#8&26A754C6&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030
}
[ 0.109022] [00001f10] libusbx: debug [windows_get_device_list] setting HID
interface for [2A2]:
[ 0.110022] [00001f10] libusbx: debug [set_hid_interface] interface[1] =
\\.\HID#VID_050D&PID_3201&COL02#8&26A754C6&0&0001#{4D1E55B2-F16F-11CF-88CB-001111000030
}
[ 0.113023] [00001f10] libusbx: debug [windows_get_device_list] setting HID
interface for [33B]:
[ 0.114023] [00001f10] libusbx: debug [set_hid_interface] interface[0] =
\\.\HID#VID_413C&PID_2106#8&33D10257&0&0000#{4D1E55B2-F16F-11CF-88CB-001111000030}
[ 0.116023] [00001f10] libusbx: debug [libusb_unref_device] destroy device
1.0
[ 0.118024] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.119024] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.120024] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.121024] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.122025] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.124025] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.125025] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.126025] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.128026] [00001f10] libusbx: debug [libusb_get_device_descriptor]
[ 0.129026] [00001f10] libusbx: debug [libusb_unref_device] destroy device
1.1
[ 0.130026] [00001f10] libusbx: debug [libusb_unref_device] destroy device
1.0
[ 0.132027] [00001f10] libusbx: debug [libusb_unref_device] destroy device
2.6
[ 0.133027] [00001f10] libusbx: debug [libusb_unref_device] destroy device
2.2
[ 0.134027] [00001f10] libusbx: debug [libusb_unref_device] destroy device
2.5
[ 0.136027] [00001f10] libusbx: debug [libusb_unref_device] destroy device
2.3
[ 0.137028] [00001f10] libusbx: debug [libusb_unref_device] destroy device
2.4
[ 0.138028] [00001f10] libusbx: debug [libusb_unref_device] destroy device
2.1
[ 0.140028] [00001f10] libusbx: debug [libusb_unref_device] destroy device
2.0
[ 0.141028] [00001f10] libusbx: debug [libusb_unref_device] destroy device
3.3
[ 0.142029] [00001f10] libusbx: debug [libusb_unref_device] destroy device
3.1
[ 0.144029] [00001f10] libusbx: debug [libusb_unref_device] destroy device
3.0
dev_handle 00000000
[ 0.146029] [00001f10] libusbx: debug [libusb_exit]
[ 0.148030] [00001f10] libusbx: debug [libusb_exit] destroying default
context
Naturally it succeeds when the device is inserted in a USB 2.0 port. I've
verified the problem on an HP z420 with a TI USB 3.0 controller/drivers,
and on a ThinkPad T430 with Intel-provided controller/drivers.
Any idea what gives? Thanks,
--Juan
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel