USB-Stick

Kurz vorgestellt: lsplug

Wir alle kennen vermutlich den Befehl lsusb. Er gibt Auskunft über intern verbaute und extern angeschlossene USB-Geräte. Er verwendet im Hintergrund die usb.ids der Hardware Database in /usr/share/hwdata/, um unter anderem die Anbieter- und Produktkennung, auch als ID bezeichnet, auszugeben. Diese ist oft wichtig, um die verbaute Revision eines Geräts genau zu bestimmen. Der Befehl ist zudem nützlich, um festzustellen, ob ein nicht funktionierendes Gerät grundsätzlich erkannt wird. Die Ausgabe sieht bei mir auszugsweise so aus:

Bus 006 Device 002: ID 0bda:0409 Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 004: ID 046d:0826 Logitech, Inc. HD Webcam C525
Bus 005 Device 003: ID 0bda:5409 Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Bus 005 Device 002: ID 046a:00b0 Cherry GmbH Mechanical Keyboard
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
...

Die Standard-Ausgabe gliedert sich in drei Bereiche: Links der Bus-Bereich, er gibt die physische Position der Hardware an. Es folgen Vendor- und Produkt-ID sowie der Namensteil.

Die Ausgabe lässt sich über einige Parameter erweitern (-v -vv), eingrenzen (-d -D -s) oder übersichtlicher darstellen (-t). Weitere Einzelheiten verrät die Manpage.

Martijn Braam, unter anderem Entwickler bei postmarketOS, war das nicht genug. Deshalb hat er gestern das Tool lsplug veröffentlicht, das, wie in der Ankündigung vermerkt, mehr nützliche und weniger nutzlose Informationen ausgibt. Das nur 3 KB große Paket lässt sich über pip, das Paketverwaltungsprogramm für Python-Pakete mit dem Befehl pip install lsplug installieren.

Die Standard-Ausgabe von lsplug ohne Parameter sieht so aus:

USB 5-3  [046d:0826] Logitech, Inc. HD Webcam C525 [8429EC50]
USB 5-1  [046a:00b0] Cherry GmbH Mechanical Keyboard
USB 1-3  [046d:c52b] Logitech, Inc. Unifying Receiver
USB 6-2  [0bda:0409] Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
USB 4-3  [174c:3074] ASMedia Technology Inc. ASM1074 SuperSpeed hub
USB 5-2  [0bda:5409] Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
USB 1-6  [0e8d:2008] MediaTek Inc. Cyrus Technology CS 24 [GS5CTNB07936]
USB 1-2.3 [174c:1351] ASMedia Technology Inc. AS2135 [00000000000000000000]
USB 1-2  [174c:2074] ASMedia Technology Inc. ASM1074 High-Speed hub

Der Befehl zeigt bei mir nur extern an USB angeschlossene Geräte an. Eigentlich soll dies laut Beschreibung erst die Eingabe mit dem Parameter -r tun. Aber gut, da die meisten Abfragen sich um externe Geräte drehen, ist das eine gute Standard-Einstellung. Mit lsplug -r -d werden zusätzlich die genutzten Geräteknoten angezeigt:

USB 5-3  [046d:0826] Logitech, Inc. HD Webcam C525 [8429EC50]
   Device /dev/video1
   Device /dev/video0
   Device /dev/media0
   Device /dev/input/event20
USB 5-1  [046a:00b0] Cherry GmbH Mechanical Keyboard
USB 1-3  [046d:c52b] Logitech, Inc. Unifying Receiver
   Device /dev/usb/hiddev0
USB 6-2  [0bda:0409] Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
USB 4-3  [174c:3074] ASMedia Technology Inc. ASM1074 SuperSpeed hub
USB 5-2  [0bda:5409] Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
USB 1-6  [0e8d:2008] MediaTek Inc. Cyrus Technology CS 24 [GS5CTNB07936]
USB 1-2.3 [174c:1351] ASMedia Technology Inc. AS2135 [00000000000000000000]
   Device /dev/sdb
USB 1-2  [174c:2074] ASMedia Technology Inc. ASM1074 High-Speed hub

Mit lsplug -r -p lassen sich die USB-Geschwindigkeit und der maximale Stromverbrauch, mit dem sich ein Gerät beim Host anmeldet, zusätzlich anzeigen:

USB 5-3  [046d:0826] Logitech, Inc. HD Webcam C525 [8429EC50]
   Speed: 480 Mbps, MaxPower: 500mA
USB 5-1  [046a:00b0] Cherry GmbH Mechanical Keyboard
   Speed: 12 Mbps, MaxPower: 500mA
USB 1-3  [046d:c52b] Logitech, Inc. Unifying Receiver
   Speed: 12 Mbps, MaxPower: 98mA
USB 6-2  [0bda:0409] Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
   Speed: 5.0 Gbps 1x1, MaxPower: 0mA
USB 4-3  [174c:3074] ASMedia Technology Inc. ASM1074 SuperSpeed hub
   Speed: 5.0 Gbps 1x1, MaxPower: 8mA
USB 5-2  [0bda:5409] Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
   Speed: 480 Mbps, MaxPower: 0mA
USB 1-6  [0e8d:2008] MediaTek Inc. Cyrus Technology CS 24 [GS5CTNB07936]
   Speed: 480 Mbps, MaxPower: 500mA
USB 1-2.3 [174c:1351] ASMedia Technology Inc. AS2135 [00000000000000000000]
   Speed: 480 Mbps, MaxPower: 0mA
USB 1-2  [174c:2074] ASMedia Technology Inc. ASM1074 High-Speed hub
   Speed: 480 Mbps, MaxPower: 100mA

Mit lsplug -i und der Angabe des Bus-Bereichs lassen sich die einem Gerät zugehörigen Interface Descriptors ausgeben, die angeben, was für Fähigkeiten ein Gerät besitzt. So zeigt lsplug -i 5-1:

USB 5-1  [046a:00b0] Cherry GmbH Mechanical Keyboard
   Class 00 SubClass 00 Protocol 00
      Interface 0 03/01/01 MX5.0 Keyboard
      Interface 1 03/00/00 MX5.0 Multimedia

Das kleine Tool lsplug ist nichts Weltbewegendes, hält aber für Anwender, die oft Informationen über USB-Geräte einholen müssen, vielleicht nützliche Parameter bereit.

Bild: Sara Kurfeß on Unsplash

Teilt den Beitrag, falls ihr mögt

3 Kommentare
Newest
Oldest Most Voted
Inline Feedbacks
View all comments