Compartilhar via


Exercício 4 – Identificar problemas com dispositivos USB

Os controladores de host USB só podem desligar depois que todos os dispositivos conectados a eles tiverem entrado em um estado de baixa energia. Isso significa que os dispositivos USB devem dar suporte à suspensão seletiva em dispositivos em espera modernos para garantir que o SoC possa inserir DRIPS enquanto a tela estiver desativada.

Parte 1: Usar um relatório SleepStudy para identificar problemas

  1. Baixe o relatório desleepstudy-report_2.html pré-gerado aqui.

  2. Abra sleepstudy-report_2.html com seu navegador favorito.

    • Observe que o sistema é capaz de consumir apenas 120 mW durante o modo de espera (por exemplo, consulte Sessão em espera 6).

    Captura de tela que mostra dados de exemplo do consumo de energia dos sistemas, incluindo tempo, mWh, porcentagem da bateria e estado de drenagem

  3. Clique em Sessão 10. O sistema consome 2,83 Watts de energia durante 11 minutos e a % de DRIPS é 0.

    Captura de tela que mostra dados de exemplo da Sessão de Espera Conectada 10, incluindo hora de início, duração, alteração de energia, taxa de alteração e tempo de estado de energia percentual

  4. Olhe para a tabela Dos Principais Infratores .

    1. O controlador de host USB (_SB. PCI0. XHC) está ativo por 99% da duração da sessão.

    2. XHC é o controlador de host USB 3.0.

Captura de tela que mostra a tabela de exemplo de principais infratores.

Quando o controlador de barramento USB está ativo por minutos de cada vez no Modo de Espera Moderno, isso geralmente significa que um dispositivo USB anexado ao barramento não está entrando em suspensão seletiva, possivelmente porque não dá suporte à suspensão seletiva. A próxima etapa lógica é determinar qual dispositivo USB permanecerá em D0 examinando um rastreamento ETL.

Para obter mais informações sobre a suspensão seletiva, consulte o tópico Suspensão Seletiva de USB no MSDN.

Parte 2: Usar um rastreamento ETL para identificar problemas

Para continuar a investigação usb, um rastreamento ETL foi capturado no mesmo sistema em que o SleepStudy foi gerado.

Para investigar problemas de USB, você usará o grafo DState e a tabela.

  1. Baixe o rastreamento USBProblem.etl pré-gerado aqui.

  2. Abra USBProblem.etl com WPA.

  3. Arraste e solte o grafo DRIPS na guia análise .

  4. Examine os motivos que não são de gotejamentos e localize o controlador host xHCI USB como um dispositivo que impede que o sistema insira DRIPS.

    • Você pode ver que o dispositivo está ativo por 98% do rastreamento (conforme mostrado na coluna % De tempo de motivo ).

      Captura de tela de dados de exemplo usando o WPA.

  5. Amplie a região em que o controlador de host xHCI USB está ativo.

    1. Selecione o dispositivo na tabela.

    2. Clique com o botão direito do mouse no intervalo azul claro no grafo e selecione zoom.

    3. O % de tempo de motivo agora deve ser de 100%.

    Captura de tela do WPA ampliado na coluna Componente Responsável

  6. Localize o grafo Dstate do Dispositivo na categoria Power da Explorer do Graph.

    Captura de tela do WPA ampliado em gráficos de energia, frequência de CPU, estados ociosos da CPU e Dstate do dispositivo

  7. Arraste e solte o grafo Dstate do Dispositivo na guia análise .

    • O gráfico DState do Dispositivo mostra os Estados D efetivos dos dispositivos ao longo do tempo. Você pode usar os dados para determinar se um dispositivo específico entra no estado D apropriado enquanto o sistema está em modo de espera moderno.

      • Tipo poFx: usado para dispositivos gerenciados pelo Windows Power Management Framework.

      • Tipo não PoFx: usado para dispositivos conectados a USB.

  8. Mova a coluna DState para a direita ao lado da coluna Tipo . Seu visor deve ter esta aparência:

    Captura de tela que mostra dados DState de exemplo.

  9. Expanda a categoria Não PoFX .

  10. Expanda a linha Dstate com o valor de 0x0 (estado D0 ou ativo).

  11. Classifique pela coluna Nome e localize os dispositivos USB.

    Captura de tela que mostra dados DState de exemplo com base em dispositivos USB.

Os dados na tabela de estado D mostram que, enquanto o sistema estava em espera, um dispositivo composto USB ainda estava no estado D0 por 100% do tempo. A ID de hardware do dispositivo composto é USB\VID_0BB4&PID_0BA1\00000015B42EE80F0000000000000000. Esse é o dispositivo que estava impedindo o controlador XHCI de desligar.

Se o dispositivo for gerenciado por um driver criado pela Microsoft, relate o problema à Microsoft. Caso contrário, essas informações devem ser relatadas ao fornecedor de hardware que possui o driver para encontrar uma solução e garantir que o dispositivo entre em suspensão seletiva.