2012-12-18 14 views
11

Ich muss mit zwei Stücken benutzerdefinierter Hardware umgehen, die beide Debugging-Daten über zwei serielle Verbindungen senden. Diese seriellen Verbindungen durchlaufen zwei Seriell-zu-USB-Konverter. Die Seriell-zu-USB-Geräte haben die gleichen Herstellernummern, Gerätenummern und anscheinend die gleichen Seriennummern.Wie protokolliere ich Daten konsistent von meinen seriellen Ports?

Hier ist das Problem: Ich möchte die zwei seriellen Schnittstellen getrennt protokollieren. Die benutzerdefinierte Hardware muss ständig neu gestartet werden, und ob sie an die gleiche /dev/ttyUSB* anhängen, ist völlig zufällig. Wie kann ich sicherstellen, dass sie jedes Mal den gleichen Gerätepfad auswählen? Ich könnte es abhängig machen von welchem ​​Port es angeschlossen ist, aber das scheint irgendwie hacky.

So lief ich ein diff gegen die Ausgabe von udevadm, etwa so:

$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB1` > usb1 
$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` > usb2 
$ diff usb1 usb2 

The output of the diff is long; you can see it here

für serielle greppen (für beide gleich):

$ udevadm info -a -p `udevadm info -q path -n /dev/ttyUSB2` | grep serial 
SUBSYSTEMS=="usb-serial" 
ATTRS{serial}=="0001" 
ATTRS{serial}=="0000:00:1d.7" 

Weitere Informationen:

Ich benutze PuTTY, um von den seriellen Anschlüssen zu lesen.
OS:

$ uname -a 
Linux xxxxxxxx.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux 
+3

Siehe http://askubuntu.com/questions/49910/how-to-distinguish-idge-ical-usb-to-serial-adapters –

+0

@KarlBielefeldt Ich möchte es nicht davon abhängig machen, welcher Port es ist eingesteckt, aber ich nehme es, wenn das der einzige Weg ist. –

+1

Soweit ich weiß, ist das * der einzige Weg, wenn die Seriennummern identisch sind. –

Antwort

1

Bitte überprüfen Sie, ob der USB-Seriell-Wandler auf einem FTDI-Chip basiert? (Sie können die Treiberdateinamen überprüfen)

Wenn ja; Sie haben die Möglichkeit, die Seriennummer oder sogar die Herstellerinformationen zu ändern.

http://www.ftdichip.com/Support/Utilities.htm Überprüfen Sie die Werkzeuge; MProg und FT_PROG Dienstprogramm-Tools.

+0

Ich habe keinen FTDI-Chip, weil es einen cp210x-Treiber verwendet. Aber einige googeln zeigte mir, dass es ein cp210x-Äquivalent gab: http://www.silabs.com/support%20documents/technicaldocs/an144.pdf Ich sehe, dass dieser Chip es auch unterstützt. (cp2103) –

+0

Schön zu wissen, gibt Ihnen einen Einblick ... Hoffe, es funktioniert ... – freewill