Поделиться через


Упражнение 4. Определение проблем с USB-устройствами

Контроллеры USB-узла могут работать только после того, как все устройства, подключенные к ним, вошли в состояние низкой мощности. Это означает, что USB-устройства должны поддерживать выборочную приостановку на современных резервных устройствах, чтобы убедиться, что SoC может ввести DRIPS во время отключения экрана.

Часть 1. Использование отчета SleepStudy для выявления проблем

  1. Скачайте предварительно созданный отчет sleepstudy-report_2.html.

  2. Откройте sleepstudy-report_2.html с любимым браузером.

    • Обратите внимание, что система может использовать не более 120 мВт во время ожидания (например, см. резервный сеанс 6).

    Screenshot shows example data of the systems energy consumption including time, mWh, percent of battery, and Drain state

  3. Щелкните сеанс 10. Система потребляет 2,83 Ватс энергии в течение 11 минут, и DRIPS % составляет 0.

    Screenshot shows Connected Standby Session 10 example data including start time, duration, energy change, change rate and percentage power state time

  4. Посмотрите на таблицу "Лучшие преступники ".

    1. Контроллер USB-узла (_SB. PCI0. XHC) активен в течение 99 % от длительности сеанса.

    2. XHC — это контроллер узла USB 3.0.

Screenshot shows example table of top offenders.

Если контроллер USB-шины активен в течение нескольких минут в современном режиме ожидания, обычно это означает, что одно USB-устройство, подключенное к шине, не вводит выборочную приостановку, возможно, потому что она не поддерживает выборочную приостановку. Следующий логический шаг — определить, какое USB-устройство остается в D0, просматривая трассировку ETL.

Дополнительные сведения о выборочной приостановке см. в разделе о выборочной приостановке USB в MSDN.

Часть 2. Использование трассировки ETL для выявления проблем

Для дальнейшего изучения USB трассировка ETL была захвачена в той же системе, где была создана СпящийStudy .

Для изучения проблем с USB вы будете использовать граф и таблицу DState .

  1. Скачайте предварительно созданную трассировку USBProblem.etl здесь.

  2. Откройте USBProblem.etl с помощью WPA.

  3. Перетащите граф DRIPS на вкладке анализа .

  4. Ознакомьтесь с причинами, не входящими в капли, и найдите контроллер узла USB xHCI в качестве устройства, препятствующего системе вводить DRIPS.

    • Вы можете увидеть, что устройство активно для 98% трассировки (как показано в столбце %Reason Time ).

      Screenshot of sample data using WPA.

  5. Увеличьте область, в которой активен контроллер узла USB xHCI.

    1. Выберите устройство в таблице.

    2. Щелкните правой кнопкой мыши светло-синий интервал в графе и выберите масштаб.

    3. Время причины % должно быть 100%.

    Screenshot of WPA zoomed in on Responsible Component column

  6. Найдите граф Dstate устройства в категории Power Обозреватель Graph.

    Screenshot of WPA zoomed in on Power, CPU Frequency, CPU Idle States, and Device Dstate graphs

  7. Перетащите граф Dstate устройства на вкладке анализа.

    • На графе "Устройство DState" показаны эффективные D-состояния устройств с течением времени. Данные можно использовать для определения того, входит ли определенное устройство в соответствующее состояние D во время работы системы в современном режиме ожидания.

      • Тип PoFx: используется для устройств под управлением Windows Power Management Framework.

      • Тип, отличный от PoFx: используется для устройств, подключенных к USB.

  8. Переместите столбец DState вправо к столбцу Type. Окно просмотра должно выглядеть следующим образом:

    Screenshot shows example DState data.

  9. Разверните категорию Non-PoFX .

  10. Разверните строку Dstate со значением 0x0 (состояние D0 или активный).

  11. Отсортируйте по столбцу "Имя" и найдите USB-устройства.

    Screenshot shows example DState data based on USB devices.

Данные в таблице D-состояний показывают, что в то время как система находилась в режиме ожидания, составное USB-устройство по-прежнему находилось в состоянии D0 в течение 100 % времени. Идентификатор оборудования составного устройства — USB\VID_0BB4&PID_0BA1\0000015B42EE80F000000000000000000000000. Это устройство, которое не позволило контроллеру XHCI отключить питание.

Если устройство управляется драйвером, созданным корпорацией Майкрософт, сообщите об этой проблеме корпорации Майкрософт. В противном случае эти сведения должны быть сообщены поставщику оборудования, которому принадлежит драйвер, чтобы найти решение и убедиться, что устройство входит в выборочную приостановку.