Como diagnosticar quedas de USB e colapso da taxa de leitura
A placa funciona e para, cai do nada ou a taxa de leitura despenca no meio da sessão. Como diferenciar suspensão seletiva, controlador compartilhado, cabo ruim e placa quente, com evidências que o fornecedor consegue usar.
Resposta curta
Falhas intermitentes de DMA quase sempre são o caminho USB, não a placa, e têm quatro causas: suspensão seletiva, controladores compartilhados, cabos no limite e calor. Mude uma variável por vez e anote quando cada queda acontece, porque é o padrão de tempo que separa uma causa da outra.
Nesta página11
- As quedas intermitentes são mesmo aleatórias?
- Qual causa combina com o seu sintoma?
- O que é a suspensão seletiva do USB?
- Outros dispositivos USB dividem o controlador da placa?
- O cabo USB pode ser o problema?
- O calor pode derrubar a placa?
- Como registrar evidências de uma queda
- Como manter um registro de quedas que o fornecedor consiga usar
- O que descartar, em ordem
- Perguntas frequentes sobre quedas de USB
- Fontes
As quedas intermitentes são mesmo aleatórias?
Um defeito que vai e volta parece aleatório, mas em geral não é. Quatro causas explicam quase todos esses defeitos, e cada uma tem uma assinatura de tempo. Antes de mudar qualquer coisa, passe uma sessão só observando. Anote o horário de cada queda, o que você estava fazendo e há quanto tempo a máquina estava ligada. Essa anotação sozinha economiza três noites trocando peça.
Qual causa combina com o seu sintoma?
Compare o formato da sua falha, não a redação dela, e use a coluna da direita, que traz o teste mais barato para isolar aquela causa.
| Formato da falha | Causa provável | Teste |
|---|---|---|
| Funciona, morre depois de alguns minutos parado e volta depois de reconectar | Suspensão seletiva do USB ou gerenciamento de energia do link colocando a ponte para dormir | Desmarque a caixinha de economia de energia daquele dispositivo e a suspensão seletiva do USB no plano de energia ativo, depois repita o tempo parado |
| Cai quando outra coisa da máquina fica ocupada — uma webcam, uma placa de captura, um HD externo | Controlador USB compartilhado: disputa de banda ou de interrupções | Mova a placa para uma porta de outro controlador, ou desconecte o outro dispositivo e repita |
| Aleatório, sem relação com carga ou tempo parado, e pior se o cabo for mexido | Cabo ou conector: só de carga, fino, longo demais ou um conector já cansado | Troque por um cabo de dados curto e sabidamente bom e não encoste nele durante uma sessão |
| Falha depois de um tempo de aquecimento constante, toda sessão, sempre por volta dos mesmos minutos | Térmico: a placa, ou o chip da ponte, num gabinete sem circulação de ar | Rode com a tampa lateral aberta e ar passando sobre a placa. Se o tempo até falhar mudar, é calor |
| A taxa de leitura já está baixa desde o primeiro segundo e nunca se recupera | O link negociou USB 2, ou há um hub ou um conector do painel frontal no caminho | Confira a velocidade negociada e vá direto para uma porta USB 3 traseira |
| Tudo cai no exato momento em que o jogo troca de cena ou carrega | Leituras em memória física não mapeada matando o caminho, e não o USB | Use um mapa de memória e teste de novo. Esta é diagnosticada como cabo o tempo todo |
Duas causas podem se somar, e um cabo no limite num controlador compartilhado falha de um jeito que não se parece com nenhuma das duas sozinhas.
O que é a suspensão seletiva do USB?
O Windows pode desligar um dispositivo USB que pareça ocioso, e os links USB 3 ainda têm estados de baixo consumo próprios em cima disso. Para um mouse isso não faz diferença visível, mas uma ponte que está prestes a receber um pedido de fluxo contínuo acorda devagar. Devagar o bastante para o software ver uma transferência falhada e desistir. Duas chaves precisam ser desligadas: a caixinha na aba Gerenciamento de Energia do dispositivo, no Gerenciador de Dispositivos, e a suspensão seletiva do USB no plano de energia ativo. Desligue as duas no segundo PC e teste de novo antes de desconfiar de qualquer coisa física.
O cabo USB pode ser o problema?
Cabos USB-C não são intercambiáveis, porque muitos são feitos só para carga e não têm par SuperSpeed nenhum. Vários cabos de dados baratos também não seguram um link USB 3 numa distância maior. E um conector que passou seis meses sendo puxado de lado cai com qualquer vibração. Tenha um cabo curto que você sabe que é bom como referência e teste com ele sempre que aparecer um defeito. Se trocar para ele mudar o comportamento, pare de investigar todo o resto.
O calor pode derrubar a placa?
Um FPGA e uma ponte USB 3 dissipam energia de verdade. Uma placa de perfil baixo espremida contra uma GPU quente, num gabinete sem entrada de ar lateral, não tem para onde mandar esse calor. O sinal é o tempo: a falha chega mais ou menos no mesmo intervalo toda sessão e some depois que a máquina passa um tempo desligada. Não damos um número de temperatura, porque ele varia de placa para placa e nenhum dos números que as pessoas publicam foi medido na sua. Teste a hipótese abrindo o gabinete, apontando uma ventoinha para a placa e vendo se o intervalo muda.
Como registrar evidências de uma queda
Estes comandos são só de leitura e rodam no SEGUNDO PC. Rode antes de uma sessão e de novo logo depois de uma queda, e guarde as duas saídas, porque a evidência é a diferença entre elas.
REM Which USB controllers exist, so you can see what shares what
powershell -c "Get-CimInstance Win32_USBController | Select-Object Name, DeviceID"
REM Every USB device and its current status. Look for Error or Unknown
powershell -c "Get-PnpDevice -Class USB | Select-Object Status, Class, FriendlyName, InstanceId"
REM Is the FTDI bridge still present right now?
powershell -c "Get-PnpDevice | Where-Object FriendlyName -like '*FT601*' | Format-List"
REM Recent device-installation and PnP configuration events
powershell -c "Get-WinEvent -LogName Microsoft-Windows-Kernel-PnP/Configuration -MaxEvents 40 | Format-Table TimeCreated, Id, Message -Auto"
REM Surprise-removal and driver-load failures in the System log
powershell -c "Get-WinEvent -FilterHashtable @{LogName='System'; StartTime=(Get-Date).AddHours(-6)} -MaxEvents 60 | Where-Object ProviderName -match 'USB|PnP|Disk' | Format-Table TimeCreated, Id, ProviderName"
REM Which sleep states this machine supports, which tells you whether suspend can be in play
powercfg /aComo manter um registro de quedas que o fornecedor consiga usar
Três sessões desse registro valem mais que três páginas de descrição, porque o registro transforma um chamado de conversa em solução.
- Anote o horário de início da sessão e há quanto tempo a máquina está ligada
- Anote o número da velocidade de leitura no início da sessão
- Quando cair, anote o horário e o que estava acontecendo: máquina parada, carregamento, troca de cena ou outro dispositivo em uso
- Copie como texto o erro exato que o software imprimiu
- Rode os comandos de status e de eventos e salve a saída deles junto do horário
- Mude exatamente uma variável, como o cabo, a porta, a opção de energia ou a circulação de ar, e repita a sessão
- Mande o registro dizendo qual foi essa mudança única, para quem ler enxergar causa e efeito em vez de uma lista de tudo que você tem
O que descartar, em ordem
A lista começa pelas causas mais baratas e mais comuns, e a maioria dos chamados de queda termina no item três.
- A suspensão seletiva do USB está desligada, tanto na caixinha do dispositivo quanto na opção do plano de energia
- A placa está ligada direto numa porta USB 3 traseira, sem nenhum hub, dock ou extensão
- Um cabo de dados curto e sabidamente bom é a referência de todos os testes seguintes
- A placa está sozinha no controlador USB dela, com os dispositivos ocupados movidos para outro lugar
- Um mapa de memória está em uso, para o caminho de leitura nunca entrar em faixas não mapeadas
- A placa tem ar passando sobre ela, testado com a tampa lateral aberta antes de comprar qualquer coisa
- As duas máquinas passam por boot a frio de verdade entre os testes, não por reinício
Perguntas frequentes sobre quedas de USB
Uma queda pode significar que fui detectado?
Não. Um dispositivo USB sumindo do segundo PC é um evento local do caminho de hardware, do mesmo tipo de um HD externo que cai. Isso também acontece em máquinas sem jogo nenhum instalado.
Um hub com fonte ajudaria se eu estiver sem portas?
Um hub continua sendo mais um elo na corrente, e é a primeira coisa que qualquer um vai pedir para você tirar. Use as portas traseiras para a placa e ponha todo o resto no hub, não o contrário.
Um cabo mais longo faz diferença mesmo nessas velocidades?
Faz. A sinalização USB 3 tem um orçamento de comprimento modesto, e cabos baratos gastam quase tudo antes de você acrescentar um metro. Mantenha curto o cabo da placa e trate o comprimento como uma variável que vale testar.
Minha taxa de leitura cai pela metade no meio da sessão mas nada desconecta. É o mesmo problema?
É da mesma família: um colapso sem desconexão costuma ser disputa no controlador ou throttling térmico em algum ponto do caminho. Use o registro de horários para diferenciar os dois.
Devo atualizar o driver FTDI para a versão mais nova?
Use a versão que veio com o seu pedido. Um driver mais novo rodando com uma versão mais antiga do software é uma fonte conhecida de comportamento intermitente estranho, que é exatamente o que você está tentando eliminar.
Fontes
As quatro causas e os padrões de tempo de cada uma vêm de trabalho de bancada, de quedas reais que a equipe ligou a suspensão, controlador compartilhado, cabos e calor.
- 01Windows debugging tools (Microsoft)
de onde vem o visualizador gratuito da árvore USB que a página menciona
learn.microsoft.com
Leia em seguida
Ainda travado? Abra um ticket no Discord
Todos os guias