2010-03-09 3 views
3

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

+0

Это поведение ОС, а не выбор устройства. Вы даже не можете считать в качестве устройства, что ОС нужен драйвер. Например. USB-клавиатуру или диск можно получить непосредственно в BIOS, без каких-либо драйверов. – MSalters

ответ

0

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

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

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

1

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

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

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