Cómo conectar dispositivos USB en el subsistema de Windows para Linux en Windows 11

Enlaces rápidos

  • Conecte dispositivos USB en el subsistema de Windows para Linux
  • ¿Existe una alternativa a la GUI?

Microsoft introdujo el Subsistema de Windows para Linux (WSL) hace un tiempo, que le permite ejecutar aplicaciones de Linux directamente desde su instalación de Windows sin necesidad de configurar una máquina virtual. Al ser una capa de compatibilidad muy compleja, WSL tenía algunas limitaciones. La implementación inicial ni siquiera utilizó un kernel de Linux completo, por lo que varias aplicaciones enfrentaron problemas de compatibilidad. La versión 2 trajo muchas mejoras, pero aún faltaba algo: soporte para conectar dispositivos USB físicos.


Te puede interesar:  Cómo instalar watchOS 8 beta en tu Apple Watch compatible

Si es un usuario activo del Subsistema de Windows para Linux y desea acceder a dispositivos USB directamente desde la instancia de Linux que se ejecuta en WSL, le alegrará saber que se han producido avances significativos en esta área. Gracias a las contribuciones de Microsoft al proyecto de código abierto usbipd-win, ahora puede disfrutar del acceso USB pass-through en WSL. Esto significa que los usuarios finales pueden realizar tareas como actualizar dispositivos Android bajo el Subsistema de Windows para Linux, que de otro modo no serían compatibles con el Subsistema de Linux.


¿Qué es usbipd-win?

El proyecto usbipd-win tiene como objetivo crear una solución para compartir dispositivos USB conectados localmente con otras máquinas, incluidos los invitados Hyper-V y WSL2. Sin embargo, el kernel oficial de Linux WSL2 no era compatible con el protocolo USB/IP, lo que requería que los usuarios construyeran el kernel ellos mismos.

Te puede interesar:  Limpiador rápido con trapeador oscilante

Desde la versión 5.10.60.1 del kernel WSL, los parámetros requeridos se configuran directamente, por lo que no es necesaria una recompilación manual. Microsoft también contribuyó al proyecto con una interfaz de línea de comandos para permitir compartir un dispositivo USB en Windows y conectarlo sin problemas desde WSL.

Conecte dispositivos USB en el subsistema de Windows para Linux

Antes de comenzar, asegúrese de estar ejecutando Windows 11 y de haber instalado todas las actualizaciones de WSL. Como se mencionó anteriormente, necesita una distribución de Linux WSL 2 para que esto funcione.

Te puede interesar:  La nueva aplicación 'Ahora en Android' tiene como objetivo ayudar a los desarrolladores a crear mejores aplicaciones

  1. Ejecute el siguiente comando desde WSL:
     uname -a 

    Si muestra la versión del kernel 5.10.60.1 o posterior (como se muestra a continuación), entonces está listo.

    Versión del kernel de WSL Ubuntu

    • Si la versión del kernel instalada es anterior a 5.10.60.1, se puede actualizar usando los siguientes comandos:
       wsl 
      wsl
  2. Vaya al repositorio de GitHub del proyecto usbipd-win. Luego descargue e instale la última versión.
    • La última versión de usbipd-win admite la instalación silenciosa de controladores mediante controladores certificados del Programa de compatibilidad de hardware de Windows. También es compatible con compilaciones de canales de desarrollo de Windows 11.
    • Además de la página de lanzamiento en GitHub, puede instalar y actualizar la aplicación utilizando la CLI del Administrador de paquetes de Windows (también conocido como Winget).
       winget install  
  3. Instale herramientas de espacio de usuario para USB/IP y una base de datos de identificadores de hardware USB. Si está ejecutando Ubuntu en WSL, ejecute los siguientes comandos:
     sudo apt install linux-tools-virtual hwdata
    sudo update-alternatives
    • Puede optar por diferentes metapaquetes (p. ej. linux-tools-generic) también, dependiendo de la distribución instalada. Sin embargo, es posible que deba ajustar la variable de ruta en el siguiente paso, según el número de versión del metapaquete.
    • Para otras distribuciones, consulte la documentación de la herramienta de administración de paquetes correspondiente.
  4. En caso de que el enlace simbólico creado utilizando el update-alternatives El comando del paso anterior no funcionó para usted, puede cambiar manualmente las opciones de sudo para permitir que el usuario root encuentre el usbip orden. Para ello, modifique el /etc/sudoers archivo usando sudo visudo y añadir /usr/lib/linux-tools/<version-number>-generic al principio de secure_path. Debe tener un aspecto como este:
     Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..." 
    WSL Ubuntu usa USBIP

  5. Abra una nueva instancia de Terminal como administrador y escriba el siguiente comando para enumerar todos los dispositivos USB conectados a Windows.
     usbipd wsl list 
    lista wsl usbipd

  6. Anote el valor BUSID del dispositivo USB que desea conectar a WSL. Luego, ejecute el siguiente comando para iniciar el proceso de archivo adjunto. WSL le pedirá una contraseña para ejecutar un comando sudo.
     usbipd wsl attach --busid <busid> 

    Por ejemplo, aquí adjuntamos la interfaz Fastboot de un dispositivo Android a WSL desde la instancia de host de Windows 11:

    Dispositivo de conexión USBIPD WSL

  7. Ahora abra una nueva instancia de WSL 2 y ejecute el lsusb comando para ver los dispositivos USB disponibles. Debería enumerar los dispositivos conectados.
    usbipd wsl Ubuntu lsusb

  8. ¡Eso es! Ahora puede trabajar con su dispositivo USB directamente desde WSL.
    inicio rápido de usbipd wsl Ubuntu

Cuando haya terminado, puede desconectar el dispositivo usando el siguiente comando. Nuevamente, ejecútelo desde una instancia de Terminal que se ejecute como administrador.

 usbipd wsl detach --busid <busid> 

¿Existe una alternativa a la GUI?

Si la interfaz de línea de comandos no es su punto fuerte, puede probar wsl-usb-gui. Este es un contenedor GUI no oficial del binario usbipd-win, que simplifica enormemente la lista de dispositivos USB y la interoperabilidad entre el sistema operativo host y la instancia WSL.

  1. Asegúrese de que esté instalada la última versión de usbipd-win y que el kernel WSL esté actualizado.
  2. Descargue el último instalador wsl-usb-gui desde la página de lanzamientos de GitLab del proyecto.
  3. Ejecute el archivo MSI que descargó.
    • Antes de instalar el programa, el instalador también comprueba los requisitos previos e intenta configurarlos si es necesario. Sin embargo, sería mejor actualizar todo usted mismo para evitar problemas de compatibilidad imprevistos.
  4. Una vez que la instalación sea exitosa, debería poder encontrar un acceso directo recién creado llamado WSL-USB en el menú Inicio. Ejecute la aplicación desde allí.
  5. Clickea en el Actualizar para completar la lista de dispositivos USB conectados al sistema operativo host.
  6. Utilizar el Adjuntar Y Despegar Botones para desbloquear todo el potencial del paso USB.

WSL USB Manager que muestra un dispositivo USB conectado a la instancia WSL

De ahora en adelante, estará listo para crear todos los dispositivos USB que desee en WSL. Nuestra guía completa lo ayudará durante el proceso, pero una vez que el paso USB esté configurado de la forma deseada, desaparecerá en segundo plano. Para obtener más información, consulte la documentación oficial de Microsoft sobre cómo conectar dispositivos USB en WSL y la sección GitHub Wiki de usbipd-win.

¡Gracias al miembro senior de XDA Some_Random_Username por el consejo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad