LinuxでシステムのUSB情報を表示するlsusbコマンド

6748 ワード

ユニバーサルシリアルバス(USB)は、キーボード、マウス、プリンタ、デジタルカメラ、ポータブルメディアプレーヤー、ディスク、ネットワークアダプタなど、コンピュータの周辺機器に接続するための標準として設計されています.ソース:Wikipedia
すでに工業標準となっており、USBポートのないコンピュータを見るのは難しい.USBフラッシュメモリの使用は、より流行しています.Linuxでは、lsusbを使用してUSBデバイスとそのプロパティをリストできます.
lsusbとは
そのマニュアルではlsusbは次のように定義されています.
システム内およびシステムに接続されているUSBバス情報を表示するツール.
lsusbをどのように実行しますか?lsusbを実行するには、コンソールにlsusbを直接入力します.
$ lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 17ef:4811 Lenovo Integrated Webcam [R5U877]
Bus 008 Device 002: ID 0a5c:217f Broadcom Corp. Bluetooth Controller

lsusbには、あなたのシステムに接続されているデバイスと内部が表示されます.
出力の理解方法について説明します.上の出力の最後の行を捕まえました.
Bus 008 Device 002 : ID 0a5c:217f Broadcom Corp. Bluetooth Controller
  • Bus 008:デバイスがどのバスに接続されているかを示す
  • Device 002:バスに接続されている2台目のデバイスであることを示す
  • ID:デバイスのID
  • Broadcom Corp.Bluetooth Control:メーカー名と設備名
  • 私たちのシステムでUSB 2が同時に使用されていることもわかります.0 root hub駆動とUSB 1.1 root hub駆動.
    dmesgコマンドでも同様に表示されます.次に例を示します.
    $ dmesg |grep -i usb
    
    [ 0.353138] usbcore: registered new interface driver usbfs
    [ 0.353150] usbcore: registered new interface driver hub
    [ 0.353182] usbcore: registered new device driver usb
    [ 0.730026] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
    [ 0.730116] ehci_hcd 0000:00:1a.7: new USB bus registered, assigned bus number 1
    [ 0.748019] ehci_hcd 0000:00:1a.7: USB 2.0 started, EHCI 1.00
    [ 0.748169] hub 1-0:1.0: USB hub found
    [ 0.748336] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 2
    [ 0.768019] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
    [ 0.768147] hub 2-0:1.0: USB hub found
    [ 0.768236] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
    [ 0.768251] uhci_hcd: USB Universal Host Controller Interface driver 
    

    USBの詳細を表示する方法
    -vオプションを使用してオンにします.次に例を示します.
    $ lsusb -v
    
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 1
    bAlternateSetting 5
    bNumEndpoints 2
    bInterfaceClass 224 Wireless
    bInterfaceSubClass 1 Radio Frequency
    bInterfaceProtocol 1 Bluetooth
    iInterface 0
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0×83 EP 3 IN
    bmAttributes 1
    Transfer Type Isochronous
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0×0040 1x 64 bytes
    bInterval 1
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0×03 EP 3 OUT
    bmAttributes 1
    Transfer Type Isochronous
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0×0040 1x 64 bytes
    bInterval 1
    

    USBデバイスの接続数を特定
    次のコマンドを使用します.
    $ find /dev/bus
    

    次のような出力が表示されます.
    /dev/bus
    /dev/bus/usb
    /dev/bus/usb/008
    /dev/bus/usb/008/002
    /dev/bus/usb/008/001
    /dev/bus/usb/007
    /dev/bus/usb/007/001
    /dev/bus/usb/006
    /dev/bus/usb/006/001
    /dev/bus/usb/005
    /dev/bus/usb/005/001
    /dev/bus/usb/004
    /dev/bus/usb/004/001
    /dev/bus/usb/003
    /dev/bus/usb/003/001
    /dev/bus/usb/002
    /dev/bus/usb/002/004
    /dev/bus/usb/002/003
    /dev/bus/usb/002/001
    /dev/bus/usb/001
    /dev/bus/usb/001/001
    

    lsusbコマンドの-Dオプションを使用すると、特定のデバイスの詳細を印刷できます.次に、博通ブルートゥースデバイスの例を示します.
    $ lsusb -D /dev/bus/usb/008/002
    
    Device: ID 0a5c:217f Broadcom Corp. Bluetooth Controller
    Couldn’t open device, some information will be missing
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.00
    bDeviceClass 224 Wireless
    bDeviceSubClass 1 Radio Frequency
    bDeviceProtocol 1 Bluetooth
    bMaxPacketSize0 64
    idVendor 0x0a5c Broadcom Corp.
    idProduct 0x217f Bluetooth Controller
    bcdDevice 3.60
    iManufacturer 1
    iProduct 2
    iSerial 3
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 216
    bNumInterfaces 4
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xe0
    Self Powered
    Remote Wakeup
    MaxPower 0mA
    Interface Descriptor:
    bLength 9
    bDescriptorType 4
    bInterfaceNumber 0
    bAlternateSetting 0
    bNumEndpoints 3
    bInterfaceClass 224 Wireless
    bInterfaceSubClass 1 Radio Frequency
    bInterfaceProtocol 1 Bluetooth
    iInterface 0
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0×81 EP 1 IN
    bmAttributes 3
    Transfer Type Interrupt
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0×0010 1x 16 bytes
    bInterval 1
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0×82 EP 2 IN
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0×0040 1x 64 bytes
    bInterval 1
    Endpoint Descriptor:
    bLength 7
    bDescriptorType 5
    bEndpointAddress 0×02 EP 2 OUT
    bmAttributes 2
    Transfer Type Bulk
    Synch Type None
    Usage Type Data
    wMaxPacketSize 0×0040 1x 64 bytes
    bInterval 1 
    

    大容量ストレージデバイスの特定
    lsusb-vが私たちに詳細な情報を与えてくれた以上、いくつかの情報を見逃すかもしれません.grepコマンドを使用して、特定の情報を指定できます.
    大容量ストレージデバイスには、ベンダー名とIDがあります.私たちはそれを起点とすることができます.
    $ lsusb -v |grep -Ei ‘(idVendor|Mass\ Storage)’
    
    idVendor 0×1005 Apacer Technology, Inc.
    bInterfaceClass 8 Mass Storage
    

    私たちのシステムにはApacer Technology、IncからのUSB大容量ストレージデバイスがあります.
    USBデバイスをツリー階層で出力
    -tオプションを使用してこの要件を満たす
    $ lsusb -t
    
    /: Bus 08.Port 1: Dev 1, Class=root\_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 07.Port 1: Dev 1, Class=root\_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 06.Port 1: Dev 1, Class=root\_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 05.Port 1: Dev 1, Class=root\_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 04.Port 1: Dev 1, Class=root\_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 03.Port 1: Dev 1, Class=root\_hub, Driver=uhci_hcd/2p, 12M
    /: Bus 02.Port 1: Dev 1, Class=root\_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 1: Dev 4, If 0, Class=stor., Driver=usb-storage, 480M
    |__ Port 6: Dev 3, If 0, Class=’bInterfaceClass 0x0e not yet handled’, Driver=uvcvideo, 480M
    |__ Port 6: Dev 3, If 1, Class=’bInterfaceClass 0x0e not yet handled’, Driver=uvcvideo, 480M
    /: Bus 01.Port 1: Dev 1, Class=root\_hub, Driver=ehci_hcd/6p, 480M
    

    デジタル12 Mおよび480 Mは、USBタイプの伝送速度を指す.
  • 12 Mは、USB 1.0/1.1のレートが12 Mbit/s
  • であることを意味する.
  • 480 Mは、USB 2.0のレートが480 Mbit/s
  • であることを意味する.
    5.0 Gを見つけたら、USB 3.0タイプのインタフェースがあることを意味します.5.0 Gbit/sの伝送速度があります.Linuxは/var/lib/usbutils/usbからidsはUSBデバイスの詳細を認識します.Linux-USBにアクセスすることもできますorgは最新のUSB IDリストを取得します.
    これらがlsusbコマンドの基礎です.lsusbコマンドでシステム上のUSBデバイスを診断することができます.一般的に、lsusbのマニュアルを通じてコマンドの詳細を探ることができます.manlsabを入力してマニュアルを開くだけです.
    via: http://linoxide.com/linux-command/linux-lsusb-command-print-usb/