Listen Sie die USB-Anschlüsse unter Linux auf

8

Ich möchte USB-Ports unter Linux auflisten und dann eine Nachricht an den angeschlossenen Drucker senden. Diese Meldung wird vom Drucker zum Öffnen der Kassenschublade erfasst. Ich weiß, dass ich echo - eeinen Portnamen verwenden kann, aber meine Schwierigkeit besteht darin, den Portnamen zu finden. Wie kann ich die verfügbaren Ports oder die derzeit verwendeten Ports auflisten?

Deepak
quelle

Antworten:

12

Der lsusbBefehl liefert die Liste der erkannten USB-Geräte. Hier ist ein Beispiel:

$ lsusb
Bus 002 Device 003: ID 1c7a:0801 LighTuning Technology Inc. 
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 04ca:f01c Lite-On Technology Corp. 
Bus 001 Device 003: ID 064e:a219 Suyin Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Sie können feststellen, dass die bereitgestellten Informationen den Buspfad sowie die VendorId / DeviceId enthalten. Ich bin mir nicht sicher, was "die derzeit verwendeten Ports" tatsächlich bedeuten.

Bearbeiten
Um eine Nachricht an das Gerät auf Bus 1 Gerät 2 zu schreiben, müssen Sie auf das Gerät zugreifen

$ ls -l /dev/bus/usb/001/002  
crw-rw-r-- 1 root root 189, 1 2011-06-04 03:11 /dev/bus/usb/001/002
Alain Pannetier
quelle
Ja, ich kann das sehen, aber was mache ich jetzt, wenn ich eine Nachricht an den Port schreiben muss?
Deepak
@Deepak, ich habe die Antwort bearbeitet, um diesen Aspekt anzusprechen ;-)
Alain Pannetier
1
und ich habe echo -e / dev / bus / usb / 001/001> "message" verwendet, aber es passiert nichts
Deepak