AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1894433
Accepted
Kris Rice
Kris Rice
Asked: 2025-04-25 18:30:19 +0800 CST2025-04-25 18:30:19 +0800 CST 2025-04-25 18:30:19 +0800 CST

Não é possível comunicar com a placa de rede USB conectada ao host a partir do WSL

  • 772
A recompensa expira em 4 dias . As respostas a esta pergunta são elegíveis para uma recompensa de reputação de +50 . Kris Rice quer chamar mais atenção para esta questão.
Esta pergunta foi migrada do Server Fault porque pode ser respondida no Super User. Migrada há 3 dias .

Minha configuração:

Tenho um host Windows 11 com uma placa de rede USB. Configurei o WSL networkModeconforme mirrored: https://learn.microsoft.com/en-us/windows/wsl/networking#mirrored-mode-networking .

Então posso ver o adaptador dentro do Linux sem problemas.

Posso executar ping no adaptador pela linha de comando do Windows, mas não consigo executar ping na NIC pelo Linux.

  • IP da placa de rede: 192.168.2.14
  • IP do host do Windows (na placa de rede): 192.168.2.10
  • Devido ao espelhamento, IP Linux (na NIC): 192.168.2.10

O que eu tentei:

Usando o adaptador de rede padrão conectado à minha rede principal, consigo fazer ping: Linux -> Host Windows -> Adaptador de rede -> Pela rede -> Outra máquina

No entanto, não consigo fazer ping: Linux -> Windows Host -> NIC

Também tentei configurar um Adaptador Virtual Hyper-V e usá-lo, mas ainda nada.

Como último recurso, desativei todos os firewalls do Linux e do Windows, mas ainda sem sorte.

ATUALIZAR:

Retornei o modo de rede ao padrão (NAT) e usei usbipdpara permitir que o Windows passasse o adaptador USB para o WSL (já que é um dispositivo USB->Ethernet da ASIX). Isso me deixou um passo mais perto. Compilei um kernel WSL personalizado, reiniciei, instalei o módulo para o driver ASIX e o carreguei. Agora consigo ver o adaptador e definir um endereço IP para o meu ambiente Linux nele.

insira a descrição da imagem aqui

O problema: consigo fazer ping, mas o ping no terminal simplesmente trava. A luz do dispositivo pisca, o que me indica que ele está recebendo pacotes.

Então, fiz uma varredura no Wireshark para ver o que estava acontecendo. O Wireshark revelou que o adaptador ESTÁ realmente respondendo. Então, por que meu terminal está travando? Há algum outro problema?

ATUALIZAÇÃO 2 Capturei alguns logs. Consegui habilitar o registro USB/IP no kernel antes da reconstrução.

Não tenho certeza do que estou procurando nesses logs. Talvez alguém mais experiente possa identificar se há um problema aqui?

Link para o registro: https://drive.google.com/file/d/1itXr80wWiOkEglgoDIE2OP5bPNuEtjx3/view?usp=sharing

insira a descrição da imagem aqui

windows
  • 2 2 respostas
  • 17 Views

2 respostas

  • Voted
  1. Best Answer
    Kris Rice
    2025-04-30T16:24:47+08:002025-04-30T16:24:47+08:00

    Então, depois de uma semana testando diferentes drivers, diferentes tecnologias de virtualização (Hyper V, VirtualBox, Qemu) e até compilando meu próprio kernel WSL, descobri que o dispositivo está funcionando bem.

    O problema estava especificamente relacionado a ping. Depois de analisar os pacotes de resposta no Wireshark, percebi que o Checksum estava retornando errado no Linux, mas sem problemas no Windows. Percebi então que os pacotes de ping do Linux eram consideravelmente maiores do que os do Windows. Entrei em contato com o fabricante para confirmar se o tamanho máximo de pacote que o dispositivo suporta é de 50 bytes. O Linux estava tentando executar o ping com 120 bytes.

    Ping corrigido do Linux usando:

    ping -s 32 192.168.2.14
    

    O que força o ping a enviar pacotes de 32 bytes. A soma de verificação estava correta e o terminal conseguiu reportar um ping bem-sucedido.

    • 0
  2. MOD
    2025-05-01T02:43:50+08:002025-05-01T02:43:50+08:00

    Como os pacotes estão sendo transmitidos corretamente no nível da rede, modifique os parâmetros do buffer do soquete:

    bash# Apply these settings in WSL
    sudo sysctl -w net.core.rmem_max=26214400
    sudo sysctl -w net.core.rmem_default=26214400
    sudo sysctl -w net.core.netdev_max_backlog=2000
    

    Comandos de diagnóstico alternativos

    Se isso não resolver, tente estas etapas de diagnóstico para identificar onde a falha está ocorrendo:

    bash# Check where in the stack packets are being dropped
    sudo nstat -az | grep IcmpMsg
    

    Tente uma implementação de ping diferente que ignore o tratamento de soquete padrão

    sudo hping3 -1 -c 4 192.168.2.14
    

    Monitore o fluxo de pacotes com acesso direto ao soquete

    sudo tcpdump -i enx001ce5001009 'icmp[icmptype] = icmp-echoreply'
    

    Correção mais profunda para adaptadores baseados em ASIX

    Se você estiver usando um chipset ASIX (comum em adaptadores USB-Ethernet), tente estas opções específicas:

    bash# Unload and reload the driver with different buffer parameters
    sudo rmmod asix
    sudo modprobe asix rx_urb_num=16 tx_urb_num=16
    

    A principal conclusão da sua captura do Wireshark é que este não é um problema de conectividade de rede, mas sim um problema de manipulação de buffer de soquete no kernel WSL ao lidar com adaptadores de rede USB. As soluções acima podem abordar diretamente essa camada específica da pilha de rede onde a falha está ocorrendo.

    • 0

relate perguntas

  • Como desativar a aceleração do mouse em um touchpad de precisão do Windows?

  • renomear em massa conjuntos de arquivos de imagem

  • Qual seria o equivalente em lote do argumento "pass" do Python?

  • Comunique-se com o daemon do Docker no Windows

  • atalho do shell da área de trabalho no painel lateral do explorer

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve