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

click fraud protection

Es posible conectar dispositivos USB en el Subsistema de Windows para Linux bajo Windows 11 y trabajar con ellos directamente.

enlaces rápidos

  • ¿Qué es usbipd-win?
  • Conecte dispositivos USB bajo el subsistema de Windows para Linux
  • ¿Hay alguna alternativa de interfaz gráfica de usuario?

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

Si es un usuario activo del subsistema de Windows para Linux y desea acceder a los dispositivos USB directamente desde la instancia de Linux que se ejecuta bajo WSL, le alegrará saber que ha habido

progreso significativo en este frente. Gracias a las contribuciones de Microsoft al código abierto usbipd-ganar proyecto, ahora puede disfrutar del acceso de transferencia USB en WSL. Significa que los usuarios finales pueden realizar tareas como flashear dispositivos Android bajo el subsistema de Windows para Linux, que de otro modo no son compatibles con el subsistema de Linux.

¿Qué es usbipd-win?

El proyecto usbipd-win tiene que ver con la creación de una solución para compartir dispositivos USB conectados localmente a otras máquinas, incluidos los invitados de Hyper-V y WSL2. Sin embargo, el kernel oficial de Linux WSL2 solía carecer de soporte para el Protocolo USB/IP, requiriendo que los usuarios construyan el kernel ellos mismos.

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

Conecte dispositivos USB bajo el subsistema de Windows para Linux

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

  1. Ejecute el siguiente comando desde WSL:
    uname -a
    Si muestra una versión de kernel de 5.10.60.1 o posterior (como se muestra a continuación), entonces está listo para comenzar.
    • Si la versión del kernel instalada es anterior a la 5.10.60.1, puede actualizarse con los siguientes comandos:
      wsl --shutdown
      wsl --update
  2. Dirígete al repositorio de GitHub del proyecto usbipd-win. Entonces descargar e instalar la última versión.
    • La última versión de usbipd-win admite la instalación silenciosa de controladores, gracias a los controladores certificados del Programa de compatibilidad de hardware de Windows. también es compatible 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 usando CLI del Administrador de paquetes de Windows (también conocido como ala).
      winget install--interactive --exact dorssel.usbipd-win
  3. Instale las 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 --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20
    • Puede optar por diferentes metapaquetes (p. 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, de acuerdo con el número de versión del metapaquete.
    • Para otras distribuciones, consulte la documentación de la herramienta de gestión de paquetes correspondiente.
  4. En caso de que el enlace simbólico creado utilizando el update-alternatives comando en el paso anterior no funcionó para usted, puede modificar manualmente las opciones de sudo para permitir que el usuario raíz encuentre el usbip dominio. Para ello, edite el /etc/sudoers archivo usando sudo visudo y añadir /usr/lib/linux-tools/-generic al principio de secure_path. Debería verse como lo siguiente:
    Defaults secure_path="/usr/lib/linux-tools/5.4.0-77-generic:/usr/local/sbin:..."
  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
  6. Anote el valor BUSID del dispositivo USB que desea conectar a WSL. A continuación, 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 host de Windows 11:
  7. Ahora abra una nueva instancia de WSL 2 y ejecute el lsusb comando para ver los dispositivos USB disponibles. Debe enumerar los dispositivos adjuntos.
  8. ¡Eso es todo! Ahora puede trabajar con su dispositivo USB directamente desde WSL.

Cuando haya terminado, puede desconectar el dispositivo usando el comando que se muestra a continuación. Una vez más, ejecútelo desde una instancia de Terminal ejecutándose como administrador.

usbipd wsl detach --busid <busid>

¿Hay alguna alternativa de interfaz gráfica de usuario?

En caso de que la interfaz de línea de comandos no sea su fuerte, puede dar wsl-usb-gui un intento. Es un envoltorio de GUI no oficial alrededor del binario usbipd-win, que simplifica enormemente la lista de dispositivos USB y la interoperabilidad entre el sistema operativo host y la instancia de WSL.

  1. Asegúrese de que esté instalada la última versión de usbipd-win y que el kernel de WSL esté actualizado.
  2. Descargue el último instalador de wsl-usb-gui de 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 verifica los requisitos previos e intenta configurarlos si es necesario. Sin embargo, sería mejor mantener todo actualizado por ti mismo para evitar problemas de compatibilidad imprevistos.
  4. Tras una instalación 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 anfitrión.
  6. Utilizar el Adjuntar y Despegar botones para liberar todo el potencial del paso de USB.

De ahora en adelante, está listo para seguir adelante y jugar con todos los dispositivos USB que desee en WSL. Nuestra guía completa lo ayudará a lo largo del camino, pero una vez que el paso de USB se configura como le gusta, simplemente se desvanece en el fondo. Para obtener más información, echa un vistazo a Documentación oficial de Microsoft sobre la conexión de dispositivos USB bajo WSL y sección Wiki GitHub de usbipd-win.

Gracias al miembro sénior de XDA Algún_nombre_de_usuario_aleatorio por la propina!