Ich muss den Titel des angeschlossenen USB-Geräts erhalten. Ich kann das mit machen lsusb
.
udev erlaubt einige Ersetzungen, wenn ich Regeln schreibe: Sagen wir, wir können verwenden $kernel
, um den Namen des Geräts abzurufen oder $devpath
um den Pfad zum Gerät abzurufen.
Das Problem ist jedoch, dass lsusb
der folgende String zurückgegeben wird:
Bus 005 Device 032: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Aber udevs Devpath ist:
/devices/pci0000:00/0000:00:1d.0/usb5/5-2
Die Busnummer ist dieselbe ( 5
), aber die Nummern sind unterschiedlich: Device 032
scheint eine logische Nummer zu sein (wenn ich das Gerät wieder anbringe, erhöht sich diese Nummer) und 2
scheint eine physische Gerätenummer zu sein.
Also gibt udev die physische Nummer zurück und ich muss die logische Nummer erhalten. Dann kann ich Daten wie folgt abrufen:lsusb -D /dev/bus/usb/005/032
Also, wie kann ich logische Gerätenummer 032
über physischen Pfad wie erhalten /devices/pci0000:00/0000:00:1d.0/usb5/5-2
?
udev
vs.lsusb
undsys/devices/..
vs./dev/bus/usb/..
und nach Ihrer Antwort zu urteilen, scheinen Sie Bescheid zu wissen :) Vielleicht können Sie etwas Licht in diese beiden Fragen bringen? askubuntu.com/questions/342061/power-on-off-usb-ports und askubuntu.com/questions/498950/…