Forum: PC Hard- und Software Linux /dev/ttyUSBx eindeutige Zuordnung?


von C. H. (_ch_)


Lesenswert?

Hallo,

eine Frage an die Pinguin-Profis;
Ich verwende mehrere USB<->RS232 Konverter. Die Konverter melden sich 
schön brav an und werden ordnungsgemäß nach /dev/ttyUSBx gemountet.

Mein Problem ist folgendes:
Wenn ich drei Konverter anstecke, habe ich ja die Devices ttyUSB0, 
ttyUSB1 und ttyUSB2 - nur wie bekomme ich raus wer was ist?
Momentan mache ich es so, dass ich die Konverter der Reihe nach anstecke 
und in den log-messages (/var/log/messages) nachsehe wohin sie gemountet 
wurden.

Gibt es eine Möglichkeit rauszufinden wer was ist, bzw. dass jeder 
Konverter immer auf das gleiche ttyUSBx gemountet wird?
Irgendwie muss man ja auf die Seriennummer oder sonstwas 
zugreifen/abfragen können?!

System:
- Digitus USB 2.0 TO RS232 adapter (FTDI-Chip)
- Ubuntu 8.04

Gruß
Christian

von Karl-heinz S. (cletus)


Lesenswert?

Ich kann mir vorstellen, dass es eine passende HAL- oder UDEV_Regel 
geben müsste.

Vielleicht kann man die ja erweitern...

von Mirko (Gast)


Lesenswert?

Über den Pfad in sys kann man einerseits heraus bekommen, was das 
jeweils für ein Gerät ist, zuätzlich auch, an welchem USB-Port und 
welchem USB-Hub (rekursiv!) es angeschlossen wurde.

von C. H. (_ch_)


Lesenswert?

Karl-heinz Strunk (cletus) wrote:
> Ich kann mir vorstellen, dass es eine passende HAL- oder UDEV_Regel
> geben müsste.
Wo müsste ich da zu suchen anfangen, bzw. nach was?


Mirko wrote:
> Über den Pfad in sys kann man einerseits heraus bekommen, was das
> jeweils für ein Gerät ist, zuätzlich auch, an welchem USB-Port und
> welchem USB-Hub (rekursiv!) es angeschlossen wurde.
Wie stelle ich das an?

von Mirko K. (mkeuner)


Lesenswert?

C. H. wrote:
> Karl-heinz Strunk (cletus) wrote:
>> Ich kann mir vorstellen, dass es eine passende HAL- oder UDEV_Regel
>> geben müsste.
> Wo müsste ich da zu suchen anfangen, bzw. nach was?

Hatte ich vor längerer Zeit mal mit folgendem Howto hin bekommen:
  http://reactivated.net/writing_udev_rules.html

Da wird erklärt, wie Du Dir z.B. ein bestimmtes Gerät
immer auf einem bestimmten Device-Name legen lassen kannst,
also z.B. "/dev/meine-NGW100-Konsole".
Ist aber schon ein Weilchen her, ich kann nicht garantieren, dass das 
der neuste Stand ist.

> Mirko wrote:
>> Über den Pfad in sys kann man einerseits heraus bekommen, was das
>> jeweils für ein Gerät ist, zuätzlich auch, an welchem USB-Port und
>> welchem USB-Hub (rekursiv!) es angeschlossen wurde.
> Wie stelle ich das an?

z.B. so:
1
# readlink /sys/class/tty/ttyUSB0/device
2
../../../../../../../../../../devices/pci0000:00/0000:00:13.2/usb3/3-5/3-5.3/3-5.3:1.0/ttyUSB0

Das sagt einem, dass ttyUSB0 an einer PCI-karte mit der ID 0:13.2 hängt, 
und zwar am 3. Anschluss. Daran hängt ein Hub, der die ID 3-5 bekommen 
hat, und an dessen 3. Port steckt der Adapter. Der Adapter selber ist 
dann in seinem Gehäuse das einzige Gerät (1.0).

Wieviel Infos über das Gerät da selber zu finden sind hängt vom Treiber 
ab, ich hätte erwartet, dass mehr drin steht, aber das einzige was 
meiner hier anbietet ist sein Treiber-Name:
1
# cat /sys/class/tty/ttyUSB0/device/uevent
2
DRIVER=pl2303

Über HAL bekommt man wahrscheinlich mehr heraus, wenn ich "hal-device" 
eingebe kommt da relativ viel über die Geräte. Damit habe ich aber 
leider noch keine Erfahrung.

von psicom (Gast)


Lesenswert?

http://linux.die.net/man/8/lsusb

lsusb | grep Seriennummer

von C. H. (_ch_)


Lesenswert?

Hallo zusammen,

danke für die Antworten.
So richtig einfacher/komfortabler sieht das alles auch nicht aus.

lsusb liefert zwar schön welche Geräte angeschlossen sind, aber leider 
auch nicht das "mehr" an Information was ich mir vorgestellt hatte.
1
lsusb:
2
...
3
Bus 006 Device 006: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
4
Bus 006 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
5
Bus 006 Device 004: ID 05e3:0606 Genesys Logic, Inc. D-Link DUB-H4 USB 2.0 Hub
6
...
Dann werde ich mich bei Gelegenheit wohl mal durch das udev Tutorial 
ackern müssen.

Gruß
Christian

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.