- Does windows те support usb
- Драйвера
- Грабли
- Общие сведения о поддержке USB и двойной роли Overview of USB Support and Dual Role
- Архитектура функции USB в Windows 10 IoT базовая Architecture of USB Function in Windows 10 IoT Core
- Компоненты, которые изготовители оборудования должны предоставить Components OEMs have to supply
- Поддержка изготовителей оборудования для обеих сторон OEMs support for both sides
- Поддержка со стороны устройства Supporting from the device side
Does windows те support usb
Накопился некоторый опыт по использованию USB под NT4. Здесь собрано то, что публиковалось ранее в ленте новостей, а также будет добавляться нова инфа.
Драйвера
- update IONetworks 4.10
ставится поверх 4.06. Взято KtP из
Edgeport/Rapidport Drivers for Windows NT 4.0 Release 3.60 - IONetworks 4.06
умеют USB 2.0. - IONetworks 4.04
- IONetworks 4.03
- IONetworks 4.02
- IONetworks 3.20
Поддерживается USB-стек и куча типов устройств: USB Storage (диски, Flash), клавиатуры, мыши, принтеры, разветвители (хабы) и еще что-то, чего я даже не знаю. - IONetworks 3.10
- IONetworks 2.90
- IONetworks 2.80
- IONetworks 2.70
- Woodhead’s USB drivers
как будто умеют USB 2.0 С USB 1.1 работали очень даже хорошо, быстрее чем IONetworks. Поддерживают только USB Storage (т.е. Flash, жесткие диски). Есть исходники. - bsquare_usb_nt4.rar/tgz (730 Kb/760.5 Kb) — BSquare USB.
- aksnt4usb.rar/tgz (264 Kb/278.8 Kb)
Родной сайт — http://www.aladdin.com/support/hasp/hasp4/enduser.asp Файл брать по ссылке на архив. С сайта не скачивайте — нужен пароль. Используется в первую очередь для AladdinHasp-ключей на USB (в т.ч. на 1с предприятие 8.x, установленное под NT4, в дистрибутив 1Сv8 он кстaти и входит).
Note: При использовании этих драйверов перед горячим отключением Flash’ки нужно сбросить дисковый кеш при помощи dsync.exe.
Грабли
Попробовал версию 4.06. Мою PCI USB 2.0 карточку имени замечательной фирмы VIA они поддерживать отказались. Потому что BIOS не выделил прерывание.
А благодаря опции —irt в PCI Dump v0.2 понял почему. Оказалось, что согласно табличке BIOS’а (PCI IRQ Routing table) в 6м PCI слоте устройство должно получать DeviceNumber=0x07, а оно получало DeviceNumber=0x0с. Почему, и как с этим можно бороться я пока не знаю, просто переткнул в др. слот. И там все завелось, устройство получило DeviceNumber, который был в табличке BIOS’а, BIOS выдал ему прерывание, а драйвера USB сделали свое дело 🙂
В версии 4.06 поддержка USB 2.0 оказалась слегка глючной. Если USB 2.0 присутствует в системе, то после отключения USB Flash (даже если было воткнуто в др. контроллер, например во встроеный USB 1.1) в реестре остается запись о том, куда он был подключен и какая буква была выделена. При следующей загрузке после входа в систему наблюдается зависание. Если подождать достаточно долго, мы снова вернемся к предложению ввести пароль. Работы с отладчиком показала, что задумывается драйвер USBD.SYS. Там в цикле крутится опрос каких-то портов ввода/вывода. Происходит это в момент старта управляющего приложения (которое мониторит USB устройства и рисует на панели задач красивую иконку с логотипом USB).
Если загрузить др. систему (или Hardware Profile с выключеными USB драйверами), примонтировать SYSTEM Registry и удалить эту запись, все снова заработает.
Поддержка USB 2.0 оказалась еще более глючной, чем я думал. Если USB 2.0 присутствует в системе, то после загрузки WinXP при последующей перезагрузке в NT4 происходит точно такое же повисание. Лечится только выключением питания. Глюк наблюдается в версиях 4.10, 4.06 и 3.20. Более ранние версии пока не проверены. Железо — VIA USB 2.0 PCI Card, встроенные USB 2.0 на ноуте.
Драйвера от Woodhead как будто умеют USB 2.0, но пока моя карточка не получала прерывание, они просто падали.
Драйвера aksnt4usb у меня никак не заработали. Т.е. они поставились, но ничего не произошло. Зато не давали работать IONetworks
Общие сведения о поддержке USB и двойной роли Overview of USB Support and Dual Role
Универсальная последовательная шина (USB) предоставляет расширяемый интерфейс последовательного подключения с возможностью Plug and Play горячей замены, который обеспечивает стандартное, экономичное подключение для периферийных устройств, таких как клавиатуры, мыши, джойстики, принтеры, сканеры, устройства хранения, модемы и видеоконференции. A Universal Serial Bus (USB) provides an expandable, hot-pluggable Plug and Play serial interface that ensures a standard, low-cost connection for peripheral devices such as keyboards, mice, joysticks, printers, scanners, storage devices, modems, and video conferencing cameras.
Когда речь идет о USB-устройствах, стек функций USB ссылается на группу драйверов, которые перечисляются и загружаются диспетчером Plug and Play, а составное USB-устройство может поддерживать несколько интерфейсов в одной конфигурации. When we talk about USB devices, the USB function stack refers to a group of drivers that are enumerated and loaded by the Plug and Play Manager, and a composite USB device can support multiple interfaces in a single configuration. Хотя большая часть того, что мы говорим в этой статье, относится к двойной роли для USB 2,0, которая чаще известна как USB-Go или USB OTG или OTG, также полезно знать о USB 3,0 и о том, как он отличается от USB 2,0. While most of what we talk about in this article relates to the dual role for USB 2.0, more commonly known as USB On-The-Go or USB OTG or OTG, it is also helpful to know about USB 3.0 and how it differs from USB 2.0. USB-группа OTG определяет две роли для устройств: OTG A-Device и OTG B-Device, указывая, какая сторона предоставляет доступ к ссылке и что изначально является узлом. The USB OTG defines two roles for devices: OTG A-device and OTG B-device, specifying which side supplies power to the link and which is the host initially. Так как каждый контроллер группы OTG поддерживает обе роли, они часто называются контроллерами с двумя ролями, а не «контроллерами группы OTG». Since every OTG controller supports both roles, they are often called «Dual-Role» controllers rather than «OTG controllers.» USB 3,0, с другой стороны, может делать устройства как на узлах, так и на периферийных устройствах. USB 3.0, on the other hand, can make devices into either hosts or peripherals. Некоторые устройства могут принимать любую роль в зависимости от того, какой тип обнаруживается на другом конце. Some devices can take either role depending on what kind is detected on the other end. Эти типы портов называются двойными ролями данных (ДРД). These types of ports are called Dual-Role-Data (DRD). Когда два таких устройства подключены, роли назначаются случайным образом, но переключение можно выполнить с любого конца. When two such devices are connected, the roles are randomly assigned but a swap can be commanded from either end.
Архитектура функции USB в Windows 10 IoT базовая Architecture of USB Function in Windows 10 IoT Core
Если платформа IoT Windows 10 выступает в качестве устройства USB, она будет использовать одну из нескольких конфигураций. When the Windows 10 IoT platform acts as USB device, it will use one of several configurations. Каждая конфигурация имеет один или несколько USB-интерфейсов. Each configuration has one or more USB interfaces. Чтобы обеспечить правильную поддержку USB OTG в Windows 10 IoT, необходимо принять во внимание несколько вещей. To properly support USB OTG on Windows 10 IoT, several things need to be taken care of.
Компоненты, которые изготовители оборудования должны предоставить Components OEMs have to supply
Изготовителям оборудования необходимо предоставлять компоненты на обеих сторонах — для USB-устройства и, возможно, на стороне узла USB. OEMs need to supply components on both sides – for the USB device-side and possibly for the USB host-side.
Поддержка изготовителей оборудования для обеих сторон OEMs support for both sides
Каждое USB-устройство имеет уникальные идентификаторы VID и PID, которые их обозначают. Every USB device has unique VID and PID, which identify it. Изготовитель вычислительной техники, как и производитель USB-устройства Windows IoT, должен предоставить их. An OEM, as the manufacturer of a Windows IoT-based USB device, needs to supply those. Поставщики вычислительной техники могут применить к консорциуму USB и получить идентификаторы VID своей компании (если они еще не установлены), а затем выбрать PID, который будет уникальным для этого продукта. OEMs can apply to the USB Consortium and obtain their company VID (if they don’t have one already) and then choose a PID that will be unique for that product. Когда Windows 10 IoT с УСБФН-функциональностью подключена к компьютеру, он будет работать как USB-устройство (из любого набора функций для выбора в myUSBFN.sys) с такими «VID_nnn» и «PID_NNN». When Windows 10 IoT with USBFN functionality is connected to a PC it will act as USB device (of whatever functionality to choose as set in myUSBFN.sys), with those «VID_nnn» and «PID_NNN». Эта комбинация VID и PID используется основным компьютером для поиска подходящих драйверов для загрузки (myUSB.sys). This VID and PID combination is then used by the host PC to find the appropriate drivers to load (myUSB.sys).
Поддержка со стороны устройства Supporting from the device side
Функции, включаемые в ФФУ для создания образа с включенным УСБФН Features to include in FFU for image generation with USBFN enabled
- Образ IoT должен содержать необходимые пакеты, а именно ufx01000.sys и usbfnclx.sys. The IoT image must have the necessary packages in it, namely ufx01000.sys and usbfnclx.sys. Оба они поставляются со следующим пакетом Microsoft-IoTUAP-USBFN-Class-Extension-Package.cab . They both come with the following package Microsoft-IoTUAP-USBFN-Class-Extension-Package.cab . Изготовители оборудования должны использовать соответствующий тег «Feature» в своем XML-файле, в котором перечислены все компоненты, включенные в ФФУ. OEMs must use a proper «feature» tag in their XML file, which lists all features included in the FFU. Например, в файле BoardTestOEMInput.xml в разделе «компоненты» будет включена следующая запись IOT_USBFN_CLASS_EXTENSION . For example, in the BoardTestOEMInput.xml file there will be the following entry IOT_USBFN_CLASS_EXTENSION included under features section.
Драйвер переключения ролей USB USB Role Switching driver
- Для USB OTG изготовители оборудования должны предоставить правильную запись таблицы ACPI (мйотгакпи) для драйвера для переключения ролей USB и самого драйвера (* myURS.sys). For the USB OTG, OEMs have to supply the correct ACPI table entry (myOTGacpi) for the USB role-switching driver and the driver itself (*myURS.sys).
Драйвер контроллера функции USB USB Function Controller Driver
- Это зависит от оборудования, используемого изготовителями оборудования. This depends on the hardware used by OEMs. Корпорация Майкрософт предоставляет драйверы контроллера-функции USB для двух популярных наборов микросхем OTG USB — Синопсис и Чипидеа. Microsoft supplies USB Function Controller drivers for two popular USB OTG chipsets — Synopsys and ChipIdea.
- Если изготовитель оборудования решил использовать другой набор микросхем группы USB, изготовитель оборудования должен предоставить собственное аппаратное обеспечение контроллера-функции USB (myfunctioncontroller.sys). If an OEM chooses to use another USB OTG chipset, then the OEM must supply their own USB function controller hardware (myfunctioncontroller.sys).
Драйверы классов функций USB USB Function Class drivers
- Необходимо указать по меньшей мере один драйвер класса функции USB. At least one USB function class driver must be supplied.
- Этот драйвер реализует определенные функции USB-устройств. This driver implements specific USB device functionality. Он определяет, как будет выглядеть устройство на стороне узла, а также то, что оно будет делать. It determines what the device will appear as on the host side as well as what it will do. Например, он может отображаться как устройство с последовательным подключением или как запоминающее устройство, либо полностью настраиваемое устройство типа (myUSBFN.sys). For example, it may appear as a serial communications device or as a mass storage device or a completely custom type device (myUSBFN.sys).
Настройка устройства USB-функции Configuring USB Function Device
- Если платформа IoT находится в режиме USB-устройства, она может действовать в одной или нескольких конфигурациях. When the IoT platform is in USB device mode, it can operate under one or more configurations. Каждая используемая конфигурация должна быть добавлена и иметь указанные свойства. Each configuration in use must be added and have its properties specified.
Общие свойства Common Properties
- Существуют общие свойства для всех конфигураций USB-функций платформы IoT. There are common properties for all USB function configurations of the IoT platform. В конечном счете изготовителям оборудования необходимо указать стандартные записи дескрипторов USB, такие как VID, PID, Девицекласс, Девицепротокол, строка производителя, серийный номер и т. д. It is ultimately up to the OEM to specify standard USB descriptor entries such as VID, PID, DeviceClass, DeviceProtocol, Manufacturer string, serial number, etc.
- Эти общие свойства задаются в реестре в следующем расположении: HKLM\System\ControlSet001\Control\USBFN\default These common properties are set in registry in the following location: HKLM\System\ControlSet001\Control\USBFN\default
Приведенные выше значения предназначены только для демонстрационных целей и не могут использоваться в любом продукте. The values above are for demonstration purposes only and cannot be used in any product. Изготовитель оборудования должен заменить эти поля заполнителей фактическими значениями в каждой записи выше. The OEM must replace these placeholder fields with actual values in each entry above.
Для свойств конфигурации Per configuration properties
Конфигурации хранятся в реестре в следующем разделе: HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations Configurations are stored in a registry under the following key: HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations
По умолчанию используется пустая Конфигурация функции USB по умолчанию, включенная в ФФУ, как указано в: HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations\default By default, there is an empty default USB function configuration included in the FFU, as set in: HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations\default
Эта пустая конфигурация по умолчанию приводит к отображению платформы Интернета вещей в виде устройства Windows IoT, для которого не установлен драйвер на стороне узла. This empty default configuration results in the IoT platform appearing as a Windows IoT device for which there is no driver on the host side installed.
В каждой конфигурации должны быть указаны определенные свойства, например список интерфейсов. Each configuration must specify certain properties, such as the Interface List. Платформа IoT может действовать как USB-устройство с разными конфигурациями, Сурса определенными интерфейсами USB, которые предоставляются с USB-устройства на USB-узел. The IoT platform can operate as a USB device with different configurations, whic hare defined by USB interfaces that are exposed from USB device to USB host.
Сейчас выбранная конфигурация будет действовать при подключении к горячему USB-порту: HKLM\SYSTEM\ControlSet001\Control\USBFN Currently, the selected configuration is the one that will be in effect when connecting to the USB hot: HKLM\SYSTEM\ControlSet001\Control\USBFN
Примеры конфигураций Examples of configurations
Отдельная конфигурация Single configuration
- Должен содержать хотя бы один интерфейс Must contain at least one interface
- Может быть конфигурацией по умолчанию Can be a default configuration
- При подключении к ПК платформа IoT будет отображаться как USB-устройство такого типа (например, модем или хранилище). When connected to a PC, the IoT platform will appear as that type of USB device (e.g. modem or storage).
- HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations\default , InterfaceList = «MODEM\0MTP» HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations\default , InterfaceList = «MODEM\0MTP»
Составная конфигурация Composite configuration
- Содержит список интерфейсов с дополнительными параметрами Contains a list of interfaces with additional parameters
- При подключении к ПК платформа IoT будет отображаться как составное USB-устройство с несколькими единицами (например, устройство MTP, последовательное устройство, настраиваемое устройство). When connected to a PC, the IoT platform will appear as a composite USB device with multiple units in it (i.e. MTP device, serial device, custom device).
- HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations\mycfg , InterfaceList = «MODEM\0MTP» HKLM\SYSTEM\ControlSet001\Control\USBFN\Configurations\mycfg , InterfaceList = «MODEM\0MTP»
Интерфейсы УСБФН перечисляются в реестре в следующем разделе: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\USBFN\Interfaces USBFN Interfaces are enumerated in registry under the following key: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\USBFN\Interfaces
Каждая запись интерфейса USB должна содержать значение дескриптора интерфейса и GUID интерфейса. Each USB interface entry must contain an interface descriptor value and an interface GUID.