Electronic – If I change the hardware/chipset of a USB product, should I change idProduct or bcdDevice

best practiceusbusb device

The product looks outwardly the same, with the same model number, but the USB brains have been completely replaced, and the circuitry's been modified to fit them.

The operating system needs to see different IDs in order to keep the drivers separate, right? But should I change the PID/idProduct, or should I change the bdcDevice? I'm assuming the real life consequences may be different from what the USB standard intended.

  • idProduct
    • Product ID (assigned by the manufacturer)
  • bcdDevice
    • Device release number in binary-coded decimal; silicon revision increments this value
    • 0xJJMN for version JJ.M.N (JJ – major version number, M – minor version number, N – sub-minor version number)

Hardware Semantic Versioning suggests the major version number should be changed, at least.

Best Answer

Change bcdDevice only, idProduct is for a new product but bcdDevice id is for the version number for USB device.

This will work any OS incl. Windows XP or latest, and any Linux based OS.

Linux kernel have this prop. and you can find this out by this link:

http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/02259.html

Related Topic