PORTS Forum

Ports and Interfaces => USB => Topic started by: jb on April 10, 2020, 02:20:25 pm

Title: What hardware changes should be accompanied by a PID change?
Post by: jb on April 10, 2020, 02:20:25 pm
Conceptually, in these scenarios, do I want a PID change or a bcdDevice major version change?
In either case, firmware update tools should be able to use one or the other to tell which board it is and avoid updating with incompatible firmware, so I don't think it matters for that purpose.

The spec says "idProduct" is "Product ID (assigned by the manufacturer)" and "bcdDevice" is "Device release number in binary-coded decimal" which sounds like it could be considered to apply to either firmware or hardware "releases"?
Title: Re: What hardware changes should be accompanied by a PID change?
Post by: Jan Axelson on April 11, 2020, 08:10:03 pm
I think it's a matter of judgment. It would depend in part on whether the host software needs to change for each, and if so, if the host software can detect a change in bcdDevice.
Title: Re: What hardware changes should be accompanied by a PID change?
Post by: bpaddock on April 13, 2020, 08:39:09 am
From experience it is easier to track the PID change through the life cycle of the product.
Title: Re: What hardware changes should be accompanied by a PID change?
Post by: towlerg on April 14, 2020, 08:22:50 am
Trouble with using PID for changes is keeping track of groups of PID's related to a single product. Personally I'd go for bcddevice.
Title: Re: What hardware changes should be accompanied by a PID change?
Post by: jb on June 11, 2020, 10:59:06 am
Since both will exist on the market at the same time, would bcdDevice change cause conflicts?  Meaning that a customer plugs in one of each version, they both have the same PID but different bcdDevice, will the OS recognize them ok? 

For example, I know that if I change the range of a Feature Unit's controls, while keeping the VID/PID/bcdDevice the same, Windows doesn't notice the change.
Title: Re: What hardware changes should be accompanied by a PID change?
Post by: Jan Axelson on June 12, 2020, 05:35:48 pm
The OS should recognize a changed bcdDevice as a new device. Whether that is the case on every OS, I don't know. If you need different firmware updates for each, be sure that the update process looks at the bcdDevice field.

As you've noted, if a new device has the same VID/PID/bcdDevice as a previous device, Windows may assume it has the same descriptors as the previous device.