검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 프로그램과 명령어/관리와 유지보수
참조 원문 : Find USB device details in Linux/Unix using lsusb command

1. lsusb를 통해 얻을 수 있는 정보
$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
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 001 Device 003: ID 05c8:021e Cheng Uei Precision Industry Co., Ltd (Foxlink)
Bus 001 Device 007: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth
Bus 002 Device 003: ID 0781:5567 SanDisk Corp. Cruzer Blade
  • Bus 002 : SanDisk USB가 연결된 버스 번호
  • Device 003 : 002 버스의 세 번째 장치임을 뜻함. 첫 번째 장치는 Linux Foundation 2.0 root hub, 두 번째 장치는 Intel Corp. Integrated Rate Matching Hub
  • ID 0781:5567 : 콜론 왼쪽에 있는 번호는 제조사 ID, 콜론 오른쪽에 있는 번호는 장치 ID
  • SanDisk Corp. Cruzer Blade : 제조사 및 장치명

2. 머신에 있는 USB 포트 개수 확인
$ find /dev/bus/
/dev/bus/
/dev/bus/usb
/dev/bus/usb/002
/dev/bus/usb/002/006
/dev/bus/usb/002/005
/dev/bus/usb/002/004
/dev/bus/usb/002/002
/dev/bus/usb/002/001
/dev/bus/usb/001
/dev/bus/usb/001/007
/dev/bus/usb/001/003
/dev/bus/usb/001/002
/dev/bus/usb/001/001

3. 연결된 USB 장치의 자세한 정보 출력
$ lsusb -D /dev/bus/usb/002/005
Device: ID 0951:1643 Kingston Technology DataTraveler G3 4GB
Couldn't open device, some information will be missing
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0×0951 Kingston Technology
  idProduct 0×1643 DataTraveler G3 4GB
  bcdDevice 1.00
  iManufacturer 1
  iProduct 2
  iSerial 3
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 32
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0×80
      (Bus Powered)
    MaxPower 200mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 8 Mass Storage
      bInterfaceSubClass 6 SCSI
      bInterfaceProtocol 80 Bulk-Only
      iInterface 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0×81 EP 1 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0×0200 1x 512 bytes
        bInterval 0

4. 모든 USB 포트 및 연결된 USB 장치의 자세한 정보 출력
$ lsusb -v

5. 시스템에 있는 모든 대용량 저장 장치 출력
  아래 결과로 대용량 저장 장치가 3개 있음을 알 수 있습니다.
$ lsusb -v | grep -Ei '(idVendor|Mass\ Storage)'
idVendor 0×2006
bInterfaceClass 8 Mass Storage
idVendor 0×0781 SanDisk Corp.
bInterfaceClass 8 Mass Storage
idVendor 0×0951 Kingston Technology
bInterfaceClass 8 Mass Storage

6. USB 장치들의 프로토콜 버전 출력
$ lsusb -v | grep -i bcdusb
bcdUSB 1.10
bcdUSB 2.00
bcdUSB 2.00
bcdUSB 2.00
  버전에 따른 속도는 아래와 같습니다.
  • USB 1.1 : 12Mb/s
  • USB 2.0 : 480Mb/s
  • USB 3.0 : 5Gb/s

7. USB 포트가 지원하는 속도를 트리 형태로 출력
$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
   |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
   |__ Port 1: Dev 6, If 0, Class=stor., Driver=usb-storage, 480M
   |__ Port 1: Dev 6, If 1, Class=vend., Driver=, 480M
   |__ Port 2: Dev 7, If 0, Class=stor., Driver=usb-storage, 480M
   |__ Port 3: Dev 5, If 0, Class=stor., Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M
   |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
   |__ Port 3: Dev 3, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
   |__ Port 3: Dev 3, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
   |__ Port 4: Dev 7, If 0, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
   |__ Port 4: Dev 7, If 1, Class='bInterfaceClass 0xe0 not yet handled', Driver=btusb, 12M
2013/07/15 14:33 2013/07/15 14:33