none
Gerätenamen für virtuelle COM-Ports (via USB) eintragen RRS feed

  • Frage

  • Guten Tag!

    Wir bauen verschiedene Geräte, die zu Servicezwecken

    einen USB-Anschluß haben - realisiert über den internen

    USB-Device Controller im Mikrocontroller (meist ARM-Cortex

    M3 oder M4) mit einem einfachen Treiber als virtueller

    COM-Port (CDC bzw. VCP).

    Dazu haben wir bisher immer eine kleine INF-Datei mitgegeben,

    die die Zuordnung der USB-IDs (Hersteller-ID und Produkt-ID,

    VID und PID) zum Hersteller- und Gerätename im System

    hinterlegt und auf den (in Windows bereits vorhandenen)

    CDC-Treiber "usbser.sys" verweist.


    Bei den verschiedenen Windows-Versionen ist das Verhalten

    unterschiedlich:


    Damals mit Windows XP konnte man IIRC die INF-Datei

    einfach vorab installieren", dann wurde das Gerät beim

    ersten Anschließen korrekt erkannt. Alternativ erst das

    Gerät anschließen, dann im Gerätemanager mit der rechten

    Maustaste auf das "unbekannte USB-Gerät" klicken und den

    "Treiber" (der ja eigentlich gar keiner ist, sondern nur

    ein Verweis auf einen bereits vorhandenen) "aktualisieren",

    dabei die INF-Datei wählen. Anschließend stand das Gerät

    mit dem richtigen Namen im Gerätemanager.


    Bei Windows 7 ist die Vorab-Installation der INF-Datei

    nicht mehr möglich, man muß über den Geräte-Manager den

    Treiber aktualisieren, das Ergebnis ist das gleiche.

    Allerdings weist W7 darauf hin, daß der Treiber "nicht

    signiert" sei - was für ein Schwachsinn in diesem Zusammenhang,

    es wird ja gar nichts wirklich installiert, und der bereits

    vorhandene (Original-MS!) usbser-Treiber dürfte wohl kaum

    eine neue, zusätzliche Signatur brauchen...


    Mit Windows 8.1 ist das Vorgehen grundsätzlich wie bei

    Windows 7, allerdings muß man hier vorher mit speziellen

    Boot-Optionen umständlich dafür sorgen, daß man einen

    "nicht signierten" Treiber überhaupt akzeptieren darf.


    Bei Windows 10 hat Microsoft die Einbindung von CDC-Geräten

    verbessert: Hier wird das Gerät anhand der USB-Geräteklasse

    erkannt und korrekt als VCP eingebunden, ohne daß man dafür

    irgendetwas tun müßte - allerdings nur mit der Bezeichnung

    "Serielles USB-Gerät". Und die INF-Datei kann man nun

    mangels Signatur überhaupt nicht mehr "installieren".


    Und nun endlich die Frage:

    Wie kann man in Windows 10 für einen solchen virtuellen

    COM-Port den "richtigen" Namen (Hersteller und Gerätetyp)

    zu den gegebenen IDs (VID und PID) im System eintragen?


    Idealerweise würde diese Lösung dann auch zumindest unter

    Windows 8.1 funktionieren, so daß wir die Windows-Versionen

    nicht unterscheiden müssen (und unter 8.1 die mühsame

    Treiber-"Installation" vermeiden können)...

    Danke

    Tilo

    • Bearbeitet Tilo-R Freitag, 2. August 2019 20:09 Zeilenumbrüche
    Freitag, 2. August 2019 14:21

Alle Antworten

  • Moin,

    kannst Du Deinen Post bitte irgendwie so formatieren, dass der Zeilenumbruch greift und der Text ohne horizontales Scrollen lesbar ist?


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Freitag, 2. August 2019 19:09
  • Würde ich ja gerne... Wie macht man das?

    Bei der Eingabe sah das alles ganz richtig aus, anschließend habe ich mich selbst über das Ergebnis gewundert und geärgert. Was für eine grottige Foren-Software...!

    Ich versuche mal händisch umzubrechen...

    Grüße

    Tilo


    • Bearbeitet Tilo-R Freitag, 2. August 2019 20:01
    Freitag, 2. August 2019 20:00
  • Bie mir wird kein Scrollbalken angezeigt (Firefox), dafür ist der Text halt 2-Zeilig.
    Samstag, 3. August 2019 14:51
  • Und die INF-Datei kann man nun mangels Signatur überhaupt nicht mehr "installieren".

    Hmmm. Als nicht-Spezialist würde ich jetzt sagen: Du hast Deine Frage gerade selber beantwortet. INF in ein CAT-Paket packen, dieses signieren und dann kannst Du es auch einlesen. So etwas musste ich damals mit einem Druckertreiber von SAMSUNG machen, der unsigniert daher kam.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Samstag, 3. August 2019 16:53
  • Dann muß man sich ein Zertifikat kaufen, um damit einen Treiber zu "signieren", der schon als Original vom Hersteller im Betriebssystem vorliegt?

    Das ist irgendwie krank...

    Tilo

    Montag, 5. August 2019 10:22
  • Und was sagt der Hersteller dazu?
    Signierte Treiber sind eigentlich schon lange eingeführt und sollten vom Hersteller geliefert werden können.
    Standardtreiber, die in Windows eben bereits vorhanden sind, brauchen ja nicht installiert werden. Und was die Namensvergabe angeht, so kann man ja mal eine Eingabe per Feedback-Hub an Microsoft machen.

    Was die Forensoftware angeht:
    Enter-Taste = Absatz (d.h. mit Leerzeile)
    Shift+Enter = NewLine (d.h., ohne Leerzeile)

    Alles eine Frage der Gewöhnung.

    Man kann auch fortlaufend schreiben, was dann je nach Browser einen automatischen Umbruch bei der Anzeige durchführt. Man muss da nicht selber auf Zeilenschaltungen achten.
    Zusätzlich gibt es eben auch die Buttons für Codes, wbie da allerdings kein Zeilenumbruch passiert.

    Montag, 5. August 2019 10:37
  • Der Hersteller der Geräte sind wir selbst.

    Der Hersteller des Betriebssystems ist Microsoft. Im Betriebssystem ist ein Treiber für CDC-Geräte bereits vorhanden. Diesen benutzen wir, daher tragen wir einen Verweis auf den vorhandenen Treiber ein. Natürlich müssen wir ihn dafür nicht erneut installieren, das ist doch genau der springende Punkt - warum müssen wir dann eine Signatur liefern?

    Danke für den Hinweis auf Shift+Enter.

    Fortlaufend schreiben funktioniert offenbar nur bei Tastatureingabe. Ich hatte den Text vorab geschrieben und dann in das Eingabefenster kopiert. In diesem Fenster wird der Text dann zwar umgebrochen angezeigt, tatsächlich wurden aber Bandwurmzeilen gespeichert.

    Montag, 5. August 2019 13:07
  • Dann steht doch außer Frage dass ihr ein Zertifikat benötigt.

    Was Paste/Copy angeht so werden "CRLF" ignoriert, da der Editor HTML-Orientiert ist.
    Enter = Paragraph "<P> ...</P>", ShiftEnter = Break "<br>".

    Montag, 5. August 2019 13:46
  • Nein, warum? Wir installieren doch nichts!

    Montag, 5. August 2019 14:18
  • Das weiß Windows aber noch nicht.
    Um wohl eine ".Inf" zu "installieren" benötigt es wohl ein Zertifikat, unabhängig davon ob tatsächlich was installiert wird.

    Andererseits:
    Viele Informationen lassen sich auch in der Registry finden.
    Prüfe halt mal, wie diese Einträge für deine Geräte auszusehen haben (auf einem anderen System) und trage die Informationen selber in die Registry ein. Wozu man allerdings auch wieder erhöhte Admin-Rechte braucht.

    Montag, 5. August 2019 16:54
  • Ja, das ist wohl das Problem. Bei UAC ist das sinnvoller gelöst: dort kommt die Nachfrage erst dann, wenn tatsächlich höhere Rechte gebraucht werden...

    Die Einträge für VCP sind in der Registry leider ziemlich weit verzweigt, aber wir sehen uns das auch nochmal näher an. Höhere Rechte während der "Installation" sind jedenfalls kein Problem.

    Danke.

    Dienstag, 6. August 2019 06:00