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 libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel