Selben Geräte am Com-Port



  • hallo,
    ich hoffe ich habe das richtige Unterforum gewählt, wusste nicht genau wohin sonst.
    Und zwar würde ich gerne wissen, wie es unter Windows gehandelt wird, wie mehrere der selben Geräte erkannt/unterschieden werden.
    Beispiel: 2 Baugleiche Geräte werden an COM-Ports angeschlossen/installiert.
    Wenn nun die Geräte vertauscht werden (wenn Windows runtergefahren wurde) erkennt Windows das dann beim hochfahren, oder werden die Geräte dann "falsch" angesprochen.
    In der Anleitung der Geräte steht noch als Hinweis:
    Alle Module werden mit einer individuallen Seriennummer, aber mit derselben VID-/PID Kombination für den VCP-treiber ausgeliefert.



  • Wenn Du den Port vertauscht, macht das gar nichts. Windows unterscheidet die Geräte anhand der Seriennummer. Die muss dann aber auch wirklich einzigartig sein (zum gegebenen VID/PID Pärchen), sonst gibt es Tumulte.

    Hast Du aber keine Seriennummer, werden die Geräte anhand der Ports unterschieden, an denen sie angeschlossen sind. Verwendest Du jetzt einen anderen Port, bekommt Dein CDC Interface eine andere Nummer zugeteilt.

    Hast Du eine Seriennummer und zusätzlich einen entsprechenden Eintrag IgnorHWSerNumVVVVPPPP unter den UsbFlags in der Registry, so gilt auch hier Absatz 2.



  • Noch zu Beispiel 2: Windows ist es völlig egal, was an den COM-Ports angeschlossen ist. Diese Geräte werden gar nicht erkannt, COM ist halt nicht PlugPlay. Windows erkennt lediglich die COM-Ports selbst. Wenn Du da was unterscheiden willst, musst Du Dir selbst was ausdenken.

    Gut, so ganz richtig ist das auch nicht. Zumindest serielle Mäuse wurden früher schon mal gesucht. Aber da heutzutage wohl so ziemlich jeder den Schalter /fastdetect gesetzt haben dürfte, ist das Geschichte.

    Aber schön zu hören, dass es noch Rechner mit COM-Ports gibt. 😉



  • super,
    danke dir für deine ausführliche Antwort



  • Mox schrieb:

    COM ist halt nicht PlugPlay. Windows erkennt lediglich die COM-Ports selbst.

    Das kann ich so nicht bestätigen.

    Siehe Microsoft "Plug and Play External COM Device Specification": http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/pnpcom.rtf

    In Kapitel 2.1 wird beschrieben wie die COM-Port Signale angesteuert werden, um Plug&Play-fähige Geräte wie Maus, Modem usw. automatisch zu erkennen.
    Dieser Vorgang wird auch jedesmal eingeleitet, wenn man z.B. einen USB-nach-RS232 Konverter anstöpselt.

    Hängt mal einen RS232-LED-Anzeiger dran und beobachtet mal das ganze beim Booten bzw. beim Einstecken des USB-Adapters.

    Mox schrieb:

    Aber da heutzutage wohl so ziemlich jeder den Schalter /fastdetect gesetzt haben dürfte, ist das Geschichte.

    Nun, standardmäßig ist dieser Schalter NICHT gesetzt. Und das wird wohl auch bei den meisten PCs der Fall sein.
    [EDIT]Sorry für diese Falschinformation, ich hatte die Begriffe NTDEDECT mit FASTDEDECT verwechselt 😡
    In der Tat werden die meisten PCs mit dem Schalter /fastdetect gestartet.

    Aber entgegen der Aussage von Mox wird bei gesetztem Schalter der Plug&Play-Mechanismus trotzdem nicht außer Kraft gesetzt!

    Just my 5 cents,
    Martin



  • Mmacher schrieb:

    Nun, standardmäßig ist dieser Schalter NICHT gesetzt. Und das wird wohl auch bei den meisten PCs der Fall sein.

    Ausnahmslos alle Windows-PCs, die ich in den letzten Jahren gesehen habe, hatten diesen Schalter gesetzt (jedenfalls die, wo ich auch geschaut habe). Von daher bin ich jetzt einigermaßen verwundert.



  • Also ich habe auch schon seeehr lange keinen PC mehr gesehen bei dem die Option nicht gesetzt war.

    Eine Suche brachte dies:
    Bei Windows NT 4.0 wurde die Erkennung von Parallel- und Seriellen Ports noch durch NTDETECT durchgeführt, ab Windows 2000 gibt es dafür einen speziellen Plug und Play Treiber, der dafür verantwortlich ist. Wird dieser Schalter gesetzt, wird die Erkennung über NTDETECT ausgeschaltet.

    http://www.bigtom.ch/windows2000/W2000-Boot_ini.HTM

    Wenn man es nicht im Treiber abschaltet wird Windows versuchen alle Geräte zu erkennen und den vermuteten Treiber zu laden - egal ob per ntdetect oder sonst wo.



  • Ein Problem gibt es aber noch mit USB-RS232 Adaptern.
    Wenn man die in eine andere USB-Buchse steckt, bekommt der Adapter eine andere COMport-Nrummer. Aus COM3 wird dann z.B COM4.



  • DirkB schrieb:

    Ein Problem gibt es aber noch mit USB-RS232 Adaptern.
    Wenn man die in eine andere USB-Buchse steckt, bekommt der Adapter eine andere COMport-Nrummer. Aus COM3 wird dann z.B COM4.

    Bereits in der ersten Antwort wird erklärt, dass das nicht zwingend ist. Du brauchst lediglich eine Seriennummer, um das "Problem" zu lösen.


Log in to reply