STM32F4 USB CDC Änderung des Gerätenamen

Gast #5002688
Lesenswert?

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 #5002697
Lesenswert?

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 #5002764
Lesenswert?

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?
#5002799
Lesenswert?

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 #5002801
Lesenswert?

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.
#5002835
Lesenswert?

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 #5003577
Lesenswert?

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 #5003997
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren