Разделы

Новое

Беседы про BIOS и UEFI

Утилиты

Реклама

Обзоры компьютерных гаджетов, которые должны быть всегда под рукой

Новости

23.11.2016

Инициативы компании Apple по отказу от классических ...

  • Все новости (32)
  • Спонсоры



        Яндекс.Метрика
    Главная » Программы » Диагностическая утилита CheckUSB

    Диагностическая утилита CheckUSB

    В ситуации, когда к скоростному xHCI-контроллеру подключено USB 3.0 устройство, стоит определиться: осуществляется ли поддержка режима SuperSpeed или обмен идет на пониженных скоростях, более присущих протоколу USB 2.0 (High Speed — 480 Мб/сек) или даже USB 1.1 (Full Speed — 12 Мб/сек; Low Speed — 1,5 Мб/сек). Ответ на этот вопрос призвана дать утилита CheckUSB.

    Принцип работы CheckUSB 3.0

    Диагностическая утилита позволяет получить детальную информацию о текущем состоянии USB3.0 контроллера xHCI и скоростных характеристиках подключенных устройств, в частности, – принять решение о поддержке режима SuperSpeed, присущего только протоколу USB 3.0.

    Описание результатов работы CheckUSB 3.0

    Детально разберем текущее состояние контроллера USB3.0 xHCI, и смысл параметров, полученных с помощью диагностической утилиты CheckUSB 3.0. В качестве примера рассмотрим рапорт, сгенерированный на тестовой платформе, в качестве которой использован ноутбук ASUS N750JK.

    Скриншот диагностической утилиты CheckUSB
    Рис. 1. Скриншот диагностической утилиты CheckUSB

     

    xHCI memory-mapped I/O
    Базовый адрес блока регистров контроллера, адресуемых как ячейки памяти.

    Subsystem Vendor:Device
    Идентификаторы подсистемы. Код производителя 1043h используется компанией ASUS. Код устройства 129Dh используется для нескольких устройств ноутбука N750JK. Заметим, что поля Subsystem ID не идентифицируют устройство однозначно, а являются уточняющими по отношению к полям Vendor ID, Device ID.

    USB 2.0 Port Routing
    В этом поле используется 14 младших бит по максимальному количеству обслуживаемых USB2-соединений. Каждому USB2-соединению соответствует один бит. Нулевое значение бита означает, что соединение обслуживается «старым» контроллером USB2 EHCI, который также присутствует в рассматриваемом наборе системной логики в целях совместимости с устаревшим программным обеспечением. Единичное значение переводит устройство в распоряжение USB2-подсистемы контроллера xHCI. Значение 00003FFFh содержит 14 единичных битов, что означает обслуживание всех 14 соединений контроллером xHCI.

    USB 2.0 Port Routing Mask
    Каждый бит этого регистра разрешает (1) или запрещает (0) операционной системе модифицировать соответствующий бит ранее рассмотренного регистра, что означает разрешение динамически переключать устройства между контроллерами USB2 EHCI и USB3 xHCI. Значение 00003FFFh дает операционной системе разрешение на управление всеми 14 соединениями.

    USB 3.0 Port SuperSpeed Enable
    В этом поле используется 6 младших бит по максимальному количеству обслуживаемых USB3-соединений. Каждый бит этого регистра разрешает (1) или запрещает (0) детектирование и включение режима USB3 SuperSpeed. Значение 0000000Fh содержит четыре единичных бита. Отметим, что это соответствует количеству внешних SuperSpeed портов ноутбука.

    USB 3.0 Port Routing Mask
    Каждый бит этого регистра разрешает (1) или запрещает (0) операционной системе модифицировать соответствующий бит ранее рассмотренного регистра, что означает разрешение динамически включать и выключать поддержку режима SuperSpeed для каждого порта индивидуально. Здесь также получаем значение 0000000Fh, в котором четыре единичных бита.

    USB 2.0 Port Disable Override
    Каждый бит этого регистра запрещает (1) или разрешает (0) восприятие контроллером xHCI информации о USB2-соединениях. Напомним, что порты USB2 в целях совместимости также могут обслуживаются контроллером USB2 EHCI. В нашем случае, в регистре значение 00000000h разрешающее контроллеру xHCI реагировать на все события в USB2-подсистеме.

    USB 3.0 Port Disable Override
    Каждый бит этого регистра запрещает (1) или разрешает (0) восприятие контроллером xHCI информации о USB3-соединениях. Значение 00000000h разрешает контроллеру xHCI реагировать на все события в USB3-подсистеме.

    HCSPARAMS1
    Host Controller Structural Parameters. Содержит несколько битовых полей. Биты [31-24] декларируют максимальное количество USB-соединений (USB2 и USB3), обслуживаемых контроллером, с учетом конфигурирования в соответствии с архитектурой платформы, в данном случае имеем 13h=19. Поля [18-8]=MaxInterrupters, [7-0]=MaxSlots декларируют каналы взаимодействия контроллера и драйвера. В регистре 13000820h.

    Средства разработки и отладки CheckUSB 3.0

    Исходные тексты диагностической утилиты CheckUSB подготовлены в формате Flat Assembler 1.71.17. Программный продукт рассчитан на запуск в среде x64 UEFI. Текущая версия предназначена только для работы на персональных платформах, оснащенных системной логикой Intel 8 Series. Результаты работы утилиты CheckUSB возможны, если режим USB 3.0 разрешен в установках CMOS Setup.



    24.06.2017