-
Notifications
You must be signed in to change notification settings - Fork 47
Description
Setup
- Version: 1.3.1
- OS: Windows
Expected Behavior
We're running into an issue where on OSX, our USB devices show up in Circuits.UART.enumerate() with the actual device manufacturers, with serial numbers. We would expect the same behavior in Windows.
Actual Behavior
In Windows, the manufacturer key is coming up as (we think) the manufacturer of the device driver. For example, for one type of device, in Windows the manufacturer is "Microsoft," whereas the other device appears as "FTDi". When we look at the COM ports in usbview.exe, we see the correct manufacturer values listed under the iManufacturer key, with the serial number listed as iSerialNumber.
It looks as if the values provided by the <setupapi.h> header may be specific to the device driver, rather than the usb device information. In <usbspec.h> we see definitions for the values provided by USB.
The source code for usbview.exe shows an example for how to retrieve this information from USB.
Since UART is not just USB-specific, we weren't sure if making the change to get this info from the USB bus would be something that should or should not be added to this library. We spent a bit of time trying to get this data using more recent (Vista+) functions available from setupapi, but haven't yet found a way to do so. If you know how to do so and are ok with this change, we're happy to submit a pull request.
Thanks!