2010-03-09 200 views
3

多個驅動器是否有可能爲一個USB設備支持多個驅動程序?我想支持自己的專有驅動程序,但也支持CCID作爲第二選擇。當設備插入時,用戶可以選擇使用哪一個。使用的驅動程序取決於USB描述符所說的內容,對嗎?如果是這樣,是否有可能表明兩個驅動程序都支持?支持兩位車手的想法是否可行?爲USB設備

+0

這是一個操作系統的行爲,而不是設備的選擇。你甚至不能假設操作系統需要驅動程序的設備。例如。 USB鍵盤或磁盤可能直接由BIOS訪問,不需要任何驅動程序。 – MSalters 2010-03-10 08:55:36

回答

0

我確定設備不可能同時使用兩個驅動程序,但設備使用一個類類型和驅動程序進行枚舉,然後在其操作期間響應某些命令通過USB或設備的操作,使其斷開,然後作爲使用第二驅動程序的不同類型的設備重新枚舉。

作爲一個例子,我正在開發的產品通常枚舉爲CDC(串口仿真),但是當我需要重新加載代碼時,它將重新枚舉爲不同的設備類型,並使用芯片供應商提供的驅動程序來執行代碼下載。一旦完成,設備再次重新枚舉它作爲CDC設備類型並恢復其串行端口仿真。

因此,您需要提供一個「命令」界面,將觸發兩種工作模式之間的過渡,並確保這兩個驅動程序都安裝在主機準備好模式開關。

1

在Windows中,有兩個支持的驅動程序是可能的。實際上,要獲得Microsoft徽標認證,USB設備必須支持此功能。 (要求CONNECT-0123

不過,你描述的UI行爲不是由微軟提供。駕駛員選擇是自動的。

您的USB設備可以表明它支持兩個接口。在這種情況下,都會加載驅動程序。