Ich habe hier eine fast übliche Linux-Maschine. Es hat also einen PCI-Bus (* -X usw.) auf einigen USB-Controllern, und ich habe USB-Geräte auf diesen USB-Controllern. Ähnlich wie dies:
$ lspci|grep USB
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
00:16.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:16.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
02:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)
Und es gibt auch einen USB-Gerätebaum, wie folgt:
$ lsusb -t
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/4p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/2p, 12M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/5p, 12M
|__ Port 5: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/5p, 12M
|__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 3: Dev 12, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 4: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/4p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
|__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 1: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 4: Dev 11, If 0, Class=Vendor Specific Class, Driver=r8712u, 480M
|__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=MOSCHIP usb-ethernet driver, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
|__ Port 1: Dev 6, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 1: Dev 6, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 1: Dev 6, If 2, Class=Audio, Driver=snd-usb-audio, 480M
|__ Port 1: Dev 6, If 3, Class=Audio, Driver=snd-usb-audio, 480M
Ich sehe also meine USB-Controller auf dem PCI-Bus und auch meine USB-Geräte auf den USB-Controllern.
Aber ich weiß nicht, welche USB-Controller-Nummer (am USB-Bus) zu welcher PCI-Bus-Nummer gehört!
Wie finde ich das?
lsusb -v | less
und suche (/
) nachiSerial
.Antworten:
Diese Informationen können aus dem
iSerial
Eintrag der ausführlichen Ausgabe des abgerufen werdenlsusb
. Am einfachsten ist es, die Ausgabe an denless
Betrachter zu übergeben und manuell zu suchen mit/
oder zum Beispiel mitgrep
:quelle
less -piSerial
;-)lsusb
wenn es inlsusb -v | grep iSerial
Abneigungen verwendet wird, etwas anderes in der Befehlszeile zu sehen, was zu Folgendem führt:Couldn't open device, some information will be missing
gefolgt voniSerial ...
. Das Mittel ist, den2>/dev/null
Mülleimer zu benutzen .