реклама на сайте
подробности

 
 
> Два фнукциональных устройства в одном физическом
Vitaliy S.
сообщение Jan 22 2009, 15:28
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 11-11-08
Пользователь №: 41 539



Как сделать так чтобы одно физ.устройство было видно виндой в виде двух, к примеру как HID устройство и mass-storage, я пытаюсь сделать в прошивке устройства два интерфейса один типа класс mass-staorage, другое класс HID. Получится ли такое? Т.е теоретически предполагается что винда подключит к моему устройству два драйвера - Custom HID и mass-storage.

Вообщем работает ли Винда с одним физустройством но с разными его интерфейсами???

Вроде каждый отдельный драйвер дейвацса сам должен считывать дескрипторы интерфейса и смотря их структуру с ним работать, и другому драйверу не свой интерфейс он не отдаст?!

Вообщем если кто-то что-то понял прошу ответить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Remix
сообщение Feb 12 2009, 07:07
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 11-02-09
Пользователь №: 44 687



Цитата(Седой @ Feb 11 2009, 18:48) *
Нижний драйвер и есть драйвер композитного устройства и с точки зрения вашего драйвера устройства ему все равно, какой драйвер является нижним, разницы в запросах дескрипторов нет, просто драйвер композитного устройства сформирует дескриптор на основе прочитанного из самого устройства.

..........................

Да, если у CDC два интерфейса, то должен быть прописан IAD.

PS. Драйвер композита хитрая штука, например, запрос SetConfiguration от вашего драйвера до устройства не дойдет. Запрос SetConfiguration в устройство направляет драйвер композита.

спасибо. начинаю прояснять себе суть работы драйвера композита. ИАД прописан, но когда открываю свой девайс USBIO, пишет вот это:
Цитата
Device0 successfully opened.
Get current device parameters was successful.
GetDeviceInfo failed.

видимо, я не туда полез - надо угадывать, почему девайс не отдает инфу, и главное - какую? ДевайсДескриптор отдает, Конфиг дескриптор - ниже по тексту - мож, я там где ошибся? а до SetConfiguration дело не доходит - все падает гораздо раньше...
Код
Configuration Descriptor:
bLength            :   09
bDescriptorType    : 0x02
wTotalLength       :   0106
bNumInterfaces     :   03
bConfigurationValue:   01
iConfiguration     :   00
bmAttributes       : 0xC0
MaxPower           :   0a

Interface Association Descriptor:
bLength            :   08
bDescriptorType    : 0x0B
bFirstInterface    :   00
bInterfaceCount    :   01
bFunctionClass     : 0xFF
bFunctionSubClass  : 0xFF
bFunctionProtocol  : 0x00
iFunction          :   02

Interface Association Descriptor:
bLength            :   08
bDescriptorType    : 0x0B
bFirstInterface    :   01
bInterfaceCount    :   02
bFunctionClass     : 0x02
bFunctionSubClass  : 0x00
bFunctionProtocol  : 0x00
iFunction          :   04

Interface Descriptor:
bLength            :   09
bDescriptorType    : 0x04
bInterfaceNumber   :   00
bAlternateSetting  :   00
bNumEndpoints      :   02
bInterfaceClass    : 0xFF USB_DEVICE_CLASS_VENDOR_SPECIFIC
bInterfaceSubClass : 0xFF
bInterfaceProtocol : 0xFF
iInterface         :   01

Endpoint Descriptor:
...удалил для краткости...

Endpoint Descriptor:
...удалил для краткости...

Interface Descriptor:
bLength            :   09
bDescriptorType    : 0x04
bInterfaceNumber   :   01
bAlternateSetting  :   00
bNumEndpoints      :   01
bInterfaceClass    : 0x02 USB_DEVICE_CLASS_COMMUNICATIONS
bInterfaceSubClass : 0x02
bInterfaceProtocol : 0x01
iInterface         :   04

CDC CS Interface Descriptor:
    Subtype: CDC Header Functional Descriptor
bLength            : 0x05
bDescriptorType    : 0x24
bDescriptorSubType : 0x00 CDC_FDST_HEADER
bcdCDC             : 0x0110

CDC CS Interface Descriptor:
    Subtype: CDC Abstract Control Management Functional Descriptor
bLength            : 0x04
bDescriptorType    : 0x24
bDescriptorSubType : 0x02 CDC_FDST_ABSTRACT_CONTROL_MANAGEMENT
bmCapabilities     : 0x02

CDC CS Interface Descriptor:
    Subtype: CDC Union Functional Descriptor
bLength            : 0x05
bDescriptorType    : 0x24
bDescriptorSubType : 0x06 CDC_FDST_UNION
bMasterIf          : 0x01
bSlaveIf[0]        : 0x02

CDC CS Interface Descriptor:
    Subtype: CDC Call Management Functional Descriptor
bLength            : 0x05
bDescriptorType    : 0x24
bDescriptorSubType : 0x01 CDC_FDST_CALL_MANAGEMENT
bmCapabilities     : 0x00
bDataInterface     : 0x02

Endpoint Descriptor:
...удалил для краткости...

Interface Descriptor:
bLength            :   09
bDescriptorType    : 0x04
bInterfaceNumber   :   02
bAlternateSetting  :   00
bNumEndpoints      :   02
bInterfaceClass    : 0x0A USB_DEVICE_CLASS_DATA
bInterfaceSubClass : 0x00
bInterfaceProtocol : 0x00
iInterface         :   04

Endpoint Descriptor:
...удалил для краткости...

Endpoint Descriptor:
...удалил для краткости...


Сообщение отредактировал Remix - Feb 12 2009, 07:12
Go to the top of the page
 
+Quote Post
Седой
сообщение Feb 12 2009, 18:51
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806



