Diagnóstico USB: guia completo para depurar dispositivos USB com capturas de pacote
Fluxo completo de diagnóstico USB para engenheiros de firmware. Captura de hardware versus software, usbmon no Linux, USBPcap no Windows, depuração de enumeração, erros de descritor, falhas de transferência e comparação de sessão. Cada problema USB mapeado para uma página de diagnóstico.
Esta é a página hub para diagnóstico de dispositivos USB. Se você está depurando enumeração de firmware, vínculo de driver, falhas de transferência ou problemas de protocolo, este guia mapeia cada cenário de depuração USB para a abordagem de diagnóstico e a ferramenta certa.
Captura: analisador de hardware versus captura por software
Antes de depurar qualquer problema USB, decida como capturar o tráfego:
- USBPcap versus usbmon: captura no Windows versus Linux — Configuração de captura por plataforma. Seleção de root hub do USBPcap, permissões do usbmon e quando usar cada um.
- Configuração de captura por plataforma — Configuração detalhada de Linux usbmon e Windows USBPcap.
- Conectar a um dispositivo — Fluxo da primeira captura.
Enumeração e depuração de descritores
A enumeração USB é onde a maioria dos bugs de firmware se esconde. O dispositivo precisa responder corretamente a uma sequência de requisições de descritor antes de qualquer comunicação em nível de aplicação começar.
- Depuração de transferências de controle e pacote de setup em USB — Lendo bmRequestType, bRequest, wValue, wIndex. Entendendo o que o host está pedindo.
- Depuração de dispositivo composto USB e IAD — Problemas de Interface Association Descriptor, vínculo de driver errado, Code 10, Code 43, usbccgp.sys do Windows.
- Depuração de STALL em endpoint USB — Quando o dispositivo devolve STALL. O que significa, como diagnosticar e como o firmware deve se recuperar.
Falhas de transferência e depuração de protocolo
- UASP versus BOT em USB Mass Storage — Falhas no protocolo UASP, fallback para BOT, timeouts de comandos SCSI, loops de reset, drives externos lentos.
Depuração por plataforma
- Referência de filtros USB no Wireshark — Display filters do Wireshark para capturas USB. Filtre por dispositivo, endpoint, tipo de transferência e campo de descritor.
Comparativo
- Bus Scope versus HHD USB Monitor e Total Phase Beagle — Analisador USB por software versus por hardware — quando cada um é apropriado.
Gerenciamento de sessão
- Salvar e comparar sessões USB — Capture o comportamento do dispositivo funcionando e falhando, e compare.
- Solução de problemas de captura — Adaptador indisponível, timeline vazia, evidência faltando.
Primeiros passos
- Conectar e capturar — Configuração da primeira captura.
- Configuração por plataforma — Linux usbmon ou Windows USBPcap.
- Solução de problemas — Problemas comuns de captura.