Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este guia percorrerá as etapas necessárias para conectar um dispositivo USB a uma distribuição do Linux em execução no WSL 2 usando o projeto de software livre USB/IP, usbipd-win.
Configurar o projeto USB/IP em seu computador Windows habilitará cenários USB comuns do desenvolvedor, como piscar um Arduino ou acessar um leitor de cartão inteligente.
Pré-requisitos
- Executando o Windows 11 (Build 22000 ou posterior). (O suporte ao Windows 10 é possível, confira a observação abaixo).
- Um computador com um processador x64 ou ARM64 é necessário. (no momento, não há suporte para x86 com usbipd-win).
- O WSL está instalado e configurado com a versão mais recente.
- Distribuição do Linux instalada e definida como WSL 2.
Observação
Para verificar sua versão do Windows e o número de build, selecione a chave de logotipo do Windows + R, digite winver, selecione OK. Você pode atualizar para a versão mais recente do Windows selecionando Iniciar>Configurações>Windows Update>Verificar se há atualizações.
Para verificar sua versão do kernel do Linux, abra sua distribuição do Linux e insira o comando: uname -a. Para atualizar manualmente para o kernel mais recente, abra o PowerShell e insira o comando: wsl --update.
Importante
O WSL agora dá suporte ao Windows 10 e ao Windows 11 por meio da Microsoft Store, o que significa que os usuários do Windows 10 agora têm acesso às versões mais recentes do kernel sem a necessidade de compilar da origem. Consulte o WSL na Microsoft Store agora disponível para Windows 10 e 11 para obter informações sobre como atualizar para a versão do WSL compatível com a Store. Se você não conseguir atualizar para a versão compatível com a Loja do WSL e receber atualizações de kernel automaticamente, consulte o repositório deUSBIPD-WIN projeto para obter instruções sobre como conectar dispositivos USB a uma distribuição do Linux em execução no WSL 2 criando seu próprio kernel WSL 2 habilitado para USBIP.
Instale o projeto USBIPD-WIN
O suporte para conexão de dispositivos USB não está disponível nativamente no WSL, portanto, você precisará instalar o projeto usbipd-win de software livre.
Requisitos do kernel
Para usar o USBIPD com o Subsistema do Windows para Linux (WSL), você precisa ter uma versão do kernel linux de 5.10.60.1 ou superior. Se a versão do kernel instalada for anterior à 5.10.60.1, ela poderá ser atualizada primeiro desligando todas as instâncias em execução do WSL com wsl --shutdown, em seguida, executando o comando: wsl --update.
Instalar USBIPD no WSL
- Vá para a página de lançamento mais recente do projeto usbipd-win.
- Selecione o arquivo .msi, que baixará o instalador. (Você pode receber um aviso solicitando que confirme se confia nesse download).
- Execute o arquivo do instalador de usbipd-win_x.msi baixado.
Observação
Como alternativa, você também pode instalar o projeto usbipd-win usando o Gerenciador de Pacotes do Windows (winget). Se você já instalou o winget, basta usar o comando: winget install --interactive --exact dorssel.usbipd-win para instalar o usbipd-win. Se você deixar de fora --interativo, o winget poderá reiniciar imediatamente o computador se for necessário instalar os drivers.
Isso instalará:
- Um serviço chamado
usbipd(nome de exibição: Host de Dispositivo USBIP). Você pode verificar o status desse serviço usando o aplicativo Serviços do Windows. - Uma ferramenta de linha de comando
usbipd. O local dessa ferramenta será adicionado à variável de ambiente PATH. - Uma regra de firewall chamada
usbipdpara permitir que todas as sub-redes locais se conectem ao serviço. Você pode modificar essa regra de firewall para ajustar o controle de acesso.
Anexar um dispositivo USB
Antes de anexar seu dispositivo USB, verifique se uma linha de comando WSL está aberta. Isso manterá a VM de baixo consumo do WSL 2 ativa.
Observação
Este documento pressupõe que você tenha usbipd-win 5.0.0 instalado ou superior
Liste todos os dispositivos USB conectados ao Windows abrindo o PowerShell no modo de administrador e inserindo o comando a seguir. Depois que os dispositivos estiverem listados, selecione e copie o ID do barramento do dispositivo que você deseja associar ao WSL.
usbipd listAntes de anexar o dispositivo USB, o comando
usbipd binddeve ser usado para compartilhar o dispositivo, permitindo que ele seja anexado ao WSL. Isso requer privilégios de administrador. Selecione o identificador do barramento do dispositivo que você deseja usar no WSL e execute o comando a seguir. Depois de executar o comando, verifique se o dispositivo é compartilhado usando o comandousbipd listnovamente.usbipd bind --busid 4-4Para anexar o dispositivo USB, execute o comando a seguir. (Você não precisa mais usar um prompt de administrador elevado.) Verifique se um prompt de comando WSL está aberto para manter a VM leve do WSL 2 ativa. Observe que, enquanto o dispositivo USB estiver anexado ao WSL, ele não poderá ser usado pelo Windows. Depois que o dispositivo USB estiver anexado ao WSL, ele pode ser utilizado por qualquer distribuição que esteja rodando como WSL 2. Verifique se o dispositivo está anexado usando
usbipd list. No prompt do WSL, executelsusbpara verificar se o dispositivo USB está listado e pode ser interagido usando ferramentas do Linux.usbipd attach --wsl --busid <busid>Abra o Ubuntu (ou sua linha de comando WSL preferencial) e liste os dispositivos USB anexados usando o comando:
lsusbVocê deve ver o dispositivo que acabou de anexar e poder interagir com ele usando ferramentas normais do Linux. Dependendo do aplicativo, talvez seja necessário configurar regras de udev para permitir que usuários não raiz acessem o dispositivo.
Depois de terminar de usar o dispositivo no WSL, você poderá desconectar fisicamente o dispositivo USB ou executar este comando do PowerShell:
usbipd detach --busid <busid>
Para saber mais sobre como isso funciona, consulte o Blog de Linha de Comando do Windows e o repositório usbipd-win no GitHub.
Para obter uma demonstração de vídeo, consulte WSL 2: Conectar dispositivos USB (tabs vs Spaces show).
Windows Subsystem for Linux