These numbers are part of the USB "device descriptor" spec and are assigned to vendors by the governing body. Here's a big, though incomplete, list by vendor. Discovering and using these values can be handy in talking to USB devices. So far these IDs have helped me read data from 2 different Microsoft USB mice and hack the weight from a Dymo S250 USB scale.
Product and vendor IDs may be expressed in decimal or hexadecimal (number usually starts with 0x). For instance, testing a Microsoft Comfort Mouse 6000 for Business mouse with the Python code below returns:
Here's the basic code using version 1.0 of PyUSB. This assumes the PyUSB instructions have been followed and the required version of libUSB and Python are already installed.
Copy and paste the following code and save it to a file. My file is called findDevices.py
#!/usr/bin/python
import sys
import usb.core
# find USB devices
dev = usb.core.find(find_all=True)
# loop through devices, printing vendor and product ids in decimal and hex
for cfg in dev:
sys.stdout.write('Decimal VendorID=' + str(cfg.idVendor) + ' & ProductID=' + str(cfg.idProduct) + '\n')
sys.stdout.write('Hexadecimal VendorID=' + hex(cfg.idVendor) + ' & ProductID=' + hex(cfg.idProduct) + '\n\n')
Lovingly crafted by orangecoat with some rights reserved, and a promise not to spam you.
Back to top