Sollte ich idProduct oder bcdDevice ändern, wenn ich die Hardware / den Chipsatz eines USB-Produkts ändere?

7

Das Produkt sieht äußerlich gleich aus, mit der gleichen Modellnummer, aber die USB-Gehirne wurden vollständig ersetzt und die Schaltkreise wurden an sie angepasst.

Das Betriebssystem muss unterschiedliche IDs sehen, um die Treiber getrennt zu halten, oder? Aber sollte ich die PID / idProduct ändern oder sollte ich das bdcDevice ändern? Ich gehe davon aus, dass die tatsächlichen Konsequenzen von den vom USB-Standard beabsichtigten abweichen können.

  • idProduct
    • Produkt-ID (vom Hersteller vergeben)
  • bcdDevice
    • Geräteversionsnummer in binär codierter Dezimalzahl; Die Siliziumrevision erhöht diesen Wert
    • 0xJJMN für Version JJ.MN (JJ - Hauptversionsnummer, M - Nebenversionsnummer, N - Nebenversionsnummer)

Die semantische Hardwareversionierung schlägt vor, zumindest die Hauptversionsnummer zu ändern.

Endolith
quelle
... und jetzt habe ich die gleiche Frage, aber über eine Hardwareänderung, bei der es den gleichen Produktnamen hat und das Betriebssystem genau die gleiche Schnittstelle sieht, aber eine neue Platine und einen anderen USB-Anschluss, also Firmware- Updates (was bcdDevice ist soll darstellen) sind nicht kompatibel zwischen Boards. Sollte ich konzeptionell die PID oder nur die Hauptversionsnummer von bcdDevice erhöhen? Ich werde weiterhin Firmware-Updates für beide Hardwareversionen vornehmen, und die Update-Software muss identifizieren, welche welche ist.
Endolith

Antworten:

3

Ändern Sie nur bcdDevice, idProduct ist für ein neues Produkt, aber bcdDevice id ist für die Versionsnummer des USB-Geräts.

Dies funktioniert auf jedem Betriebssystem inkl. Windows XP oder höher und jedes Linux-basierte Betriebssystem.

Linux-Kernel haben diese Requisite. und Sie können dies durch diesen Link herausfinden:

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

Enes Unal
quelle
Aber was ist, wenn ich Firmware-Updates für die neuere und ältere Hardware vornehmen muss?
Endolith