Comando lsusb de Linux: imprimir información sobre USB en el sistema
Universal Serial Bus o USB fue diseñado para estandarizar la conexión de periféricos de computadora como teclados, dispositivos señaladores, impresoras, cámaras digitales, reproductores multimedia portátiles, unidades de disco y adaptadores de red «- Fuente: Wikipedia
Desde que se convirtió en un estándar de la industria, ahora es difícil ver una computadora sin un puerto USB. El uso de USB Flashdisk lo hace más popular. En Linux, tenemos lsusb para enumerar los dispositivos USB y sus propiedades.
Que es lsusb
Desde su página de manual, lsusb se define como:
Una utilidad para mostrar información sobre los buses USB en el sistema y los dispositivos conectados a ellos.
Cómo ejecutar lsusb
Para ejecutar lsusb, puede escribir lsusb directamente desde la consola.
$ 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 le mostrará los controladores y el dispositivo que está conectado internamente en su sistema.
Así es como se lee la salida. Agarro la última línea de la salida anterior:
Bus 008 Dispositivo 002: ID 0a5c: 217f Broadcom Corp. Controlador Bluetooth
- Autobús 008: significa dónde está conectado el dispositivo
- Dispositivo 002: significa que este es el segundo dispositivo que se conecta
- IDENTIFICACIÓN : significa el número de identificación de este dispositivo
- Controlador Bluetooth Broadcom Corp.: significa el nombre del fabricante y el nombre del dispositivo
También vemos que también tenemos controladores de concentrador raíz USB 2.0 y controladores de concentrador raíz USB 1.1 conectados a nuestro sistema.
Esto también se muestra usando el comando dmesg. He aquí un ejemplo de ello.
$ 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
Cómo enumerar los detalles de USB
Usar -v
paramater para hacerlo. Aquí tienes una muestra.
$ 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 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1
Encuentra cuántos dispositivos USB están conectados
Para encontrarlo usa este comando
$ find /dev/bus
Entonces tendrás una salida como esta:
/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
Usando el comando lsusb combinar con -D
parámetro, puede imprimir el detalle del dispositivo específico. Aquí hay una muestra para ver el dispositivo Broadcom Bluetooth.
$ 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
Encuentra tu almacenamiento masivo
Ya que lsusb -v
Danos una información muy detallada, es posible que te pierdas algo para leer. Podemos enfocarnos en información específica usando el comando grep. A continuación se muestran algunos ejemplos.
El almacenamiento masivo tendrá el nombre y la identificación del proveedor. Podemos usarlo como punto de partida.
$ lsusb -v |grep -Ei '(idVendor|Mass Storage)' idVendor 0x1005 Apacer Technology, Inc. bInterfaceClass 8 Mass Storage
Puede ver que tenemos un almacenamiento masivo USB conectado a nuestro sistema de Apacer Technology, Inc.
Volcar la jerarquía de dispositivos USB físicos como un árbol
Usar -t
parámetro para cumplir con este propósito.
$ 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
El número 12M y 480M están indicando la velocidad de transferencia del tipo USB.
- 12M significa 12Mbit / s que es un tipo USB 1.0 / 1.1
- 480M significa 480Mbit / s que es un tipo USB 2.0
Si encontró 5.0G, significa que tiene el tipo USB 3.0. Tiene una tasa de transferencia de 5.0 Gbit / s. Linux reconoce el detalle de los dispositivos USB de ‘/var/lib/usbutils/usb.ids’. Puedes visitar a Linux-USB.org para obtener la lista más reciente de ID de USB o un guía práctica del bus serie universal.
Eso es todo sobre el comando lsusb a diario. Puede usar el comando lsusb para realizar una actividad de diagnóstico sobre sus dispositivos USB en su sistema. Como de costumbre, puede explorar más detalles leyendo la página del manual de lsusb. Sólo tipo hombre lsusb para ver su página de manual.