- Uso de comandos terminal para detectar el hardware y diferenciar la velocidad entre USB 2.0 y 3.0.
- Procedimientos para solucionar errores de montaje de discos y reconocimiento de particiones.
- Ajustes en la configuración del sistema para evitar la suspensión automática de los puertos.
A veces nos ocurre que conectamos un dispositivo USB en nuestro PC con Linux y, sencillamente, no pasa absolutamente nada. Ya sea que estemos intentando montar un disco duro externo, conectar un ratón que se ha quedado dormido o configurar un DAS para ampliar el almacenamiento de nuestro servidor, encontrarse con que el sistema no reacciona puede ser un verdadero quebradero de cabeza.
Lo cierto es que Linux es muy potente para gestionar el hardware, pero a menudo la información no es evidente a simple vista. No es lo mismo que el puerto esté roto a que el sistema operativo haya decidido poner el dispositivo en modo suspensión o que estemos usando un puerto USB 2.0 cuando nuestro disco soporta USB 3.0, limitando así la velocidad de transferencia a niveles desesperantes.
Cómo saber si el sistema detecta tu dispositivo USB

Antes de entrar en pánico y pensar que el puerto ha muerto, lo primero es comprobar si el kernel de Linux ve el hardware. Para ello, la herramienta estrella es el comando lsusb. Al ejecutarlo en la terminal, obtendrás un listado detallado de todos los buses y dispositivos conectados.
Un truco muy útil para no liarse es ejecutar el comando una vez sin nada conectado y luego repetir la acción tras insertar el periférico; la diferencia entre ambas listas te dirá exactamente qué dispositivo ha sido reconocido. Verás líneas que incluyen el ID del fabricante y el ID del producto (separados por dos puntos), datos que resultan fundamentales si queremos investigar más a fondo la velocidad o la ruta del dispositivo.
Identificar la velocidad real de la conexión (USB 2.0 vs 3.0)

Es muy común que tengamos puertos de distintas generaciones en la misma máquina y no sepamos cuál es cuál. Si notas que tus transferencias de archivos son lentas (por ejemplo, rondando los 35-43 MBps), es probable que estés operando bajo el protocolo USB 2.0 en lugar del 3.0.
Para salir de dudas en distribuciones como Debian, puedes seguir este proceso técnico: primero, localiza el ID del fabricante con el comando lsusb. Después, utiliza el comando find /sys/devices/ -name idVendor -print -exec cat {} \\; | grep -B 1 [TU_ID] para hallar la ruta exacta del dispositivo en el sistema. Una vez tengas esa ruta, sustituye la palabra idVendor por speed y lee el archivo con el comando cat. Si el resultado es 480, estás en USB 2.0; si ves un 5000, ¡enhorabuena!, estás aprovechando la velocidad del USB 3.0.
Solución de problemas: ¿Por qué no monta mi memoria USB?

Si el dispositivo aparece en el listado pero no puedes acceder a sus archivos, el problema puede estar en el sistema de archivos o la partición. En estos casos, ejecutar sudo blkid es la mejor opción para ver si el sistema reconoce el formato (como EXT-4, NTFS o FAT32) y obtener el identificador único UUID.
Si el sistema no monta la unidad automáticamente, puedes intentar hacerlo a mano creando un punto de montaje con sudo mkdir /media/externaldisk y vinculando el dispositivo manualmente. Si ni siquiera el comando lsusb muestra el hardware, prueba a cambiar de puerto físico o a probar el dispositivo en otro ordenador para descartar que el periférico haya pasado a mejor vida.
Combatir el problema de la suspensión automática en Linux

En algunas distros, como Ubuntu, existe una función llamada autosuspend que puede hacer que los puertos USB dejen de alimentar el dispositivo para ahorrar energía, provocando desconexiones aleatorias. Para comprobar si esto está activo, puedes leer el parámetro con cat /sys/module/usbcore/parameters/autosuspend.
Si el valor devuelto es 2, significa que la suspensión está activa. Para desactivarla permanentemente, debes editar el archivo de configuración del cargador de arranque mediante sudo nano /etc/default/grub y añadir el parámetro usbcore.autosuspend=-1 dentro de la línea GRUB_CMDLINE_LINUX_DEFAULT. No olvides ejecutar sudo update-grub y reiniciar el equipo para que los cambios surtan efecto.
Localizar el dispositivo en el árbol de archivos /dev
Para los usuarios más avanzados que necesitan saber exactamente en qué archivo de dispositivo se encuentra su hardware (por ejemplo, para configurar una cámara o un adaptador serie), es vital entender la relación entre el Bus de lsusb y el directorio /dev. Aunque lsusb nos da la posición lógica, el sistema asigna nombres como /dev/sda1 para almacenamientos o rutas específicas para otros periféricos.
Si tienes dudas sobre dónde ha quedado asignado tu hardware, recuerda que el uso de herramientas de monitoreo en tiempo real como dmesg puede mostrarte el momento exacto en que el sistema asigna el nodo de dispositivo al insertar el cable.
Dominar el uso de lsusb, la revisión de los archivos en /sys/devices y la configuración del GRUB permite diagnosticar desde fallos de alimentación hasta cuellos de botella en la velocidad de transferencia, asegurando que cualquier periférico funcione al máximo de su capacidad en cualquier entorno Linux.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.