STM32F4 USB CDC Änderung des Gerätenamen

Gast #5002688
Hey,

ich nutze den STM32F407 USB CDC (HAL CUBEMX) und möchte den angezeigten 
Namen im Geräte Manager ändern.

Dazu habe ich diese Zeilen in usbd_desc.c geändert jedoch ändert sich 
nicht der Angezeigte Name im Geräte Manager.

Nur der Produkt String und Seriennummer werden übernommen.
Als CDC Treiber nutze ich VCP 1.4


#define USBD_VID     1155
#define USBD_LANGID_STRING     1033
#define USBD_MANUFACTURER_STRING     "MyManufacture"
#define USBD_PID_FS     22336
#define USBD_PRODUCT_STRING_FS     "MyProduct"
#define USBD_SERIALNUMBER_STRING_FS     "00000000005A"
#define USBD_CONFIGURATION_STRING_FS     "CDC Config"
#define USBD_INTERFACE_STRING_FS     "CDC Interface"



#define USB_SIZ_BOS_DESC            0x0C
Angehängte Dateien:
Gast
Der String aus der usbd_desc.c taucht im Gerätemanager bei dem Gerät in 
den Details unter "Vom Bus gemeldeter Name"  oder so auf. Der Angezeigte 
Name im Gerätemanager kommt aus der Inf-Datei. Du könntest entweder die 
Inf-Datei pimpen oder eine Kopie mit einer anderen Product-ID verwenden. 
Dazu muss natürlich auch die Product-ID in der usbd_desc.c geändert 
werden.
Gast
danke für die schnell Antwort.

Das mit der Inf-Datei habe ich bereits versucht, aber bin da auch nicht 
zu einem Ergebnis gekommen.
An welcher Stelle müsste ich denn die Inf-Datei ändern?

Wenn ich die Inf-Datei ändere ist der Treiber auch nicht mehr signiert 
oder nicht?
Paul schrieb:
> Wenn ich die Inf-Datei ändere ist der Treiber auch nicht mehr signiert
> oder nicht?

Der Treiber selber ja, aber die .inf Date natürlich nicht mehr. Also 
bekommt man die als $Luser unter Windoof 8 und 10 nicht mehr ohne 
Klimmzüge installiert.

Allerdings kann Windows 10 USB CDC auch ganz ohne .inf Datei, dann 
allerdings mit einem generischen Namen. Auch da wird der per USB 
übertragene Gerätenamen ignoriert.
Gast
Paul schrieb:
> Das mit der Inf-Datei habe ich bereits versucht, aber bin da auch nicht
> zu einem Ergebnis gekommen.

Das kann nicht sein. Wenn man etwas tut, kommt man zu einem
Ergebnis. Ob einem das gefällt ist eine andere Geschichte,
aber ein Ergebnis bekommt man auf jeden Fall. Sonst hat man
nichts getan.
Also in meiner usb_desc.c gibt es diesen Teil. Ob eine Änderung aber 
tatsächlich was bringt, konnte ich noch nicht testen.

1
const uint8_t Virtual_Com_Port_StringVendor[VIRTUAL_COM_PORT_SIZ_STRING_VENDOR] =
2
  {
3
    VIRTUAL_COM_PORT_SIZ_STRING_VENDOR,     /* Size of Vendor string */
4
    USB_STRING_DESCRIPTOR_TYPE,             /* bDescriptorType*/
5
    /* Manufacturer: "STMicroelectronics" */
6
    'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0,
7
    'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0,
8
    'c', 0, 's', 0
9
  };
10

11
const uint8_t Virtual_Com_Port_StringProduct[VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT] =
12
  {
13
    VIRTUAL_COM_PORT_SIZ_STRING_PRODUCT,          /* bLength */
14
    USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
15
    /* Product name: "STM32 Virtual COM Port" */
16
    'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'V', 0, 'i', 0,
17
    'r', 0, 't', 0, 'u', 0, 'a', 0, 'l', 0, ' ', 0, 'C', 0, 'O', 0,
18
    'M', 0, ' ', 0, 'P', 0, 'o', 0, 'r', 0, 't', 0, ' ', 0, ' ', 0
19
  };
20

21
uint8_t Virtual_Com_Port_StringSerial[VIRTUAL_COM_PORT_SIZ_STRING_SERIAL] =
22
  {
23
    VIRTUAL_COM_PORT_SIZ_STRING_SERIAL,           /* bLength */
24
    USB_STRING_DESCRIPTOR_TYPE,                   /* bDescriptorType */
25
    'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0
26
  };

mfg
Gast
Das sieht ganz gut aus.

Unter welchem Pfad liegt die INF-Datei die du geändert hast?
Hast du VID und PID aus den Default-Einstellungen von CubeMx übernommen 
und du hast auch VCP-Treiber Version 1.4 installiert?
Gast
Jim M. schrieb:
> Klappt nicht. Die neue inf ist nicht signiert, das erlaubt Win 8+ nicht
> mehr ohne Test-Mode.

Habe genau das selbe Problem, die INF-Datei ist dann nicht mehr 
signiert. Man hat ja auch keine Möglichkeit das zu umgehen oder? 
(Ausgenommen man startet im Test Modus)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.