Forum: PC-Programmierung 2x COM3, wie geht sowas ??


von Benedikt (Gast)


Lesenswert?

Ich habe bei mir zwei FT232, beide mit denselben EEPROM Daten am PC
angeschlossen. Beide werden als COM 3 erkannt und ich kann mit zwei
Programmen auf COM 3 zugreifen (ich nenn sie jetzt einfach mal COM3A
und COM3B)...

Ist das normal ?
Gibt es eine Möglichkeit COM3A und COM3B voneinander zu unterscheiden,
bzw. zu erkennen welcher was ist ?

Es ist schon merkwürdig:
Schließ ich ein FT232 an, ist ein COM3 im Gerätemanager da, schließ ich
den zweiten an, ist immer noch ein COM3 da. Steck ich einen ab, ist kein
COM3 mehr da, aber der erste FT232 funktioniert noch als COM3...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das liegt möglicherweise daran, daß beide die selbem EEPROM-Daten
verwenden und also dieselbe Seriennummer haben. Damit rechnet der
FTDI-Treiber vermutlich nicht und verhält sich entsprechend seltsam.

von Alex (Gast)


Lesenswert?

Verschiedene IDs in den EEPROMs?

von Benedikt (Gast)


Lesenswert?

Leider befindet sich der FT232 auf einem fertgen Modul. Dessen ID
kann/darf ich auch nicht ändern.
Gibt es sonst noch eine Möglichkeit ?

von Alex (Gast)


Lesenswert?

Die ID eines Devices wirst du ändern müssen. Dafür gibt es von FTDI
mprog.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

also ich hab schon mehrere FT245BM (IIRC bis zu fünf) am Rechner gehabt
die alle kein progr. EEPROM hatten. Die werden dann einfach anhand ihrer
Position im USB-Bus durchnummeriert. Doppelte Schnittstellen hatte ich
nie. OS: WinXP.

Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ja, das ist auch was anderes. Wenn die Dinger kein EEPROM haben, dann
verhält sich der Devicetreiber entsprechend; wenn die Teile aber ein
EEPROM und eine eineindeutige Seriennummer haben, dann kommt der
Devicetreiber sicherlich durcheinander.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

ich schrub "kein progr. EEPROM". Das EEPROM ist also gefüllt mit
0xFF. Die haben alle die gleiche VID, DID und Seriennummer und werden
anhand ihrer Position im USB-Bus (ist ja eher ein Baum)
unterschiedlichen Schnittstellen zugeordnet. Ich kann den gleichen
FT245BM an unterschiedliche Buchsen anstecken und er bekommt jedes mal
eine andere COM zugeordnet.

Wenn ich aber das EEPROM programmiere bekommt er immer die gleiche COM
egal an welche Buchse ich ihn stöpsle.

Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ich nehme an, daß das Verhalten bei nicht programmiertem EEPROM dem bei
nicht vorhandenem EEPROM entspricht.

Benedikt aber scheint zwei FT232 zu verwenden, die beide mit einem
identisch programmierten EEPROM verbunden sind. Die eineindeutige
Zuordnung Adapter->COM-Nr, die der Treiber aufgrund der im EEPROM
vorhandenen Seriennummer vornimmt, die scheitert an dieser Tatsache.

Benedikts Problem lässt sich daher auf folgenden Wegen lösen:
- EEPROM bei mindestens einem der Adapter deaktivieren/entfernen
- EEPROM eines Adapters umprogrammieren, so daß eine andere
Seriennummer verwendet wird.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

nö. Selbst bei zwei identischen EEPROMs ist die Position im Bus
entscheidend für die zugeordnete COM-Schnittstelle (unter WinXP) Warum
sollte es auch anderst sein als ohne EEPROM. Da melden ja schließlich
auch beide Chips die gleiche Seriennummer. Die Seriennummer ermöglich
nur eine eindeutige Zuordnung von Chip zu COM-Schnittstelle so das man
jeden beliebigen USB-Port nutzen kann und immer die gleiche
Schnittstelle hat.

Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Matthias, bist Du Dir da wirklich sicher, daß es sich auch bei
vorhandener Seriennummer im EEPROM so verhält?

von Hubert (Gast)


Lesenswert?

An das Rufus:

Die COM Nr. wird vom BS vergeben und hat mit Deinem EEPROM nix am Hut.

von Jens (Gast)


Lesenswert?

Hubert: das BS schaut (über den Treiber) im EEPROM nach der Seriennummer
und vergibt den COM-Port, eben so, wie Matthias es geschildert hat: wenn
man ein Modul mit einer bestimmten Seriennummer betreibt, erhält man
immer die gleiche COM-Nummer. Wozu sollte sonst das EEPROM gut sein,
wenn das BS damit nichts am Hut hat, hä?

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

@Rufus
Stimmt. Wenn die Seriennummer und VID/DID identisch sind wird nur das
erste Gerät erkannt. So sagt zumindest die Hilfe von MProg.

Matthias

von René König (Gast)


Lesenswert?

> Selbst bei zwei identischen EEPROMs ist die Position im Bus
> entscheidend für die zugeordnete COM-Schnittstelle (unter WinXP)
> Warum sollte es auch anderst sein als ohne EEPROM. Da melden ja
> schließlich auch beide Chips die gleiche Seriennummer.

Windows unterstützt gleiche Geräte (selber VID, selber PID) mit
identischer Seriennumer nicht. Punkt. Mit blankem EEPROM, wie Du es
beschrubst, geben die Chips keine Seriennumer zurück. Schau mal ins
Datenblatt:

"When no EEPROM (or a blank or invalid EEPROM) is attached to the
device, the FT232BM no longer gives a serial number as part of its USB
descriptor. This allows multiple devices to be simultaneously connected
to the same PC. However, we still highly recommend that EEPROM is used,
as without serial numbers a device can only be identified by which hub
port in the USB tree it is connected to which can change if the end
user re-plugs the device into a different port."

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Exakt das meinte ich. Dank an René für das Zitat.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.