La posibilidad de acceder a información sobre el hardware muy fácilmente es una característica distintiva de Linux. No solamente nos referimos a los dispositivos permanentes, sino también a los extraíbles. En particular, disponemos de una utilidad para mostrar la lista de dispositivos USB y sus buses de conexión. En este post hablaremos sobre el uso de lsusb
para lograr este objetivo en un equipo con Debian Stretch. ¡Comencemos!
Para el entorno gráfico, también podemos recurrir a una herramienta muy útil llamada
usbview
. Este programa permite ver en forma de alarma aquellos dispositivos conectados al sistema para los cuales no existe un driver compatible.
Uso de lsusb
Para empezar, en el archivo /var/lib/usbutils/usb.ids podemos encontrar una lista de dispositivos USB por fabricante. El comando lsusb utiliza la información disponible en dicho archivo. Estos datos pueden ser actualizados descargando la última versión desde http://www.linux-usb.org/usb.ids. En la Fig. 1 vemos la comparación entre la versión incluida en Debian Stretch y la última disponible al día de la fecha:
![Uso de lsusb: versionies del archivo usb.ids](https://blog.carreralinux.com.ar/wp-content/uploads/2018/01/uso-de-lsusb-1.png)
A fin de actualizar el archivo local, podemos hacer
wget http://www.linux-usb.org/usb.ids mv usb.ids /var/lib/usbutils
A continuación, al ejecutar lsusb
en una máquina virtual Debian Stretch 9 obtenemos los resultados mostrados en la Fig. 2. Los mismos corresponden a los resultados obtenidos antes y después de insertar un dispositivo USB a través del menú Dispositivos –> USB. Al hacerlo debemos tener en claro que la VM capturará el dispositivo. Por eso, no estará disponible para el host momentáneamente.
![Uso de lsusb para listar dispositivos USB](https://blog.carreralinux.com.ar/wp-content/uploads/2018/01/uso-de-lsusb-2.png)
Detalles
Finalmente, tomaremos como ejemplo el dispositivo resaltado en la Fig. 2. La salida de lsusb
nos indica lo siguiente:
- Bus 002: número del bus al que está conectado el dispositivo.
- Device 003: número de dispositivo conectado al Bus 002.
- ID 046d:c52b: id del dispositivo, donde 046d representa la identificación del fabricante y c52b la correspondiente al dispositivo propiamente dicho. Podemos verificar esta información con
grep -Ei '(046d|c52b)' /var/lib/usbutils/usb.ids
. - Logitech, Inc. Unifying Receiver: nombre del fabricante y del dispositivo.
Espero que este post les haya resultado útil. ¡Nos leemos en breve!
¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!