Что такое XHCI hand off в настройках BIOS?
Опция xhci hand off практически всегда встречается в современных материнских платах, на которых реализованы порты USB 3.0. Также данную опцию часто путают с EHCI Hand-Off. Обе они обычно имеют два состояния – Enabled (включено) и Disabled (выключено). Реже бывает значение AUTO.
В данной статье мы расскажем вам о назначении каждой из выше описанных опций, а также когда и какую из них нужно включать.
Для чего нужны EHCI Hand-Off и XHCI hand off?
Обе данные опции отвечают за включение и отключение функции контроля передачи управления контроллером USB от BIOS к операционной системе.
Разница между ними заключается в том, что EHCI Hand-Off (расшифровывается как Enhanced Host Controller Interface) контролирует передачу управления контроллера USB 2.0, а XHCI Hand Off (eXtensible Host Controller Interface) – контроллера USB 3.0.
Стоит обратить внимание на тот факт, что usb порты работают как в BIOS, так и в операционной системе. Так вот до того, как начнет грузится ОС работой контроллера USB управляет BIOS, а после загрузки ОС передает управление контроллером ей.
Ранее в этот самый момент передачи управления могли возникать проблемы и ошибки. Чтобы ошибки исключить и были придуманы опции EHCI Hand-Off и XHCI Hand Off. Последняя является продолжением первой, так как современные материнские платы имеют на своем борту eXtensible Host Controller Interface – usb контроллер, поддерживающий работу с USB 3.0.
Какое значение выставлять?
Что касается старого EHCI Hand-Off, то, начиная с Windows XP, ей нужно выставлять значение Disabled, так как механизм контроля и исключения ошибок при передачи управления контроллером USB 2.0 был интегрирован в операционную систему.
Правильные значениях для опций XHCI hand off и EHCI Hand-Off
Что касается опции XHCI Hand Off, то здесь все наоборот. Она должны быть всегда включена вне зависимости от версии операционной системы. По умолчанию включена практически на всех материнских платах.
Ее отключение может привести к сбоям в работе USB портов, а также устройств, подключенным к ним.
EHCI по-людски на русском языке
Введение
Всех приветствую. Сегодня хочу поделиться опытом и всё-таки по-моему внятно объяснить про такой, на первый взгляд, простой стандарт для USB 2.0 хост-контроллера.
Изначально можно представить себе что USB 2.0 порт — это всего лишь 4 пина, по двум из которых просто передаются данные(Как, к примеру, COM-порт), но самом деле всё не так, и даже совсем наоборот. USB-контроллер в принципе не даёт нам возможности передавать данные как через обычный COM-порт. EHCI — довольно замысловатый стандарт, который позволяет обеспечить надежную и быструю передачу данных от софта до самого девайса, и в обратную сторону.
Возможно, вам пригодиться эта статья, если, к примеру, вы не имеете достаточных навыков написания драйверов и чтение документации к хардвейру. Простой пример: хотите написать свою ОС для мини-ПК, дабы какая-нибудь винда или очередной дистрибутив линукса не загружали железо, и вы использовали всю его мощь исключительно в своих целях.
Что такое EHCI
Что же, давайте начнем. EHCI — Enhanced Host Controller Interface, предназначен для передачи данных и управляющих запросов USB-устройствам, и в другую сторону, а в 99% случаев — является связующим звеном, между каким-либо софтом и физическим устройством. EHCI работает как PCI-устройство, а соответственно использует MMIO(Memory-Mapped-IO) для управления контроллером(да-да, я знаю, что некоторые PCI-девайсы используют порты, но тут я всё обобщил). В документации от Intel описан лишь принцип работы, и никаких намеков на алгоритмы, написанные хотя бы на псевдокоде, нет вовсе. EHCI имеет 2 типа MMIO-регистров: Capability и Operational. Первые служат для получения характеристик контроллера, вторые же — для его управления. Собственно, прикреплю саму суть связи софта и EHCI контроллера:
Каждый EHCI контроллер имеет несколько портов, каждому из которых могут быть подключены какие-либо USB-устройства. Так же, прошу заметить, что EHCI является улучшенной версией UHCI, который так же был разработан Intel на несколько годов раньше. Для обратной совместимости любой UHCI/OHCI контроллер, который имеет версию ниже, чем EHCI, будет компаньоном к EHCI. К примеру, у вас есть USB-клавиатура(А большинство клавиатур года так до сих пор были именно такими), которая работает на USB 1.1(заметим, что максимальная скорость работы USB 1.1 — 12 мегабит в секунду, а FullSpeed USB 2.0 имеет пропускную способность аж в 480 мбит/сек), а у Вас имеется компьютер с USB 2.0 портом, при подключении клавиатуры к компьютеру хост-контроллер EHCI как ни как будет работать с USB 1.1. Данная модель показана на следующей схеме:
Так же на будущее хочу сразу предупредить, что Ваш драйвер может работать не правильно из-за такой вот нелепой ситуации: вы инициализировали UHCI, а после чего EHCI, при этом добавили два одинаковых устройства, поставили в регистр порта бит Port Owner Control, после чего UHCI перестал работать, из-за того, что EHCI автоматически перетягивает порт на себя, а порт на UHCI перестаёт откликаться, эту ситуацию надо отслеживать.
Так же, давайте рассмотрим схему, показывающую саму архитектуру EHCI:
Справа написано про очереди — о них чуть позже.
Регистры EHCI контроллера
Для начала хочется еще раз уточнить, что через данные регистры вы будете управлять вашим устройством, поэтому они очень важны — да и без них программирование EHCI невозможно.
Для начала вам надо получить адрес MMIO, который выдан данному контроллеру, по смещению +0x10 будет лежать адрес наших долгожданных регистров. Есть одно но: сначала идут Capability регистры, а только после них — Operational, поэтому по смещению 0(от предыдущего адреса, который мы получили по смещению 0x10 относительно начала MMIO нашего EHCI) лежит один байт — длина Capability-регистров.
Capability регистры
По смещению 2 лежит регистр HCIVERSION — номер ревизии данного HC, который занимает 2 байта и содержит BCD версию ревизии (что такое BCD можно узнать из википедии).
По смещению +4 лежит регистр HCSPARAMS, его размер — 2 слова, он содержит структурные параметры устройства и его биты показывают следующее:
Operation регистры
По смещению 0 лежит регистр USBCMD — командный регистр контроллера, его биты означают следующее:
По смещению +8 лежит регистр USBINTR — регистр включения прерываний
Чтобы долго не писать, и тем более, Вам долго не читать, значения битов данного регистра можно посмотреть в спецификации, ссылка на неё будет оставлена внизу. Сюда я просто записываю 0, т.к. абсолютно не имею желания писать обработчики, мапить прерывания и т.п., так что это я считаю почти что абсолютно бессмысленным.
По смещению +12(0x0C) лежит регистр FRINDEX, в котором просто лежит текущий номер фрейма, при чем, хочу заметить, что последние 4 бита показывают номер микро-фрейма, в старшие 28 — номер фрейма (так же значение не обязательно меньше размера frameList’а, если вам нужен индекс — лучше брать его с маской 0x3FF(или же 0x1FF, и т.п.).
Регистр CTRLDSSEGMENT лежит по смещению +0x10, он показывает хост-контроллеру старшие 32 бита адреса листа фреймов.
Регистр PERIODICLISTBASE имеет смещение +0x14, в него вы можете положить младшие 32 бита листа фреймов, заметим, что адрес должен быть выравнен по размеру страницы памяти (4096).
Регистр ASYNCLISTADDR имеет смещение +0x18, в него вы можете положить адрес асинхронной очереди, заметим, что он должен быть выравнен по границе 32 байта, при этом должен находиться в первых четырех гигабайтах физической памяти.
Регистр CONFIGFLAG показывает, настроено ли устройство. Вы должны выставить бит 0 после завершения настройки устройства, он имеет смещение +0x40.
Перейдем к регистрам портов. Каждый порт имеет свой командно-статусный регистр, каждый регистр порта располагается со смещением +0x44 + (PortNumber — 1)*4, его биты значат следующее:
Структуры передачи данных и запросов
Организация структуры для обработки запросов включает в себя очередь и трансфер дескрипторы(TDs).
На данный момент мы рассмотрим только 3 структуры.
Последовательный список
Последовательный(Периодичный, Pereodic) список устроен следующим образом:
Как видно на схеме, обработка начинается с получения нужного фрейма из фрейм листа, каждый его элемент занимает 4 байта и имеет следующую структуру:
Как видно на картинке, адрес очереди/трансфер дескриптора выровнен по границе 32 байта, бит 0 означает то, что хост-контроллер не будет обрабатывать данный элемент, биты 3:1 показывают тип того, что будет обрабатывать хост-контроллер: 0 — изосинхронный TD(iTD), 1 — очередь, 2 и 3 в данной статье я рассматривать не буду.
Асинхронная очередь
Хост контроллер обрабатывает данную очередь только тогда, когда фрейм последовательный пустой, либо хост-контроллер обработал весь последовательный список.
Асинхронная очередь представляет собой указатель на очередь, где содержатся другие очереди, которые нуждаются в обработке. Схема:
qTD(Queue Element Transfer Descriptor)
Данный TD имеет следующую структуру:
Next qTD Pointer — указатель на продолжение очереди для обработки(для Horizontal Execution), бит 0 Next qTD Pointer’а показывает, то, что дальше нет еще одной очереди.
qTD Token — токен TD, показывает параметры передачи данных:
Голова очереди
Голова очереди(Queue Head) имеет следующую структуру:
Queue Head Horizontal Link Pointer — указатель на следующую очередь, биты 2:1 имеют следующие значения в зависимости от типа очереди:
Endpoint Capabilities/Characteristics — характеристики очереди:
Переходим к самому интересному.
Драйвер EHCI
Начнем с того, какие запросы может выполнять EHCI. Есть 2 типа запросов: Control — а-ля команд, и Bulk — к конечным точкам, для обмена данными, к примеру, абсолютное большинство флешек(USB MassStorage) использует тип передачи данных Bulk/Bulk/Bulk. Мышь и клавиатура для передачи данных тоже используют Bulk — запросы.
Инициализируем EHCI и настраиваем асинхронную и последовательные очереди:
Собственно, код для сброса порта в изначальное состояние:
Control-запрос к устройству:
Код обработки очереди:
И теперь запрос к конечной точке(Bulk-запрос)
Думаю, что тема достаточно интересная, в интернете на русском документаций, описаний и статей на эту тему почти нет, а если есть — очень размыто. Если интересна тема работы с железом и разработки ОС, то есть много чего рассказать.
BIOS EHCI Hand-Off
В BIOS любой современной материнской платы, как правило, существует немало опций, связанных с настройкой внешней шины USB (Universal Serial Bus). Опция BIOS EHCI Hand-Off предназначена для включения или выключения особой функции, относящейся к работе расширенного контроллера шины EHCI. Возможными значениями опции являются лишь два варианта – Enabled (Включено) и Disabled (Выключено).
Принцип работы
Всем пользователям персонального компьютера, наверное, прекрасно известна шина USB, которая предоставляет возможность для подключения разнообразных периферийных устройств Plug-and-Play. Спецификация 2.0 шины, увидевшая свет в 2000 г., позволила устройствам передавать данные по ней с высокой скоростью – до 480 Мбит/c.
Работой USB управляет контроллер, расположенный на материнской плате. В частности, для реализации возможностей USB спецификации 2.0 был разработан контроллер шины, получивший название EHCI (Enhanced Host Controller Interface, расширенный интерфейс хост-контроллера).
В большинстве современных операционных систем существуют драйверы, которые позволяют ОС самостоятельно управлять контроллером USB. Однако до загрузки операционной системы контроллером данной шины управляет не сама ОС, а БИОС. Управление контроллером шины до загрузки может понадобиться, в частности, для использования накопителей USB, а также устройств ввода-вывода, таких, как мышь и клавиатура. Во время загрузки операционной системы осуществляется передача управления шиной от БИОС к ОС. Для этой цели в контроллере EHCI предусмотрен специальный механизм.
В старых операционных системах, например, в операционных системах, более ранних, чем Windows XP, существовали проблемы с передачей управления контроллером USB 2.0 от BIOS к операционной системе. Эти проблемы могли приводить к тому, что шиной могли управлять одновременно и драйвер BIOS, и драйвер ОС. Излишне говорить, что подобная ситуация нередко приводила к ошибкам в работе устройств, подключаемых к шине, вплоть до зависания ОС и появления «экрана смерти».
Описываемая опция запрещает передачу управления от BIOS к OC, что исключает конфликты, которые могут возникнуть при работе устройств USB. Данная проблема были исправлена с выходом обновления Windows XP – Service Pack 2. Кроме того, от этой проблемы были избавлены и последующие версии Windows, поэтому при использовании современных версий операционных систем Windows надобность во включении этой опции отпадает.
Опцию обычно можно найти в BIOS Setup в специальном разделе, отведенном для настройки параметров USB, который может называться USB Configuration (Конфигурация USB), или иметь подобное этому название.
Стоит ли включать?
Обычно нет особой необходимости во включении опции, поскольку в современных операционных системах, в частности, в операционных системах линейки Windows, таких, как Windows XP SP2 и SP3, Windows Vista, Windows 7 и 8, передача управления шиной USB от BIOS к ОС работает без проблем.
Однако если у вас установлена ОС, более ранняя, чем Windows XP SP2, то опцию лучше всего включить, установив значение Enabled. В противном случае возможны проблемы при работе устройств, использующих шину. По умолчанию данная опция, как правило, также включена.
Ehci hand off что это в биосе
В BIOS любой современной материнской платы, как правило, существует немало опций, связанных с настройкой внешней шины USB (Universal Serial Bus). Опция BIOS EHCI Hand-Off предназначена для включения или выключения особой функции, относящейся к работе расширенного контроллера шины EHCI. Возможными значениями опции являются лишь два варианта – Enabled (Включено) и Disabled (Выключено).
Принцип работы
Всем пользователям персонального компьютера, наверное, прекрасно известна шина USB, которая предоставляет возможность для подключения разнообразных периферийных устройств Plug-and-Play. Спецификация 2.0 шины, увидевшая свет в 2000 г., позволила устройствам передавать данные по ней с высокой скоростью – до 480 Мбит/c.
Работой USB управляет контроллер, расположенный на материнской плате. В частности, для реализации возможностей USB спецификации 2.0 был разработан контроллер шины, получивший название EHCI (Enhanced Host Controller Interface, расширенный интерфейс хост-контроллера).
В большинстве современных операционных систем существуют драйверы, которые позволяют ОС самостоятельно управлять контроллером USB. Однако до загрузки операционной системы контроллером данной шины управляет не сама ОС, а БИОС. Управление контроллером шины до загрузки может понадобиться, в частности, для использования накопителей USB, а также устройств ввода-вывода, таких, как мышь и клавиатура. Во время загрузки операционной системы осуществляется передача управления шиной от БИОС к ОС. Для этой цели в контроллере EHCI предусмотрен специальный механизм.
В старых операционных системах, например, в операционных системах, более ранних, чем Windows XP, существовали проблемы с передачей управления контроллером USB 2.0 от BIOS к операционной системе. Эти проблемы могли приводить к тому, что шиной могли управлять одновременно и драйвер BIOS, и драйвер ОС. Излишне говорить, что подобная ситуация нередко приводила к ошибкам в работе устройств, подключаемых к шине, вплоть до зависания ОС и появления «экрана смерти».
Описываемая опция запрещает передачу управления от BIOS к OC, что исключает конфликты, которые могут возникнуть при работе устройств USB. Данная проблема были исправлена с выходом обновления Windows XP – Service Pack 2. Кроме того, от этой проблемы были избавлены и последующие версии Windows, поэтому при использовании современных версий операционных систем Windows надобность во включении этой опции отпадает.
Опцию обычно можно найти в BIOS Setup в специальном разделе, отведенном для настройки параметров USB, который может называться USB Configuration (Конфигурация USB), или иметь подобное этому название.
Стоит ли включать?
Обычно нет особой необходимости во включении опции, поскольку в современных операционных системах, в частности, в операционных системах линейки Windows, таких, как Windows XP SP2 и SP3, Windows Vista, Windows 7 и 8, передача управления шиной USB от BIOS к ОС работает без проблем.
Однако если у вас установлена ОС, более ранняя, чем Windows XP SP2, то опцию лучше всего включить, установив значение Enabled. В противном случае возможны проблемы при работе устройств, использующих шину. По умолчанию данная опция, как правило, также включена.
Простой компьютерный блог для души)