IAD должен быть один на 2 интерфейса СDC.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vitaliy S.   Два фнукциональных устройства в одном физическом   Jan 22 2009, 15:28
- - galjoen   Цитата(Vitaliy S. @ Jan 22 2009, 18:28) К...   Jan 23 2009, 12:07
- - Седой   Цитата(Vitaliy S. @ Jan 22 2009, 20:28) В...   Jan 23 2009, 13:22
|- - arizona   Пример составного устройства с коменариями на русс...   Jan 26 2009, 15:42
- - Remix   Сорри за небольшой оффтоп (модератор, пни, плз, ес...   Feb 11 2009, 08:38
|- - Седой   А что это за функция DoCallUSBD? Если новичок в д...   Feb 11 2009, 13:45
- - Remix   DoCallUSBD - по мотивам того же Агурова - функция ...   Feb 11 2009, 16:06
|- - Седой   Цитата(Remix @ Feb 11 2009, 21:06) DoCall...   Feb 11 2009, 16:48
|- - Remix   Цитата(Седой @ Feb 12 2009, 20:51) IAD до...   Mar 8 2009, 09:55
- - DiMonstr   А кто-нибудь разрабатывал USB устройство класса CD...   Mar 19 2009, 08:01
|- - korbian   Простите за офтоп. Не понял куда обратится, поэтом...   Nov 9 2009, 09:07
|- - Седой   Цитата(korbian @ Nov 9 2009, 14:07) ... К...   Nov 9 2009, 19:05
|- - korbian   Цитата(Седой @ Nov 9 2009, 22:05) Что вы ...   Nov 10 2009, 06:37
|- - Седой   Цитата(korbian @ Nov 10 2009, 11:37) ...   Nov 10 2009, 07:53
|- - korbian   Цитата(Седой @ Nov 10 2009, 10:53) Делайт...   Nov 10 2009, 08:16
|- - Седой   Цитата(korbian @ Nov 10 2009, 13:16) Как ...   Nov 10 2009, 10:51
|- - korbian   Цитата(Седой @ Nov 10 2009, 13:51) ...   Nov 10 2009, 11:15
|- - galjoen   korbian, а если ваше устройство как хаб описать? И...   Nov 10 2009, 11:58
|- - korbian   Цитата(galjoen @ Nov 10 2009, 14:58) korb...   Nov 10 2009, 12:28
|- - Седой   Цитата(galjoen @ Nov 10 2009, 16:58) korb...   Nov 12 2009, 13:07
|- - galjoen   Цитата(Седой @ Nov 12 2009, 16:07) В прин...   Nov 12 2009, 13:31
|- - korbian   Цитата(Седой @ Nov 12 2009, 16:07) А это ...   Nov 13 2009, 09:32
|- - Седой   Цитата(korbian @ Nov 13 2009, 14:32) ну к...   Nov 13 2009, 12:44
|- - korbian   Цитата(Седой @ Nov 13 2009, 15:44) провес...   Nov 13 2009, 12:53
- - DiMonstr   А поддерживается составное USB устройство, к приме...   Nov 18 2009, 14:34
|- - galjoen   MassStorage, в т.ч. и в составном устройстве, биос...   Nov 18 2009, 18:39
|- - DiMonstr   Цитата(galjoen @ Nov 18 2009, 21:39) В би...   Nov 19 2009, 09:23
|- - DiMonstr   Цитата(galjoen @ Nov 18 2009, 21:39) ...П...   Nov 20 2009, 14:17
|- - galjoen   Цитата(DiMonstr @ Nov 20 2009, 17:17) Хоч...   Nov 23 2009, 11:55
- - korbian   DiMonstr, а что за софт дескриптор устройства в та...   Nov 21 2009, 06:01
|- - DiMonstr   Цитата(korbian @ Nov 21 2009, 09:01) Да ...   Nov 22 2009, 09:22
|- - korbian   Цитата(DiMonstr @ Nov 22 2009, 12:22) Да ...   Nov 22 2009, 09:41
|- - DiMonstr   Цитата(korbian @ Nov 22 2009, 12:41) а сс...   Nov 23 2009, 11:31
- - DiMonstr   Для класса устройства Mass Storage Device описанно...   Nov 25 2009, 13:04
|- - galjoen   Цитата(DiMonstr @ Nov 25 2009, 16:04) Для...   Nov 26 2009, 11:34
- - aal   2 DiMonstr Ну и чем опыты закончились?   Jan 15 2010, 10:19
|- - DiMonstr   Цитата(aal @ Jan 15 2010, 13:19) 2 DiMons...   Feb 5 2010, 12:03
|- - DiMonstr   Цитата(aal @ Jan 15 2010, 14:19) 2 DiMons...   Nov 4 2010, 16:05
- - KIM   народ, а кто нить писал композитное устройство на ...   Aug 4 2010, 20:30
|- - KIM   Цитата(KIM @ Aug 5 2010, 00:30) CY7c16013...   Aug 5 2010, 05:09
|- - galjoen   Цитата(KIM @ Aug 5 2010, 00:30) CY7c16013...   Aug 5 2010, 08:45
|- - KIM   Цитата(galjoen @ Aug 5 2010, 12:45) Чтобы...   Aug 5 2010, 15:22
|- - galjoen   Цитата(KIM @ Aug 5 2010, 19:22) Для моего...   Aug 5 2010, 16:00
|- - KIM   Цитата(galjoen @ Aug 5 2010, 20:00) Так ч...   Aug 5 2010, 19:03
- - Alexey Belyaev   Привет! А можно я тоже задам вопрос? Я пытаю...   Aug 27 2010, 12:43
- - kan35   А случаем на STM32 никто ничего подобного не встре...   Sep 10 2011, 20:52


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th August 2025 - 08:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016