chrome.usb currently doesn't provide a way to obtain the bcdDevice field value (see <http://libusb.sourceforge.net/api-1.0/structlibusb__device__descriptor.html#afb5e0fc6f0cfe51de900d35506fb9317>). Adding this field to the chrome.usb.Device type (<https://developer.chrome.com/apps/usb#type-Device>) and returning it from the getDevices method could be helpful. One particular reason for supporting this field is that some existing software (for instance, the USB smart card readers driver CCID - see <http://pcsclite.alioth.debian.org/ccid.html>) use it for distinguishing between different versions of the same device and for conditional enabling of some special code paths necessary for some specific old versions.
assigning to reillyg@ for triage.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a8a7407bab1e16cf519cb84eb73eb3c030f87528 commit a8a7407bab1e16cf519cb84eb73eb3c030f87528 Author: reillyg <reillyg@chromium.org> Date: Thu Apr 07 02:20:29 2016 Include USB device version in chrome.usb.Device fields. This field is sometimes necessary to determine the protocol supported by a device as it may change from one version of a device with the same vendor and product ID pair to the next. While plumbing this through //device/usb this patch also adds a number of other device descriptor fields that are exposed through the Mojo interface but weren't actually hooked up. BUG= 598825 TBR=yurys@chromium.org Review URL: https://codereview.chromium.org/1857033002 Cr-Commit-Position: refs/heads/master@{#385617} [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/chrome/browser/devtools/device/usb/android_usb_browsertest.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/android/java/src/org/chromium/device/usb/ChromeUsbDevice.java [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/mock_usb_device.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/mojo/type_converters.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/usb_device.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/usb_device.h [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/usb_device_android.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/usb_device_android.h [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/usb_device_impl.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/usb_device_impl.h [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/device/usb/usb_service_impl.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/extensions/browser/api/usb/usb_guid_map.cc [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/extensions/common/api/usb.idl [modify] https://crrev.com/a8a7407bab1e16cf519cb84eb73eb3c030f87528/extensions/test/data/api_test/usb/device_handling/test.js
Comment 1 by rdevlin....@chromium.org
, Mar 30 2016