Вот на другом сайте, на форуме оверклокеров снова читаю, что XHCI Hand-off для Windows 7 просто необходимо включать. Но по умолчанию эта опция и так должна быть включена. А вот если у вас новее винда, ну там Windows 8, Windows 10, то XHCI Hand-off нужно отключать! Это пишет один прошаренный юзер на форуме =)
Ну а вот пункт XHCI hand-off в самом биосе материнки:
Вот еще пример, тут также еще есть EHCI Hand-off:
Так, вот еще узнал, что получается XHCI Hand-off имеет отношение именно к USB 3.0, а вот EHCI Hand-off уже относится к USB 2.0…
В общем ребята. Инфы страшно мало. Толком ничего я не нашел. Но знаю одно, пункты USB 2.0 и USB 3.0 влияют на работу USB-портов, так что если какие-то траблы с USB, то попробуйте пошаманить с этими настройками.
На этом все, прошу прощение что не смог найти инфу по этим пунктам в биосе. Удачи вам и позитива!
Опция xhci hand off практически всегда встречается в современных материнских платах, на которых реализованы порты USB 3.0. Также данную опцию часто путают с EHCI Hand-Off. Обе они обычно имеют два состояния — Enabled (включено) и Disabled (выключено). Реже бывает значение AUTO.
В данной статье мы расскажем вам о назначении каждой из выше описанных опций, а также когда и какую из них нужно включать.
Для чего нужны EHCI Hand-Off и XHCI hand off?
Обе данные опции отвечают за включение и отключение функции контроля передачи управления контроллером USB от BIOS к операционной системе.
Разница между ними заключается в том, что EHCI Hand-Off (расшифровывается как Enhanced Host Controller Interface) контролирует передачу управления контроллера USB 2.0, а XHCI Hand Off (eXtensible Host Controller Interface) — контроллера USB 3.0.
Стоит обратить внимание на тот факт, что usb порты работают как в BIOS, так и в операционной системе. Так вот до того, как начнет грузится ОС работой контроллера USB управляет BIOS, а после загрузки ОС передает управление контроллером ей.
Ранее в этот самый момент передачи управления могли возникать проблемы и ошибки. Чтобы ошибки исключить и были придуманы опции EHCI Hand-Off и XHCI Hand Off. Последняя является продолжением первой, так как современные материнские платы имеют на своем борту eXtensible Host Controller Interface — usb контроллер, поддерживающий работу с USB 3.0.
Какое значение выставлять?
Что касается старого EHCI Hand-Off, то, начиная с Windows XP, ей нужно выставлять значение Disabled, так как механизм контроля и исключения ошибок при передачи управления контроллером USB 2.0 был интегрирован в операционную систему.
Правильные значениях для опций XHCI hand off и EHCI Hand-Off
Что касается опции XHCI Hand Off, то здесь все наоборот. Она должны быть всегда включена вне зависимости от версии операционной системы. По умолчанию включена практически на всех материнских платах.
Ее отключение может привести к сбоям в работе USB портов, а также устройств, подключенным к ним.
Xhci hand off что это в БИОСе?
bios ehci hand off в биосе
Опция xhci hand off практически всегда встречается в современных материнских платах, на которых реализованы порты USB 3.0. Также данную опцию часто путают с EHCI Hand-Off. Обе они обычно имеют два состояния — Enabled (включено) и Disabled (выключено). Реже бывает значение AUTO.
В данной статье мы расскажем вам о назначении каждой из выше описанных опций, а также когда и какую из них нужно включать.
Для чего нужны EHCI Hand-Off и XHCI hand off?
Обе данные опции отвечают за включение и отключение функции контроля передачи управления контроллером USB от BIOS к операционной системе.
Разница между ними заключается в том, что EHCI Hand-Off (расшифровывается как Enhanced Host Controller Interface) контролирует передачу управления контроллера USB 2.0, а XHCI Hand Off (eXtensible Host Controller Interface) — контроллера USB 3.0.
Стоит обратить внимание на тот факт, что usb порты работают как в BIOS, так и в операционной системе. Так вот до того, как начнет грузится ОС работой контроллера USB управляет BIOS, а после загрузки ОС передает управление контроллером ей.
Ранее в этот самый момент передачи управления могли возникать проблемы и ошибки. Чтобы ошибки исключить и были придуманы опции EHCI Hand-Off и XHCI Hand Off. Последняя является продолжением первой, так как современные материнские платы имеют на своем борту eXtensible Host Controller Interface — usb контроллер, поддерживающий работу с USB 3.0.
Какое значение выставлять?
Что касается старого EHCI Hand-Off, то, начиная с Windows XP, ей нужно выставлять значение Disabled, так как механизм контроля и исключения ошибок при передачи управления контроллером USB 2.0 был интегрирован в операционную систему.
Правильные значениях для опций XHCI hand off и EHCI Hand-Off
Что касается опции XHCI Hand Off, то здесь все наоборот. Она должны быть всегда включена вне зависимости от версии операционной системы. По умолчанию включена практически на всех материнских платах.
Ее отключение может привести к сбоям в работе USB портов, а также устройств, подключенным к ним.
Простой компьютерный блог для души)

