commit | d42410b21c4314143f31fd7f8494dd1d4c279663 | [log] [tgz] |
---|---|---|
author | Chris Dickens <christopher.a.dickens@gmail.com> | Mon Aug 17 14:15:10 2020 -0700 |
committer | Chris Dickens <christopher.a.dickens@gmail.com> | Mon Aug 17 14:15:10 2020 -0700 |
tree | 3794d2e69c47b9b31ef56a36c7ff11d2b83ccad1 | |
parent | aa6ec9d92e9109510650d121db7cc7bee76638a0 [diff] |
Windows: Improve how root hubs are reported Microsoft provides very little information about the actual root hub characterstics beyond the number of ports. Determining the maximum supported speed of the root hub is not directly possible but instead requires that a device matching the highest speed of the root hub is connected. Additionally, Windows 8 or later is required for _any_ successful detection of SuperSpeed devices. One other inconvenience is that there are no descriptors exposed for root hubs. This does not fit well with the structure of the library because root hubs are considered first-class devices. This change addresses some of these shortcomings. Each root hub is now given a configuration descriptor that is matched to the fastest speed detected for the root hub. The information is most accurate on Windows 8 or later, but the best information possible is constructed on earlier versions. The device descriptor is also adjusted accordingly based on the detected speed. This solution is not perfect but is better than the status quo. Closes #688 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version (see COPYING).
libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems. Please see the PORTING file for more information.
libusb homepage: http://libusb.info/
Developers will wish to consult the API documentation: http://api.libusb.info
Use the mailing list for questions, comments, etc: http://mailing-list.libusb.info
(Please use the mailing list rather than mailing developers directly)