Forum: Mikrocontroller und Digitale Elektronik STM32F4 USB CDC Änderung des Gerätenamen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Paul (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

von Ui (Gast)


Bewertung
0 lesenswert
nicht 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.

von Paul (Gast)


Bewertung
0 lesenswert
nicht 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?

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht 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.

von Arduinoquäler (Gast)


Bewertung
0 lesenswert
nicht 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.

von Felix F. (wiesel8)


Bewertung
0 lesenswert
nicht 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

von Ui (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es nochmal selbst probiert. Das Ergebnis ist in den Anhängen.

von Ui (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Noch einen vergessen

von Paul (Gast)


Bewertung
0 lesenswert
nicht 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?

von Ui (Gast)


Bewertung
0 lesenswert
nicht lesenswert
C:\Programmex86\Stm...\Stm...\Win8

Ja

Ja

Ich habe die exe zur Installation des Treibers nochmal laufen lassen

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Ui schrieb:
> Ich habe die exe zur Installation des Treibers nochmal laufen lassen

Klappt nicht. Die neue inf ist nicht signiert, das erlaubt Win 8+ nicht 
mehr ohne Test-Mode.

von Paul (Gast)


Bewertung
0 lesenswert
nicht 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)

von Ui (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich gebe zu es war Windows 7. Im Netz gibt es allerdings Anleitungen wie 
z.B.

http://digital.ni.com/public.nsf/allkb/36DB8D6AC385052786257A940066A421

Dabei wird halt noch ein Zertifikat erstellt das vorher auf dem Rechner 
installiert werden muss.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.