We have a composite device that works like a USB HUB connecting to one
device at a time.
When a new connection is made the endpoints change although the device
connection itself is not changed.
On windows we had it working with an old pre 1.0.9 version from the
pbatard repository, but upgrading to the new version 1.0.18-rc1 didn't work.
We discovered that the enpoints discovered on the first connection were
reused at all the subsequential connections which of course didn't work.
The following patch fixes the issue:
--- a/libusb/os/windows_usb.c 2014-01-09 00:55:51.000000000 +0100
+++ b/libusb/os/windows_usb.c 2014-01-23 15:30:12.000000000 +0100
@@ -1134,10 +1134,6 @@
priv->parent_dev = parent_dev;
dev->parent_dev = parent_dev;
- // If the device address is already set, we can stop here
- if (dev->device_address != 0) {
- return LIBUSB_SUCCESS;
- }
memset(&conn_info, 0, sizeof(conn_info));
if (priv->depth != 0) { // Not a HCD hub
handle = CreateFileA(parent_priv->path, GENERIC_WRITE,
FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
We sincerely hope you will accept and include the patch in the final
1.0.18 version as it will bring us back to the mainline libusb code.
Kind regards
Bent Bisballe Nyeng
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libusbx-devel