Для класса устройства Mass Storage Device описанного в дескрипторе интерфейса №0 драйвера у меня встали автоматически.
Для класса устройства Communication Device Descriptor описанного в дескрипторе интерфейса №1 драйвера автоматически ось не поставила. Чтобы установить стандартный драйвер usbser.sys для интерфейса №1, необходимо создать INF-файл. Образец я выложил.
Основная его фишка в этой строке:
Код
%USBtoSerialConverter%=USBtoSer.Install,USB\VID_DC99&PID_C906&MI_01
Здесь идентификатор устройства включает Vendor ID, Product ID и "MI_01" означает номер интерфейса USB устройства для которого нужно поставить драйвер.
Как вы заметили, я не применял дескриптор Interface Association Descriptor (IAD). Я описал интерфейс CDC с тремя конечными точками. Я не стал отдельно создавать интерфейс данных и коммуникационный интерфейс. Кроме того, я не описал следующие дескрипторы:
- заголовочный (Header Functional Descriptor);
- режима команд (Call Management Functional Descriptor);
- абстракции устройства (Abstract Control Management Functional Descriptor);
- группирования (Union Functional Descriptor).
Работу девайса по второму интерфейсу я пока не проверял. На днях протестирую.
Сообщение отредактировал DiMonstr - Nov 25 2009, 13:06
Эскизы прикрепленных изображений