GNU/Linux >> Tutoriales Linux >  >> Linux

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 puerto USB. El uso de USB Flashdisk lo hace más popular. En Linux, tenemos lsusb para listar los dispositivos USB y sus propiedades.

¿Qué 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. Tomo la última línea de la salida anterior:

Bus 008 Dispositivo 002:ID 0a5c:217f Controlador Bluetooth de Broadcom Corp.

  • 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 ID de este dispositivo
  • Controlador Bluetooth de 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

Utilice -v parámetro 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

Usar el comando lsusb combinar con -D parámetro, puede imprimir el detalle del dispositivo específico. Aquí hay una muestra para ver el dispositivo Bluetooth de Broadcom.

$ 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

Encuentre su almacenamiento masivo

Desde lsusb -v Danos una información muy detallada, puede que te falte algo para leer. Podemos enfocarnos en información específica usando el comando grep. Aquí hay algunos ejemplos.

El almacenamiento masivo tendrá un nombre de proveedor y una identificación. 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 del dispositivo USB físico como un árbol

Utilice -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.

  • 12 M significa 12 Mbit/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 un tipo USB 3.0. Tiene una tasa de transferencia de 5.0Gbit/s. Linux reconoce los detalles de los dispositivos USB desde '/var/lib/usbutils/usb.ids'. Puede visitar Linux-USB.org para obtener la lista más reciente de ID de USB o una 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. Simplemente escriba man lsusb para ver su página de manual.


Linux
  1. Comando de apagado de Linux (con ejemplos)

  2. Cómo usar el comando de tipo (mostrar información sobre el comando) en Linux

  3. Ejemplos de comandos "apagar" en Linux

  4. Ejemplos de comandos awk en Linux

  5. Ejemplos de comandos localectl en Linux

Comando Uptime de Linux con ejemplos

Comando Hwinfo en Linux

Comandos importantes para ver la información del hardware y del sistema en Linux

Obtener información sobre un comando con tipo de comando en Linux

Cómo obtener información de hardware en Linux usando el comando dmidecode

Ejemplos de comandos lsusb en Linux