Python Skript: Liste der USB/UART Adapter unter Linux

OP #4593451
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
Angehängte Dateien:
#4593533
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.
#4593547
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
OP #4595375
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.