Forum: Projekte & Code Python Skript: Liste der USB/UART Adapter unter Linux


von Axel H. (axelh)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei ein kleines Python Skript, das alle angeschlossenen USB/Serial 
Adapter unter Linux auflistet. Nachdem es bei mir immer wieder vorkommt, 
dass ich nicht weiss, welcher dev/ttyUSBx denn jetzt gerade an welchem 
Board hängt und die Nummern sich leider hin und wieder (aus welchen 
Gründen auch immer) ändern, hab ich mir dieses Skript gebaut. Ausgabe 
ist dann z.B.:


$ ./ttyusb.py
  ttyUSB0 -> 3-1.5:1.1 (Bus:Dev=003:005, DRIVER=qcserial)
  ttyUSB1 -> 3-1.5:1.2 (Bus:Dev=003:005, DRIVER=qcserial)
  ttyUSB2 -> 3-1.5:1.3 (Bus:Dev=003:005, DRIVER=qcserial)
  ttyUSB3 -> 1-1.1.3:1.0 (Bus:Dev=001:006, DRIVER=cp210x)
  ttyUSB4 -> 1-1.1.5:1.0 (Bus:Dev=001:007, DRIVER=ftdi_sio)


Viel Spass damit, konstruktive Kritik und Anregungen sind immer 
willkommen.

Axel

: Bearbeitet durch User
von Gustl B. (-gb-)


Lesenswert?

Wenn Du eine feste Zuordnung haben willst, dann kannst du Links 
verwenden. Die über stehen auch einen Neustart. Ich glaube das war ln -s 
und da verwendet man wirklich die eindeutigen Namen, also 
/dev/serial/by-path glaube ich.

von Bernd K. (prof7bit)


Lesenswert?

Gustl B. schrieb:
> Wenn Du eine feste Zuordnung haben willst, dann kannst du Links
> verwenden. Die über stehen auch einen Neustart. Ich glaube das war ln -s
> und da verwendet man wirklich die eindeutigen Namen, also
> /dev/serial/by-path glaube ich.

Der vielversprechenste Weg für statische Namen basierend auf vid, pid, 
seriennummer, etc. wäre es wahrscheinlich dafür udev Regeln anzulegen 
wie unter folgender URL besprochen: 
http://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name

: Bearbeitet durch User
von Gustl B. (-gb-)


Lesenswert?

OK, das kannte ich jetzt nicht. Hier verwende ich bei mehreren Rechnern 
Links und das funktioniert super.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

udev legt bei mir Nodes wie /dev/tty-hystm32 oder /dev/tty-hausbus an 
und zieht zur Identifizierung die IDs heran.
Danke für dein Script!

von Axel H. (axelh)


Lesenswert?

Gustl B. schrieb:
> Wenn Du eine feste Zuordnung haben willst, dann kannst du Links
> verwenden. Die über stehen auch einen Neustart. Ich glaube das war ln -s
> und da verwendet man wirklich die eindeutigen Namen, also
> /dev/serial/by-path glaube ich.

Das mit dem Link zu dem "USB-Pfad" unter /dev/serial/by-path ist eine 
gute Lösung, insbes. wenn die Geräte fix angeschlossen sind. Gleiches 
für die VID, PID, S/N Lösung.
Bei mir war das Problem, dass ich ein paar Hub fürs Basteln habe. Ist 
praktisch, weil immer irgendwo ein Port frei ist, wenn man einen braucht 
- auch mit genug phys. Abstand zu den anderen Ports. Aber leider wird 
das dann auch manchmal unübersichtlich. Da ist das Skript einfach 
praktisch um mal zu schauen, was jetzt wo ist. Neben "lsusb" sozusagen 
ein spezielles "lsttyusb" Kommando.

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.