Несколько Драйвер для USB-устройства - PullRequest
3 голосов
/ 09 марта 2010

Возможно ли для устройства USB поддержка нескольких драйверов? Я хотел бы поддержать свой собственный драйвер, а также CCID в качестве второго варианта. Когда устройство подключено, пользователь может выбрать, какое из них использовать. Используемый драйвер определяется тем, что говорит дескриптор USB, верно? Если это так, можно ли указать, что оба драйвера поддерживаются? Возможна ли идея поддержки двух драйверов?

Ответы [ 2 ]

1 голос
/ 10 марта 2010

В Windows возможно наличие двух поддерживаемых драйверов. Фактически, чтобы получить сертификацию Microsoft Logo, обязательно, чтобы USB-устройство поддерживало эту функцию. (Требование CONNECT-0123 )

Однако описанное вами поведение пользовательского интерфейса не предлагается Microsoft. Выбор драйвера автоматический.

Устройство USB может указывать, что оно поддерживает два интерфейса. В этом случае будут загружены оба драйвера .

0 голосов
/ 10 марта 2010

Я уверен, что для устройства невозможно использовать два драйвера одновременно, но возможно для устройства перечисление с использованием одного типа класса и драйвера, а затем во время его работы, в ответ на какую-то команду USB или устройство, чтобы отключить его, а затем пересчитать как устройство другого типа с использованием второго драйвера.

В качестве примера, продукт, который я разрабатываю, обычно перечисляет как CDC (эмуляция последовательного порта), но когда мне нужно перезагрузить код, он повторно перечисляет как другой тип устройства и использует драйвер, предоставленный поставщиком чипа, для выполнения кода скачать. Как только это завершится, устройство снова пересчитает себя как тип устройства CDC и возобновит эмуляцию своего последовательного порта.

Поэтому вам необходимо предоставить «командный» интерфейс, который будет запускать переход между двумя режимами работы и гарантировать, что два драйвера установлены на главном компьютере и готовы к переключению режима.

...