Вот на другом сайте, на форуме оверклокеров снова читаю, что XHCI Hand-off для Windows 7 просто необходимо включать. Но по умолчанию эта опция и так должна быть включена. А вот если у вас новее винда, ну там Windows 8, Windows 10, то XHCI Hand-off нужно отключать! Это пишет один прошаренный юзер на форуме =)
Ну а вот пункт XHCI hand-off в самом биосе материнки:
Вот еще пример, тут также еще есть EHCI Hand-off:
Так, вот еще узнал, что получается XHCI Hand-off имеет отношение именно к USB 3.0, а вот EHCI Hand-off уже относится к USB 2.0…
В общем ребята. Инфы страшно мало. Толком ничего я не нашел. Но знаю одно, пункты USB 2.0 и USB 3.0 влияют на работу USB-портов, так что если какие-то траблы с USB, то попробуйте пошаманить с этими настройками.
На этом все, прошу прощение что не смог найти инфу по этим пунктам в биосе. Удачи вам и позитива!
В BIOS любой современной материнской платы, как правило, существует немало опций, связанных с настройкой внешней шины USB (Universal Serial Bus). Опция BIOS EHCI Hand-Off предназначена для включения или выключения особой функции, относящейся к работе расширенного контроллера шины EHCI. Возможными значениями опции являются лишь два варианта – Enabled (Включено) и Disabled (Выключено).
Принцип работы
Всем пользователям персонального компьютера, наверное, прекрасно известна шина USB, которая предоставляет возможность для подключения разнообразных периферийных устройств Plug-and-Play. Спецификация 2.0 шины, увидевшая свет в 2000 г., позволила устройствам передавать данные по ней с высокой скоростью – до 480 Мбит/c.
Работой USB управляет контроллер, расположенный на материнской плате. В частности, для реализации возможностей USB спецификации 2.0 был разработан контроллер шины, получивший название EHCI (Enhanced Host Controller Interface, расширенный интерфейс хост-контроллера).
В большинстве современных операционных систем существуют драйверы, которые позволяют ОС самостоятельно управлять контроллером USB. Однако до загрузки операционной системы контроллером данной шины управляет не сама ОС, а БИОС. Управление контроллером шины до загрузки может понадобиться, в частности, для использования накопителей USB, а также устройств ввода-вывода, таких, как мышь и клавиатура. Во время загрузки операционной системы осуществляется передача управления шиной от БИОС к ОС. Для этой цели в контроллере EHCI предусмотрен специальный механизм.
В старых операционных системах, например, в операционных системах, более ранних, чем Windows XP, существовали проблемы с передачей управления контроллером USB 2.0 от BIOS к операционной системе. Эти проблемы могли приводить к тому, что шиной могли управлять одновременно и драйвер BIOS, и драйвер ОС. Излишне говорить, что подобная ситуация нередко приводила к ошибкам в работе устройств, подключаемых к шине, вплоть до зависания ОС и появления «экрана смерти».
Описываемая опция запрещает передачу управления от BIOS к OC, что исключает конфликты, которые могут возникнуть при работе устройств USB. Данная проблема были исправлена с выходом обновления Windows XP – Service Pack 2. Кроме того, от этой проблемы были избавлены и последующие версии Windows, поэтому при использовании современных версий операционных систем Windows надобность во включении этой опции отпадает.
Опцию обычно можно найти в BIOS Setup в специальном разделе, отведенном для настройки параметров USB, который может называться USB Configuration (Конфигурация USB), или иметь подобное этому название.
Стоит ли включать?
Обычно нет особой необходимости во включении опции, поскольку в современных операционных системах, в частности, в операционных системах линейки Windows, таких, как Windows XP SP2 и SP3, Windows Vista, Windows 7 и 8, передача управления шиной USB от BIOS к ОС работает без проблем.
Однако если у вас установлена ОС, более ранняя, чем Windows XP SP2, то опцию лучше всего включить, установив значение Enabled. В противном случае возможны проблемы при работе устройств, использующих шину. По умолчанию данная опция, как правило, также включена.
Fitlet BIOS guide
The screen provides date, time and boot features settings, as well as basic system information:
The section provides advanced system features and functionality settings.
Warning: For advanced users only. Setting items to incorrect values may cause system to malfunction.
PCI Settings
PCI, PCI-X and PCI Express settings:
Power Settings
System ACPI and power management policy parameters:
TPM Settings
Note: TPM module is not assembled by default. The option relevant in high volume orders.
Trusted platform module settings:
CPU Settings
CPU configuration parameters:
Video Settings
SATA Settings
Storage devices interface configuration:
Memory Settings
Memory Configuration
SDIO Settings
SD/SDIO configuration parameters:
USB Settings
CSM16 Parameters
CSM16 configurations. Enable/Disable, Option ROM, execution settings, etc. :
CSM Parameters
OpROM execution, boot options, filter, etc. :
Secure Boot Menu
Customize secure boot settings:
Save & Exit
The exit screen provides options to save or discard changes before exiting BIOS.
ASRock X99 and USB 3.0/2.0 and the EHCI/xHCI host controllers
ASRock X99 and USB 3.0/2.0 and the EHCI/xHCI host controllers
I am having a bit of a frustrating problem related to USB on the ASRock X99 Extreme4 motherboard across both internal USB headers and external USB ports. I suspect this is the same across all of the ASRock Extreme series. In my case, attaching a USB device through virtualbox is what really brought this to my attention because I could only get devices to properly connect (and stay connected without errors) to the guest when connected through a USB 1.1 hub (IOGear GUH174), but then speed suffered substantially as a result. I also experienced various device compatibility issues which worked without issue on my older system (and work when I disable USB 3.0).
When I purchased this motherboard, I expected the USB 2.0 (black) ports to be connected to the EHCI USB host controller when USB 3.0 for the blue ports is enabled. Unfortunately, it seems that when USB 3.0 is enabled, ALL ports are connected to the xHCI host controller and when it is disabled, ALL ports are connected to the EHCI host controller and I only get 30MBps transfer speeds on USB 3.0 devices as a result. Both the EHCI and xHCI controllers are available as devices when USB 3.0 is enabled, but no USB ports get attached through the EHCI controller. When USB 2.0 is enabled, the xHCI device is no longer present.
Is it technically possible to tweak the UEFI settings such that the USB 2.0 (black) ports are connected to the EHCI host controller at the same time that the USB 3.0 ports (blue) are connected to the xHCI host controller for both backward-compatibility and performance? I tried varying a few things, but trying out every combination would be a chore. If this is not possible through the existing UEFI setting combinations, is this something that ASRock would have to change in the firmware to support and is it even possible at the chipset level to support something like this? I guess I would have to open a troubleshooting ticket to submit a request like this if the settings don’t already support something like this.
UEFI: USB 3.0 Disabled
All USB ports (3.0 + 2.0) are mapped through the C610/X99 chipset EHCI host controller.
UEFI: USB 3.0 Enabled
All USB ports (3.0 + 2.0) are mapped through the Intel USB 3.0 extensible host controller (xHCI).
To check this in windows 7/8/8.1, open up device manager and select View | Devices by Connection. In my case (8.1), the host controller is under ACPI x64-based PC | Microsoft ACPI-compliant system | PCI Express Root Complex.
Reference Intel post about how to check: Intel® USB 3.0 eXtensible Host Controller Driver — How to Check Connected USB 3.0 Devices Status?
Side note: it would also be nice to have some more detail of what the different USB options actually change under the covers in some posts or supporting documentation. Smart Auto vs Auto vs Enabled? USB Compatibility Patch?
Re: ASRock X99 and USB 3.0/2.0 and the EHCI/xHCI host controllers
I’ve noticed what you described about the USB 3.0 and 2.0 ports being provided by the XHCI controller exclusively, with USB 3.0 enabled, but never thought much about it, until now.
I found the following in the Intel X99 chipset datasheet. Other recent Intel chipsets like the Z97 are in general identical to this:
We get USB 3.0 ports only from the xHCI controller, which are apparently configured from multiple USB 2.0 data lanes. But the other surprise (to me) is the xHXI controller provides USB 2.0 support as well as 3.0 support simultaneously. It is also the default USB controller for X99 and other Intel chipsets.
We also see that the EHCI controller only supports USB 2.0, which explains why USB 3.0 is lost when the EHCI controllers are active, the xHCI controller is disabled.
I included in the picture the heading for Flexible IO, which allows configuration of PCIe lanes for various purposes. I didn’t check that section for possibility of other USB 3.0 configurations.
It seems that ASRock cannot be blamed for the general USB 3.0 and USB 2.0 configuration on their X99 and other boards. It is based upon what the chipset provides. Your question remains, can the EHCI controller be used simultaneously with the xHCI controller?
The connections of the controllers themselves to the mother board may be the limitation. The switching between the EHCI and xHCI controllers may be internal to the chipset, and limited to one or the other. Using both controllers simultaneously may use more PCIe lanes than are available, the others allocated to SATA ports, etc. A shortage of PCIe lanes should not be an issue with an X99 chipset. The answer may be in the datasheet.
Do I know of a BIOS option combination that will provide what you want? Nope.
Would I like a better (anything would be better than what we get now) description of what the USB BIOS options do? Yep.
Legacy USB Support — что это за параметр в BIOS и за что он отвечает?
Многие пользователи, особо не сведущие в настройках первичных систем ввода/вывода, довольно часто встречают среди огромного количества всевозможных параметров пункт Legacy USB Support. Что это в БИОСе, зачем нужна эта опция, особо никто не разбирается, поскольку ее значение по умолчанию обычно выставлено на Auto. Однако иногда изменять этот параметр нужно. Именно поэтому рассмотреть его следует особо.
Legacy USB Support — что это такое?
Если говорить о самой функции исходя из ее названия, нетрудно догадаться о ее предназначении. Достаточно просто перевести данный термин с английского языка. Трактовка этой опции предполагает поддержку устройств, которые подключаются к компьютеру или ноутбуку посредством соответствующих интерфейсов и портов, как раз на уровне первичной системы, как это изначально предусмотрено для всего остального «железа», подключенного к материнской плате.
Но если говорить о том, что это — Legacy USB Support, в данном конкретном случае речь идет исключительно о периферийных устройствах (мыши, клавиатуры и т. д.). Иногда этот параметр может относиться и к съемным накопителям информации. И хотя прямо это не заявлено, достаточно часто проблемы, связанные с тем, что некоторые типы флешек при установке их в качестве первого загрузочного устройства не определяются, устраняются как раз активацией этой опции. Впрочем, как показывает практика, это единичные случаи, и связаны они в основном с девайсами малоизвестных производителей или специфичного оборудования, которое поддержки в BIOS не имеет изначально.
Как включить Legacy USB Support?
Теперь несколько слов о том, какие действия можно произвести с такими параметрами. Для начала просто посмотрите на его исходное значение, выставленное по умолчанию. Обычно это опция автоматического выбора поддержки (Auto).
Но что это? В Legacy USB Support, если развернуть список всех возможных вариантов устанавливаемых значений, можно увидеть и активацию (Enabled), и отключение (Disabled). Для чего это нужно? Только для того, чтобы пользователь мог сам выбирать, нужна ли ему такая поддержка. Конечно, в случае с флешками, если они не определяются даже в случае предварительной вставки в порт, после чего производится включение компьютера с последующим входом в параметры BIOS, активация этого параметра является обязательной. Грубо говоря, вам нужно сначала вставить флешку в порт USB, а только потом включить питание, чтобы началась загрузка.
Насколько целесообразно активировать этот параметр?
Но, поскольку включение опции большей частью связано именно с периферией (чаще всего, как уже говорилось, с мышками и клавиатурами), у многих пользователей возникают законные сомнения по поводу ее активации. Неужели система сама не в состоянии определить такие компоненты? Само собой разумеется, что если речь идет именно об операционной системе, в которой за работу таких устройств отвечают установленные драйверы, вопросов быть не должно. Но вот мало кто обращает внимание на тот момент, что при отключенной поддержке такие девайсы в момент включения компьютера или ноутбука (еще до загрузки основной операционной системы) становятся недоступными.
Иными словами, внешнюю USB-клавиатуру невозможно будет использовать даже для входа в настройки BIOS. Именно поэтому полностью отключать данный параметр не рекомендуется ни под каким предлогом. По большому счету, автоматическое значение выбора включения или отключения поддержки лучше не менять вообще! А вот если вы работаете с устаревшими модификациями Windows вроде сетевой версии NT, эта опция должна быть включена в обязательном порядке.
При ее деактивации довольно часто можно будет наблюдать потерю периферийными устройствами работоспособности, о чем будет сказано в свойствах оборудования в «Диспетчере устройств» (устройство отключено, его надо включить и т. д.). Что самое печальное, активировать отключенные устройства в диспетчере в такой ситуации не получится никак.
Что это — Legacy USB Support, по всей видимости, многие уже разобрались. Что же касается главного вывода, который можно сделать из всего вышесказанного, следует отметить, что установленное по умолчанию значение автоматического задействования или деактивации в случае необходимости заданной поддержки лучше не менять, а то потом и в первичную систему войти не сможете. Придется дополнительно подключать старые клавиатуры и мыши стандарта PS/2. А что делать, если на ноутбуке таких гнезд нет, основная клавиатура вышла из строя, а USB-порты при отключенной поддержке тоже не работают? Вот вам и ответ!



















