Драйвер расширяемого хост контроллера что это
Вы здесь: Главная USB Хост USB «Расширенный» хост-контроллер — EHC
Архитектура ЭВМ
Компоненты ПК
Интерфейсы
Мини блог
Самое читаемое
- Арифметико логическое устройство (АЛУ)
- Страничный механизм в процессорах 386+. Механизм трансляции страниц
- Организация разделов на диске
- Диск Picture CD
- White Book/Super Video CD
- Прямой доступ к памяти, эмуляция ISA DMA (PC/PCI, DDMA)
- Карты PCMCIA: интерфейсы PC Card, CardBus
- Таблица дескрипторов прерываний
- Разъемы процессоров
- Интерфейс Slot A
«Расширенный» хост-контроллер — EHC
«Расширенный» хост-контроллер EHC (Enhanced Host Controller) был введен фирмой Intel для поддержки высокой скорости в USB 2.0. Его интерфейс — EHCI — описан в документе «Enhanced Host Controller Interface Specification for Universal Serial Bus», версия 1.0 опубликована в марте 2002 года. Контроллер EHC предназначен для работы с устройствами только на высокой скорости подключения к корневому хабу, при этом для устройств FS/LS, которые подключены через промежуточный хаб USB 2.0, контроллер EHC выполняет расщепленные транзакции. С теми портами корневого хаба, к которым непосредственно подключены хабы и устройства USB 1.x, работает контроллер-компаньон (UHC или OHC). Коммутацию портов и контроллеров осуществляет маршрутизирующая логика, входящая в состав корневого хаба USB 2.0. Обнаружением подключения устройств к корневому хабу занимается драйвер EHC через регистры EHC. Обнаружив подключение FS/LS-устройства, драйвер перекоммутирует данный порт на контроллер-компаньон, и с этого момента порт отдается в ведение компаньону и его драйверу. Компаньон и его драйвер могут и не «знать» о том, что они работают в составе контроллера USB 2.0. Для портов, остающихся в ведении EHC, эмулируется внешний хаб — ПО манипулирует портами, используя стандартные запросы к хабам USB.
Контроллер EHC имеет конфигурационные регистры PCI, операционные регистры ввода/вывода, отображенные на пространство памяти (memory mapped I/O) и использует область системной памяти для взаимодействия с драйвером. С точки зрения взаимодействия с драйвером EHC отчасти напоминает UHC, но высокая скорость передачи (480 Мбит/с) потребовала усиления интеллекта контроллера с целью уменьшения числа операций обмена между драйвером, памятью и контроллером. В EHC просматриваются многие идеи, заложенные в OHC. Структуры данных разработаны с учетом минимизации обращений к памяти. Все структуры должны размещаться в памяти так, чтобы они не пересекали границы четырехкилобайтных страниц памяти — это позволяет оптимизировать сосуществование OHC с виртуальной памятью, основанной на страничной переадресации, применяемой в процессорах x86.
В EHCI с точки зрения планирования транзакций передачи делятся на периодические (изохронные и прерывания) и асинхронные (управляющие передачи и массивы). Каждый из этих двух планов реализуется по-своему и может быть включен в работу и выключен. Контроллер начинает каждый микрокадр с выполнения периодических передач (если они разрешены), оставшееся от них время выделяется для выполнения асинхронных передач (аналогично UHC). За то, чтобы в микрокадре оставалось время для асинхронных передач, отвечает драйвер. Хост-контроллер аппаратно следит лишь за тем, чтобы транзакции не пересекали границу микрокадра: если контроллер «видит», что транзакция может не успеть завершиться к моменту EOF1, он ее не начнет. При этом возможна перестраховка, поскольку точное время исполнения транзакции заранее не известно (неизвестно, сколько придется вставить бит и каковы задержки в кабелях, хабах и устройстве).
Для всех передач с гарантированной доставкой (прерывания, управление и массивы) используются структуры данных qTD (Queue Element Transfer Descriptor), описывающие очереди буферов, обеспечивающие автоматическое упорядоченное исполнение потоков передач. В EHC под передачей понимается последовательность однотипных транзакций; ограничен лишь суммарный размер передаваемых блоков (20 Кбайт). Транзакции управления хост планирует как последовательность двух-трех «передач» (в терминах EHC). Драйвер может динамически (во время исполнения плана) добавлять новые передачи в очереди. Контроллер аппаратно поддерживает сигнализацию окончания блоков короткими пакетами: приняв короткий пакет, контроллер может пойти по альтернативной последовательности передач для данной очереди (то есть организуется условный переход). Для изохронных передач используются специальные структуры данных (iTD — Isochronous Transaction Descriptors для HS и siTD — Split-transaction IsochronousTransfer Descriptors для расщепления транзакций с FS-устройствами). Для изохронных передач на HS дескриптор может описывать передачу до 24 Кбайт данных, на FS — до 1023 байт.
Основой планирования периодических транзакций является список кадров (Frame List) на 1024, 512 или 256 вхождений. Базовый адрес и длина списка устанавливается программно, текущий элемент списка выбирается по счетчику кадров. Исполнение плана начинается в каждом микрокадре, таким образом, каждый текущий элемент списка выбирается 8 раз подряд, после чего контроллер переходит к следующему элементу. Элемент списка может указывать на iTD, siTD или заголовок очереди (QH), относящейся к прерываниям. Кроме того, он может указывать на специальные структуры (FSTN), используемые для обеспечения корректности отработки расщепленных транзакций около границы кадра. В элементе списка кроме собственно указателя имеется идентификатор типа структуры (Typ), на которую ссылается указатель (iTD, siTD, QH или FSTN), а также признак заглушкитерминатора (T). Все дескрипторы изохронных передач и заголовки очередей имеют «горизонтальный» указатель на следующую структуру, в котором также задается и тип (Typ) этой структуры, и признак заглушки-терминатора (T). Цепочка дескрипторов и заголовков очередей, начинающаяся от списка кадров, должна завершаться дескриптором (или заголовком), у которого установлен признак заглушки-терминатора (T). Только отработав такой дескриптор (или заголовок), контроллер приступает к исполнению плана асинхронных передач.
Для упрощения планирования расщепленных транзакций (они не должны пересекать границу кадра) контроллер организует фазовый сдвиг между кадрами шины (BFrame), которые видны хабам и устройствам по факту смены номера кадра в маркере SOF, и кадрами хоста (HFrame), которыми оперирует драйвер при построении планов и по которым выбираются периодические транзакции из списка кадров. Кадры шины отстают от кадров хоста на один микрокадр, более подробные пояснения (но не мотивы) приведены в спецификации EHCI. Для обслуживания расщепленных периодических транзакций имеется специальная структура (узел) FSTN, содержащая пару указателей: нормальный, обеспечивающий переход к следующей структуре (iTD, siTD, QH или FSTN), и обратный, который может указывать только на заголовок очереди. Нюансы планирования расщепленных транзакций здесь приводить не будем, с ними можно ознакомиться в спецификации EHCI.
Основой планирования непериодических транзакций является асинхронный список (asynchronous list), представляющий собой кольцо из заголовков очередей. В OHC регистр AsyncListAddr указывает на текущий элемент списка; к отработке этого элемента контроллер приступает, завершив отработку периодических передач в данном микрокадре (или сразу, если периодические передачи запрещены или отсутствуют). Далее, по мере отработки очередей, контроллер заносит в этот регистр адреса последующих указателей. Таким образом, обслуживание всех асинхронных очередей выполняется по кругу, без привязки к конкретным кадрам. Контроллер останавливает обход асинхронного списка, когда обнаруживает опустошение всех его очередей, для возобновления обхода требуется вмешательство драйвера. Нормальной дисциплиной обслуживания очередей является отработка одной шинной транзакции из очереди, после чего контроллер переходит к следующей очереди. Возможен и специальный режим парковки (Asynchronous Schedule Park Mode), в котором контроллеру разрешается выполнять подряд по несколько транзакций из одной очереди. Режим парковки распространяется на все очереди высокоскоростных асинхронных передач.
Дескриптор iTD описывает изохронную передачу, которая может выполняться за1–8 этапов (микрокадров, в которых происходит обращение к данному дескриптору). Каждому этапу в дескрипторе соответствует своя запись (transaction record), управляющая выполнением и отражающая состояние транзакции (активность, ошибки выполнения, необходимость прерывания по выполнению, реальная длина) и содержащая указатель на буфер данных. Каждый этап может выполняться за 1–3 транзакции в микрокадре (точка может быть широкополосной). Дескриптор содержит и описание конечной точки: адрес устройства и точки, направление, размер пакета. Контроллер формирует транзакции исходя из указанного размера пакета. Буферы для данных могут располагаться в разных физических страницах памяти, но логически они должны представлять собой непрерывную область в виртуальной памяти. Для хранения данных (максимум 8 этапов по три транзакции по 1024 байт — 24 576 байт) может потребоваться до 7 страниц по 4 кбайт; для всех этих страниц в дескрипторе имеются соответствующие указатели.
Дескриптор siTD описывает одну расщепленную транзакцию. Адресная часть содержит номер и направление конечной точки, адрес устройства, а также адрес и номер порта хаба, выполняющего трансляцию данной транзакции. В дескрипторе имеются поля битовых масок μFrame_S-mask и μFrame_C-mask, определяющих, в каких микрокадрах данного кадра должны выполняться транзакции SS и CS соответственно. Контроллер в дескрипторе отмечает микрокадры, в которых в действительности происходили транзакции CS. Дескриптор имеет обычный набор полей, управляющих выполнением и отражающих состояние транзакции (активность, ошибки выполнения, необходимость прерывания по выполнению, реальная длина). Кроме того, в siTD имеются специфические поля, управляющие текущей фазой (SS или CS), а также признак специфической ошибки расщепленной транзакции — пропуска микрокадра, в котором должна выполняться очередная транзакция CS. Этот пропуск может случиться, если контроллер не выпустит текущую транзакцию из-за нехватки времени в микрокадре. Блок передаваемых данных (до 1023 байт) может располагаться в одной или двух физических страницах памяти, и в дескрипторе для них имеются необходимые указатели. В siTD имеется специфический элемент — обратный указатель (Back Pointer) на siTD предыдущего кадра, который используется при планировании транзакций IN, завершающихся близко к границе кадра.
Элемент очереди-дескриптор передачи qTD, описывает одну передачу размером до 20 480 байт. Дескриптор привязан к своему заголовку очереди (QH); он содержит пару указателей на следующие элементы данной очереди:
- основной, указывающий на дескриптор следующей передачи, которую требуется выполнить после нормального завершения текущей;
- альтернативный, указывающий на дескриптор передачи, которую требуется выполнить в случае завершения текущей передачи по приему короткого пакета
Дескриптор имеет обычный набор полей, управляющих выполнением и отражающих состояние транзакции: активность, ошибки выполнения, необходимость прерывания по выполнению, используемый маркер (IN, OUT или SETUP). В дескрипторе указывается общая длина передачи. Буфер данных для передачи должен располагаться в непрерывной области виртуальной памяти; для описания буфера передачи максимальной длины имеется массив из пяти указателей физических страниц.
Заголовок очереди QH создается для каждой сконфигурированной неизохронной конечной точки каждого устройства USB. Заголовки очередей непериодических конечных точек связаны между собой по горизонтали в кольцо, для чего в каждом заголовке имеется соответствующий указатель. Заголовок очереди несет исчерпывающее описание конечной точки: номер и направление точки, максимальный размер пакета, число пакетов в микрокадре (для широкополосных точек), адрес устройства, его скорость. Для FS/LS устройств имеется и информация для выполнения расщепленных транзакций: номер хаба и порта, выполняющего расщепление транзакций, маски микрокадров для транзакций SS и CS. В заголовке очереди имеется оверлейная область, в которую контроллер помещает необходимые ему поля qTD текущей транзакции. Продвижение по очереди осуществляет контроллер, помещая в оверлей следующий qTD после завершения отработки предыдущего.
Контроллер EHC вырабатывает прерывания для разных категорий событий, и категории могут быть селективно замаскированы:
- по завершении передачи, в дескрипторе которой имеется соответствующий признак, а также по приему короткого пакета. Эти прерывания могут быть задержаны по времени до определенного задаваемого программно порога, что позволяет снизить частоту запросов прерывания от EHC. Без задержки частота запросов может достигать частоты микрокадров (для IBM PC это слишком часто); с задержкой они не смогут появляться быстрее, чем определяет значение порога;
- по событию хост-контроллера: оборот по списку кадров, изменению состояния или перегрузке портов хаба, специальному разрешению программного изменения последовательности заголовков очередей, по ошибке системного подключения (переполнение или переопустошение буфера FIFO из-за занятости шины PCI).
Постановка запросов передач в очереди, как и включение изохронных передач в план, а также добавление/удаление очередей может выполняться драйвером динамически, во время работы хост-контроллера. Однако для сохранения целостности и связанности структур программа должна соблюдать определенные правила взаимодействия, чтобы не пытаться изменять структуры, которые в данный момент отрабатываются контроллером. Для этой синхронизации хост-контроллер использует специальные биты-признаки в своем регистре состояния и в структурах данных. Для «сбора урожая» — поиска отработанных передач — драйверу приходится просматривать во всех дескрипторах передач признаки активности. Такого сервиса, как очередь исполненных передач (как в OHC), контроллер EHC не предоставляет. Но по сравнению с UHC, конечно же, объем работ драйвера EHC сокращается, поскольку этот контроллер оперирует передачами, а не транзакциями. Однако у драйвера EHC появляется дополнительная довольно сложная задача — планирование расщепленных транзакций.
Установка Драйвер расширяемого хост-контроллера Intel® USB 3.0 (версия 5.0.4.43v2) для семейство наборов микросхем Intel® серии 8/C220 и платформы процессоров Intel® Core™ серии U 4-го поколения.
Лицензия на использование программного обеспечения Intel
Для скачивания этого файла Intel требует принять лицензионное соглашение. Хотите пересмотреть свое решение?
Файлы, доступные для скачивания
- Windows 7, 32-bit*, Windows Server 2008 R2 family*, Windows 7, 64-bit*
- Размер: 5.3 MB
- SHA1: 5244B40174445A63781BCF00EDA8806CF1F2449F
Подробное описание
Примечание: Приложение Драйвер расширяемого хост-контроллера Intel® USB 3.0 не поддерживается в ОС Windows XP* и Windows Vista*.
Новая версия: 5.0.4.43v2.
Не знаете, подходит ли драйвер или программное обеспечение для вашего набора микросхем Intel®? Запустите Приложение Intel® Driver & Support Assistant (Intel® DSA) для автоматического обнаружения обновлений драйвера или программного обеспечения.
О Intel® software и драйверах
Драйвер или программное обеспечение для вашего компонента Intel® могли быть изменены или заменены производителем компьютера. Перед установкой нашего драйвера мы рекомендуем вам обратиться к производителю компьютера, чтобы вы не потеряли функции или настройки.
Этот скачиваемый файл подходит для нижеуказанных видов продукции.
- Набор микросхем Intel® C236
- Набор микросхем Intel® H170
- Набор микросхем Intel® X99
- Набор микросхем Intel® C232
- Набор микросхем Intel® QM170 для мобильных ПК
- Набор микросхем Intel® H97
- Набор микросхем Intel® Q150
- Набор микросхем Intel® HM86
- Набор микросхем Intel® HM175 для мобильных ПК
- Набор микросхем Intel® C224
- Набор микросхем Intel® QM87
- Набор микросхем Intel® Q85
- Набор микросхем Intel® B150
- Набор микросхем Intel® Q170
- Набор микросхем Intel® Q87
- Набор микросхем Intel® Z97
- Набор микросхем Intel® Z87
- Набор микросхем Intel® H110
- Набор микросхем Intel® C612
- Набор микросхем Intel® HM170 для мобильных ПК
- Набор микросхем Intel® QM175 для мобильных ПК
- Набор микросхем Intel® H87
- Набор микросхем Intel® HM87
- Набор микросхем Intel® Z170
- Набор микросхем Intel® C222
- Набор микросхем Intel® B85
- Набор микросхем Intel® C226
- Набор микросхем Intel® H81
Документация
Содержание данной страницы представляет собой сочетание выполненного человеком и компьютерного перевода оригинального содержания на английском языке. Данная информация предоставляется для вашего удобства и в ознакомительных целях и не должна расцениваться как исключительная, либо безошибочная. При обнаружении каких-либо противоречий между версией данной страницы на английском языке и переводом, версия на английском языке будет иметь приоритет и контроль. Посмотреть английскую версию этой страницы.
Для работы технологий Intel может потребоваться специальное оборудование, ПО или активация услуг. // Ни один продукт или компонент не может обеспечить абсолютную защиту. // Ваши расходы и результаты могут отличаться. // Производительность зависит от вида использования, конфигурации и других факторов. // См. наши юридические уведомления и отказ от ответственности. // Корпорация Intel выступает за соблюдение прав человека и избегает причастности к их нарушению. См. Глобальные принципы защиты прав человека в корпорации Intel. Продукция и программное обеспечение Intel предназначены только для использования в приложениях, которые не приводят или не способствуют нарушению всемирно признанных прав человека.
В этом разделе представлен обзор архитектуры стека драйверов универсальной последовательной шины (USB).
На следующем рисунке показана схема архитектурного блока стека USB-драйверов для Windows 8. На схеме показаны отдельные стеки драйверов USB для USB 2.0 и USB 3.0. Windows загружает стек драйверов USB 3.0, когда устройство подключено к контроллеру xHCI. Стек USB 3.0 является новым в Windows 8.
Windows загружает стек драйверов USB 2.0 для устройств, подключенных к контроллерам eHCI, oHCI или uHCI. Стек драйверов USB 2.0 поставляется в Windows XP с пакетом обновления 1 (SP1) и более поздними версиями операционной системы Windows.
Стек драйверов USB 3.0
Стек USB 3.0 является новым в Windows 8. Корпорация Майкрософт создала новые драйверы с помощью интерфейсов платформы драйверов в режиме ядра (KMDF). Модель драйвера KMDF снижает сложность и повышает стабильность.
Драйвер контроллера узла USB 3.0 (Usbxhci.sys)
Драйвер xHCI — это драйвер контроллера узла USB 3.0. Обязанности драйвера xHCI включают инициализацию регистров MMIO и структур данных на основе памяти узла для оборудования контроллера xHCI, сопоставление запросов на передачу из драйверов верхнего слоя в блоки запросов и отправку запросов на оборудование. После завершения передачи драйвер обрабатывает события завершения передачи из оборудования и распространяет события в стек драйверов. Он также управляет слотами устройств контроллера xHCI и контекстами конечных точек.
Драйвер xHCI является новым в Windows 8 и не является расширением мини-порта eHCI, который был доступен в более ранних версиях операционной системы. Новый драйвер был написан с помощью интерфейсов платформы драйвера режима ядра (KMDF) и использует KMDF для всех событий управления питанием контроллера и PnP. Windows загружает драйвер xHCI в качестве объекта устройства-функции (FDO) в стеке устройств для контроллера узла.
Расширение контроллера узла USB (Ucx01000.sys)
Драйвер расширения контроллера узла USB (расширение для KMDF) — это новое расширение для базового драйвера контроллера узла конкретного класса, например драйвера xHCI. Новый драйвер расширяем и предназначен для поддержки других типов драйверов контроллера узла, которые, как ожидается, будут разработаны в будущем. Расширение контроллера узла USB служит общим абстрактным интерфейсом для драйвера концентратора, предоставляет универсальный механизм для очередей запросов к драйверу контроллера узла и переопределяет определенные выбранные функции. Все запросы ввода-вывода, инициированные верхними драйверами, достигают драйвера расширения контроллера узла перед драйвером xHCI. После получения запроса ввода-вывода расширение контроллера узла проверяет запрос, а затем пересылает запрос в соответствующую очередь KMDF, связанную с целевой конечной точкой. Драйвер xHCI, когда он готов к обработке, получает запрос из очереди. Обязанности драйвера расширения контроллера узла USB:
- Предоставляет объекты, зависящие от USB, драйверу xHCI.
- Предоставляет подпрограммы обратного вызова событий KMDF драйверу xHCI.
- Управляет операциями корневого концентратора, связанного с контроллером узла, и управляет ими.
- Реализует функции, настраиваемые драйвером клиента, такие как связанные MDLs, потоки и т. д.
Драйвер USB-концентратора (Usbhub3.sys)
Новый драйвер концентратора в стеке USB-драйверов для устройств 3.0 использует модель драйвера KMDF. Драйвер концентратора в первую очередь выполняет следующие задачи:
- Управляет USB-концентраторами и их портами.
- Перечисляет устройства и другие концентраторы, подключенные к их подчиненным портам.
- Создает объекты физических устройств (PDO) для перечисляемых устройств и концентраторов.
Windows загружает драйвер концентратора в качестве FDO в стеке устройств концентратора. Перечисление устройств и управление концентратором в новом драйвере реализуются с помощью набора конечных машин. Драйвер концентратора использует KMDF для управления питанием и функций PnP. Помимо управления концентратором драйвер концентратора также выполняет предварительные проверки и обработку определенных запросов, отправленных на уровне драйвера USB-клиента. Например, драйвер концентратора анализирует запрос на выборку конфигурации, чтобы определить, какие конечные точки будут настроены запросом. После анализа информации драйвер концентратора отправляет запрос в расширение контроллера USB-узла или дальнейшую обработку.
Стек драйверов USB 2.0
Windows загружает стек драйверов USB 2.0 для устройств, подключенных к контроллерам eHCI, oHCI или uHCI. Драйверы в стеке драйверов USB 2.0 в Windows XP с пакетом обновления 1 (SP1) и более поздними версиями операционной системы Windows. Стек драйверов USB 2.0 предназначен для упрощения высокоскоростных USB-устройств, как определено в спецификации USB 2.0.
В нижней части стека USB-драйверов находится драйвер контроллера узла. Он состоит из драйвера портов, Usbport.sys и одного или нескольких из трех драйверов мини-порта, которые выполняются параллельно. Когда система обнаруживает оборудование контроллера узла, он загружает один из этих мини-драйверов. Драйвер мини-порта после загрузки загружает драйвер порта Usbport.sys. Драйвер порта обрабатывает те аспекты обязанностей драйвера контроллера узла, которые не зависят от конкретного протокола.
Драйвер мини-порта Usbuhci.sys (интерфейс универсального контроллера узла) заменяет драйвер мини-класса Uhcd.sys, поставляемый с Windows 2000. Драйвер мини-порта Usbohci.sys (открытый интерфейс контроллера узла) заменяет Openhci.sys. Драйвер мини-порта Usbehci.sys поддерживает высокоскоростные USB-устройства и появился в Windows XP с пакетом обновления 1 (SP1) и более поздних версий, а также Windows Server 2003 и более поздних версий операционных систем.
Во всех версиях Windows, поддерживающих USB 2.0, операционная система может одновременно управлять контроллерами узла USB 1.1 и USB 2.0. Всякий раз, когда операционная система обнаруживает наличие обоих типов контроллера, она создает два отдельных узла устройства— по одному для каждого контроллера узла. Windows впоследствии загружает мини-драйвер Usbehci.sys для оборудования контроллера узла, совместимого с USB 2.0, а также Usbohci.sys или Openhci.sys для оборудования, совместимого с USB 1.1, в зависимости от конфигурации системы.
Над драйвером порта является драйвер USB-шины, Usbhub.sys также известный как драйвер концентратора. Это драйвер устройства для каждого концентратора в системе.
Универсальный родительский драйвер общего класса USB (Usbccgp.sys)
Универсальный родительский драйвер общего класса USB — это родительский драйвер, предоставляемый корпорацией Майкрософт для составных устройств. Драйвер концентратора перечисляет и загружает родительский составной драйвер, если deviceClass равен 0 или 0xef и numInterfaces больше 1 в дескрипторе устройства. Драйвер концентратора создает совместимый идентификатор родительского составного драйвера как USB\COMPOSITE. Usbccgp.sys использует подпрограммы модели драйвера Windows (WDM).
Родительский составной драйвер перечисляет все функции на составном устройстве и создает PDO для каждого из них. Это приводит к загрузке соответствующего класса или драйвера клиента для каждой функции на устройстве. Каждый драйвер функции (дочерний PDO) отправляет запросы родительскому драйверу, который отправляет их в драйвер USB-концентратора.
Usbccgp.sys входит в состав Windows XP с пакетом обновления 1 (SP1) и более поздними версиями операционной системы Windows. В Windows 8 драйвер был обновлен для реализации функций приостановки и удаленного пробуждения, как определено в спецификации USB 3.0.
WinUSB (Winusb.sys)
Windows USB (WinUSB) — это универсальный драйвер майкрософт для USB-устройств. Архитектура WinUSB состоит из драйвера в режиме ядра (Winusb.sys) и библиотеки динамической компоновки в пользовательском режиме (Winusb.dll). Для устройств, для которых не требуется пользовательский драйвер функции, Winusb.sys можно установить в стеке режима ядра устройства в качестве драйвера функции. Затем процессы в пользовательском режиме могут взаимодействовать с Winusb.sys с помощью набора запросов управления вводом-выводом устройств или путем вызова функций WinUsb_Xxx . Дополнительные сведения см. в разделе WinUSB.
В Windows 8 предоставленный корпорацией Майкрософт файл сведений (INF) для WinUSB, Winusb.inf, содержит USB\MS_COMP_WINUSB в виде строки идентификатора устройства. Это позволяет Winusb.sys автоматически загружаться в качестве драйвера функции для тех устройств, у которых есть соответствующий совместимый идентификатор WinUSB в дескрипторе ОС MS. Такие устройства называются устройствами WinUSB. Производители оборудования не обязаны распространять INF-файл для своего устройства WinUSB, что упрощает процесс установки драйвера для конечного пользователя. Дополнительные сведения см. в разделе "Устройство WinUSB".
ДРАЙВЕР USB-клиента
Каждое USB-устройство, составное или не составное, управляется драйвером клиента. Драйвер USB-клиента — это класс или драйвер устройства, который является клиентом стека USB-драйверов. К таким драйверам относятся класс и драйверы, относящиеся к устройству, от корпорации Майкрософт или стороннего поставщика. Список драйверов классов, предоставляемых корпорацией Майкрософт, см. в статье "Драйверы для поддерживаемых классов USB-устройств". Драйвер клиента создает запросы на взаимодействие с устройством путем вызова общедоступных интерфейсов, предоставляемых стеком USB-драйверов.
Драйвер клиента для составного устройства не отличается от драйвера клиента для не составного устройства, за исключением его расположения в стеке драйверов.
Клиентский драйвер для несоставного устройства находится непосредственно над драйвером концентратора.
Для составного USB-устройства, которое предоставляет несколько функций и не имеет драйвера родительского класса, Windows загружает универсальный родительский драйвер USB (Usbccgp.sys) между драйвером концентратора и уровнем драйвера клиента. Родительский драйвер создает отдельный PDO для каждой функции составного устройства. Клиентские драйверы (FDO для функций) загружаются над универсальным родительским драйвером. Поставщики могут предоставить отдельный драйвер клиента для каждой функции.
Драйвер USB-клиента может работать в пользовательском режиме или в режиме ядра в зависимости от требований драйвера. Драйверы USB-клиента можно записывать с помощью процедур KMDF, UMDF или WDM.
Вспомогательные библиотеки для клиентских драйверов
Корпорация Майкрософт предоставляет следующие вспомогательные библиотеки, помогающие драйверам и приложениям в режиме ядра взаимодействовать с стеком драйверов USB:
Корпорация Майкрософт предоставляет библиотеку Usbd.sys, которая экспортирует подпрограммы для драйверов USB-клиента. Вспомогательные подпрограммы упрощают рабочие задачи драйвера клиента. Например, используя вспомогательные подпрограммы, драйвер USB-клиента может создавать блоки ЗАПРОСОВ USB (URB) для определенных операций, таких как выбор конфигурации, и отправлять эти URI в стек USB-драйверов.
Эта вспомогаемая библиотека является новой для Windows 8. Библиотека экспортирует подпрограммы в первую очередь для выделения и создания URI. Эти подпрограммы заменяют некоторые устаревшие подпрограммы, экспортированные Usbd.sys. Новым подпрограммам требуется, чтобы драйвер клиента зарегистрировал стек USB-драйверов, который поддерживает дескриптор регистрации. Этот дескриптор используется для вызовов других подпрограмм Usbdex.lib. Некоторые URI, выделенные новыми подпрограммами, имеют контекст URB, используемый USB-драйвером для лучшего отслеживания и обработки. Дополнительные сведения см. в разделе "Выделение и создание URI".
Winusb.dll — это библиотека DLL в пользовательском режиме, которая предоставляет функции WinUSB для взаимодействия с Winusb.sys, которая загружается в качестве драйвера функции устройства в режиме ядра. Приложения используют эти функции для настройки устройства, получения сведений об устройстве и выполнения операций ввода-вывода. Сведения об использовании этих функций см. в разделе " Доступ к USB-устройству с помощью функций WinUSB".
Приветствую. Данный материал расскажет о предназначении одного приложения, которое вы можете встретить в компьютерах под управлением операционной системы Windows.
Asmedia USB Host Controller Driver — что это за программа и нужна ли она?
Данная программа представляет из себя установщик драйверов для контроллеров USB 3.0/3.1 семейства ASM104x, ASM1042A, ASM1142 и других, которые используются в материнских платах, а также PCI-E картах с дополнительными портами USB.
Оказывается ASMedia — тайваньская компания, которая создает компьютерные микросхемы, принадлежит фирме Асус. Схемы создает для контроллеров USB, PCI-E, SATA.
Часто такие контроллеры обнаруживаются в материнкх ASUS.
Например такие дрова нужно ставить при наличии такой платы PCI-E:
Подобные платы позволяют получить дополнительные юсб-порты, но при этом будет занят слот PCI-E.
Установочное окно дров:
Также вы можете столкнуться с такой ошибкой:
Она значит просто что вы устанавливаете дрова на ПК, на котором нет контроллеров Asmedia, поэтому и нет смысла ставить дрова.
Нужна ли эта программа?
Если у вас на ПК стоит данная прога, значит:
- На вашей материнке стоят порты USB производства Asmedia.
- У вас установлены дополнительные порты USB при помощи специальной платы расширения PCI-E.
Если удалить — могут перестать работать некоторые ЮСБ-разьемы. Или они будут работать, но на меньшей скорости (точнее в режиме 2.0).
Удалить ПО можно так: зажмите Win + R, вставьте команду appwiz.cpl, кликните ОК. Откроется окно установленного софта. Находим ПО > нажимаем правой кнопкой > выбираем пункт Удалить > следуем инструкциям на экране. Обычно нужно нажимать Next/Далее/Удалить/Uninstall.
Iusb3mon.exe заставил многих пользователей задаться вопросом, является ли это подлинным или вредоносным процессом. Подозрение возникло после того, как было замечено, что процесс не подписан ни одним издателем.
Также было обнаружено, что влияние ресурсов не отображается в диспетчере задач.
Вот все, что вам нужно знать о iusb3mon.exe
- Теперь, что же такое iusb3mon.exe?
- Как проверить наличие исполняемого файла iusb3mon.exe
- Как удалить iusb3mon.exe
Теперь, что именно iusb3mon.exe?
Аббревиатура IUSB3MON означает Intel USB 3.0 Monitor, а подлинный iusb3mon.exe – это программный компонент, принадлежащий хост-контроллеру Intel USB версии 3.0.
Iusb3mon.exe имеет функцию, которая может отслеживать текущее состояние каждого порта USB. Iusb3mon.exe автоматически генерирует всплывающее уведомление о событии, когда устройство подключено или отключено от порта USB 3.0.
Тем не менее, iusb3mon.exe является необязательным компонентом, и он не является основополагающим для вашей операционной системы. Таким образом, вы можете удалить его через Программы и компоненты или просто оставить его.
Потенциальная угроза iusb3mon.exe не обнаружена. Кроме того, он не был идентифицирован как вредоносное ПО.
Как проверить наличие исполняемого файла iusb3mon.exe
Вы можете проверить, есть ли у вас исполняемый файл iusb3mon.exe в нужном месте. Этот метод может быть полезен, если вы хотите быть уверены, что iusb3mon.exe является подлинным, а не замаскированным вредоносным ПО.
Откройте Проводник и перейдите в раздел C:> Программные файлы> Intel> Драйвер расширяемого хост-контроллера Intel (R) USB 3.0> Приложение . Если вы можете найти исполняемый файл iusb3mon.exe здесь, то вы должны знать, что файл является подлинным, а не замаскированным вредоносным ПО.
Кроме того, если по какой-либо причине вы подозреваете, что процесс является вредоносным, вы можете выполнить полную проверку безопасности на своем компьютере. Для этого вам понадобится надежное антивирусное программное обеспечение, такое как Bitdefender .
- Получите антивирус Bitdefender 2019
Как удалить файл iusb3mon.exe
Можно удалить процесс iusb3mon.exe, и это не повлияет на функциональность вашей системы. Однако удаление только исполняемого файла нежелательно, поскольку это может привести к проблемам с расширяемым программным обеспечением Host Controller, поддерживающим USB 3.0. Итак, вам необходимо удалить расширяемый хост-контроллер lntel (R) USB 3.0.
Выполните следующие действия, чтобы удалить программное обеспечение iusb3mon.exe
Эти короткие шаги покажут вам, как удалить расширяемое программное обеспечение Host Controller USB 3.0.
- Откройте окно «Запуск», нажав клавишу Windows и R на клавиатуре. Введите appwiz.cpl в окне запуска и нажмите Enter , чтобы открыть «Программы и компоненты».
- В разделе «Программы и компоненты» перейдите к списку приложений и найдите Расширяемый хост Intel (R) USB 3.0 3.1 или Расширяемый хост-контроллер Intel 3.0 USB 3.0 . Нажмите правой кнопкой мыши и выберите Удалить .
- Следуйте инструкциям на экране для завершения удаления. После этого перезагрузите компьютер.
Кроме того, вы можете удалить это приложение с помощью программного обеспечения для удаления, такого как Revo Uninstaller . Используя программное обеспечение для удаления, вы удалите все файлы и записи реестра, связанные с Intel (R) USB 3.0 eXtensible Host Controller.
- Получить версию Revo Uninstaller Pro
Ну вот, есть все, что вам нужно знать о iusb3mon.exe. Как видите, сам файл не является вредоносным и не причинит никакого вреда вашему ПК, так что вы можете просто оставить его в покое.
Читайте также: