專利名稱:自動提供usb兼容外設(shè)的備選usb配置以呈現(xiàn)給主機計算機的方法、設(shè)備以及計算機程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及與主機計算機一起使用的外圍設(shè)備,更具體來說涉及一種用于外圍設(shè)備的設(shè)備驅(qū)動程序。
背景技術(shù):
諸如基于Windows的個人計算機的主機計算機("主機")可與許多外圍設(shè)備一起操作,所述外圍設(shè)備例如有鍵盤、鼠標(biāo)、監(jiān)視器、打印機、掃描儀、大容量存儲器和/或其它外圍設(shè)備。通用串行總線(USB)可用于將這些和/或其它外圍設(shè)備連接到主機計算機。USB能夠利用標(biāo)準連接器和形狀因素(form factor)來提供外圍設(shè)備到主機計算機的連接,還允許在主機計算機通電時連接和斷開USB兼容外圍設(shè)備。
本領(lǐng)域技術(shù)人員還公知的是,為了實現(xiàn)外圍設(shè)備的全部操作性能,典型地需要在主機計算機上為每個外圍設(shè)備提供或安裝該外圍設(shè)備的驅(qū)動程序。主機計算機上的操作系統(tǒng),如Windows或Linux操作系統(tǒng),典型地包括用于各類基于USB的外圍設(shè)備(如音頻設(shè)備、打印機、通信設(shè)備、大容量存儲設(shè)備以及人機交互設(shè)備)的驅(qū)動程序。當(dāng)將外圍設(shè)備連接到USB時,主機計算機可以利用所述外圍設(shè)備發(fā)送的硬件標(biāo)識符來識別所連接的外圍設(shè)備,從而隨后確定設(shè)備類別。所述硬件標(biāo)識符/設(shè)備類別可由所述外圍設(shè)備作為"配置"消息的一部分而發(fā)送給主機計算機,其中所述外圍設(shè)備利用所述"配置"消息向主機計算機通知該外圍設(shè)備的屬性。利用所確定的設(shè)備類別,操作系統(tǒng)加載合適的驅(qū)動程序,接著將該驅(qū)動程序登記到注冊表中,從而在將來再次連接該外圍設(shè)備時,可以基于該條目來指配驅(qū)動程序。
隨著主機計算機的外圍設(shè)備的數(shù)量和種類不斷擴增,這些外圍設(shè)備中的許多可能不再屬于預(yù)安裝在操作系統(tǒng)中的限定設(shè)備類別中的任何一
類。在這種情況下,通常需要提供安裝盤或者CD,以從中將驅(qū)動程序加
載到主機計算機上。這種安裝處理可能還需要用戶輸入,因此用戶可能 需要詳細了解外圍設(shè)備和主機計算機。
已經(jīng)通過提供基于USB的外圍設(shè)備本身的存儲器中存儲的驅(qū)動程 序,來嘗試減少或者消除驅(qū)動程序安裝處理中對單獨安裝盤/CD需要和/ 或其復(fù)雜度。例如,Wright等人的美國專利6,754,725,其發(fā)明名稱為 "USB Peripheral Containing Its Own Device Driver"。如在上述專利的摘要 中所提及的那樣,外圍設(shè)備包括計算機可讀介質(zhì)和接口電路。計算機可 讀介質(zhì)可被配置為存儲用于操作該外圍設(shè)備的指令。接口電路可被配置 為響應(yīng)于所述外圍設(shè)備連接到計算機,將所述指令傳送到所述計算機的 操作系統(tǒng)。此外,Gotze等人的、發(fā)明名稱為"USB-Based Peripheral Device and Method for Starting Up the USB-Based Peripheral Device"的美國專利 申請公開2005/0038934,如在其摘要中所提及的那樣,提供了一種與主 機系統(tǒng)一起操作的基于USB的外圍設(shè)備,其具有用于與主機系統(tǒng)一起操 作的驅(qū)動程序,其中所述驅(qū)動程序存儲在所述基于USB的外圍設(shè)備的存 儲器中,并且隨著所述外圍設(shè)備在所述主機系統(tǒng)上的啟動,使所述驅(qū)動 程序自動安裝在所述主機系統(tǒng)上。最后,Mihai的、發(fā)明名稱為"Embedded Driver for Bus-Connected Device"的美國專利申請公開2006/0037015,如 在其摘要中所提及的那樣,提供了一種設(shè)備,所述設(shè)備包括存儲部件和 設(shè)備協(xié)議處理器,所述存儲部件用于存儲該設(shè)備的驅(qū)動程序,所述設(shè)備 協(xié)議處理器用于響應(yīng)于所述設(shè)備可通信地耦合到基于處理器的系統(tǒng)的總 線,使得所述驅(qū)動程序能夠自動上載到該基于處理器的系統(tǒng)的存儲子系 統(tǒng)上。
然而,可惜的是,即使在外圍設(shè)備的設(shè)備驅(qū)動程序存儲在該外圍設(shè) 備自身上時,在設(shè)備驅(qū)動程序安裝中仍然需要用戶輸入。此外,諸如基 于USB的外圍設(shè)備的許多外圍設(shè)備,可由用戶從一個主機計算機帶到另 一個主機計算機。在這種情況下,即使設(shè)備驅(qū)動程序存儲在該外圍設(shè)備 自身上,設(shè)備驅(qū)動程序安裝處理仍可能需要甚至更多的用戶干預(yù)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一些實施方式可以提供用于自動提供USB兼容外圍設(shè)
備的備選USB配置以呈現(xiàn)給主機計算機的方法、設(shè)備、以及計算機程序 產(chǎn)品。根據(jù)這些實施方式,通過在初始連接到USB時呈現(xiàn)默認USB配 置作為USB兼容外圍設(shè)備的配置,并且在該USB兼容外圍設(shè)備處接收 從外部給該USB兼容外圍設(shè)備的變更命令,可提供一種自動修改通用串 行總線(USB)兼容外圍設(shè)備的配置的方法,其中,所述變更命令包括 USB供應(yīng)商特定命令,所述USB供應(yīng)商特定命令被配置為用于向USB 兼容外圍設(shè)備指示,將該USB兼容外圍設(shè)備的配置變更為與所述USB 供應(yīng)商特定命令相對應(yīng)的備選USB配置。隨后,響應(yīng)于在該USB兼容 外圍設(shè)備處接收到所述USB供應(yīng)商特定命令,將所述備選USB配置呈 現(xiàn)作為針對所述USB兼容外圍設(shè)備的配置。
圖1是根據(jù)本發(fā)明的各種實施方式的、能夠自動安裝用于所述外圍 設(shè)備的設(shè)備驅(qū)動程序的主機計算機和外圍設(shè)備的框圖。
圖2至7是根據(jù)本發(fā)明的各種實施方式的可執(zhí)行以自動安裝定制設(shè) 備驅(qū)動程序的操作的流程圖。
圖8是在根據(jù)本發(fā)明的一些實施方式中的USB兼容外圍設(shè)備所支持 的控制寫和讀序列的表示。
具體實施例方式
下面,參照附圖更全面地描述本發(fā)明,本發(fā)明的實施方式在附圖中 示出。然而,本發(fā)明也可按照多種替代形式實現(xiàn),并且不應(yīng)將本發(fā)明解 釋為限于在此闡述的實施方式。
因此,雖然本發(fā)明允許各種修改和替代形式,但在附圖中僅通過示 例方式示出其特定實施方式,在此對這些特定實施方式進行詳細描述。 然而,應(yīng)當(dāng)理解,并非將本發(fā)明限于所公開的具體形式,相反,本發(fā)明
8將涵蓋落入權(quán)利要求所限定的本發(fā)明的精神和范圍內(nèi)的所有這些修改 例、等同例以及替代例。在對附圖的描述中,始終使用相同的標(biāo)號來指 示相同的要素。
在此使用的術(shù)語僅為了描述具體實施方式
,而非為了限制本發(fā)明。 當(dāng)在此使用時,除非語境以其他方式明確表明,否則單數(shù)形式的"一" 和"所述"也包括了復(fù)數(shù)形式。還應(yīng)當(dāng)理解,當(dāng)在本說明書中使用時, 術(shù)語"包括"意指所陳述的特征、整數(shù)、步驟、操作、元件和/或部件的 存在,但是并不排除一個或更多個其他特征、整數(shù)、步驟、操作、元件、 部件和/或其群組的存在或添加。而且,當(dāng)提及一元件"響應(yīng)于"另一元 件時,該元件可以直接響應(yīng)于該另一元件,或者可以存在介入元件。與 之對照,當(dāng)提及一元件"直接響應(yīng)于"另一元件時,不存在介入元件。 當(dāng)在此使用時,術(shù)語"和域"包括一項或更多項相關(guān)聯(lián)列舉項中的任何 以及全部組合,并且可以縮寫為"/"。
應(yīng)當(dāng)理解,雖然在此可以使用詞語第一、第二等來描述各種元件,
但這些元件不應(yīng)受到這些術(shù)語的限制。這些術(shù)語僅用于將一元件區(qū)分于 其它元件。
下面參照根據(jù)本發(fā)明實施方式的方法、裝置(系統(tǒng)和/或設(shè)備)禾口/ 或計算機程序產(chǎn)品的框圖和/或流程圖例示,來描述本發(fā)明。應(yīng)當(dāng)理解, 所述框圖和/或流程圖例示中的框,以及所述框圖和/或流程圖例示中的框 的組合,可以通過計算機程序指令來實現(xiàn)。這些計算機程序指令可被提 供給通用計算機、專用計算機和/或其它可編程數(shù)據(jù)處理裝置的處理器, 以產(chǎn)生一機器,使得經(jīng)由所述計算機和/或其它可編程數(shù)據(jù)處理裝置執(zhí)行 的指令創(chuàng)建用于實現(xiàn)在所述框圖和/或流程圖框中指定的功能/操作的手 段(功能)和/或結(jié)構(gòu)。
這些計算機程序指令還可以存儲在計算機可讀存儲器內(nèi),其可以使 計算機或者其它可編程數(shù)據(jù)處理裝置按照特定方式運行,以使存儲在計 算機可讀存儲器中的所述指令產(chǎn)生出包括用于實現(xiàn)在所述框圖和/或流程 圖框中指定的功能/操作的一款產(chǎn)品。
所述計算機程序指令還可以加載到計算機或者其它可編程數(shù)據(jù)處理裝置上,以使在所述計算機或者其它可編程裝置上執(zhí)行一系列操作步驟, 從而產(chǎn)生計算機實現(xiàn)的處理,使得在所述計算機或者其它可編程裝置上 執(zhí)行的所述指令提供用于實現(xiàn)在所述框圖和/或流程圖框中指定的功能/ 操作的步驟。
因此,本發(fā)明可以用硬件和/或軟件(包括固件、駐留軟件、微代碼 等)實現(xiàn)。此外,本發(fā)明可以采用計算機可用或者計算機可讀存儲介質(zhì) 上的計算機程序產(chǎn)品的形式,所述所述計算機可用或者計算機可讀存儲 介質(zhì)中實現(xiàn)有由指令執(zhí)行系統(tǒng)使用或者與指令執(zhí)行系統(tǒng)結(jié)合使用的計算 機可用或者計算機可讀程序代碼。在本文的背景下,計算機可用或者計 算機可讀介質(zhì)可以是能夠包含、存儲、傳輸由指令執(zhí)行系統(tǒng)、裝置或者 設(shè)備使用或者與之結(jié)合使用的程序的任何介質(zhì)。
計算機可用或者計算機可讀介質(zhì)例如可以是、但不限于電子、磁、 光、電磁、紅外或者半導(dǎo)體系統(tǒng)、裝置、設(shè)備或程序介質(zhì)。所述計算機 可讀介質(zhì)的更具體示例(非窮舉列表)包括下列具有一個或者更多布
線的電連接、便攜式計算機盤、隨機存取存儲器(RAM)、只讀存儲器 (ROM)、可擦除可編程只讀存儲器(EPROM或者閃存)、光纖以及便攜 式光和/或磁介質(zhì),如閃存盤或者CD-ROM。
還應(yīng)當(dāng)注意在一些替代實現(xiàn)中,框中示出的功能/操作可不按照流 程圖中所示的順序發(fā)生。例如,根據(jù)所涉及的功能/操作,順序示出的兩 個框?qū)嶋H上可基本同時執(zhí)行,或者所述框有時可按照相反順序執(zhí)行。此 外,流程圖和/或框圖中的給定框的功能可分為多個框,并且/或者,所述 流程圖和/或框圖的兩個或者更多個框的功能可至少部分綜合。
圖1是根據(jù)本發(fā)明各種實施方式的主機計算機和外圍設(shè)備的框圖。 參照圖l,主機計算機110包括處理器114和操作系統(tǒng)112。在一些實施 方式中,主機計算機是個人計算機(PC)或者麥金托什機(Macintosh), 處理器114是英特爾或者兼容處理器,并且操作系統(tǒng)是Windows、 Linux、 Macintosh和/或其它常規(guī)主機計算機操作系統(tǒng)。還提供有一個或者更多個 外圍接口,如USB接口116。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖l例示出主 機計算機110的簡化框圖,并且總體上可以提供多種其它軟件和硬件部件。主機計算機110的總體設(shè)計和操作是本領(lǐng)域技術(shù)人員所公知的,因 此在此無需進一步描述。
仍然參照圖1,外圍設(shè)備120被配置為利用外圍設(shè)備接口 (如USB 接口 190和USB接口 192)連接到主機計算機110。然而,也可使用許 多其它外圍接口。 USB的設(shè)計和操作是本領(lǐng)域技術(shù)人員所公知的,因此 在此無需進一步描述。
外圍設(shè)備120包括控制器140,所述控制器140可以包括通用和/或 定制處理器、定制硬件和/或軟件。外圍設(shè)備中包括一個或者更多個定制 設(shè)備130。例如,外圍設(shè)備可以實現(xiàn)可用于將主機計算機110無線連接到 因特網(wǎng)的GSM調(diào)制解調(diào)器。在這種外圍設(shè)備中,定制設(shè)備130可以包括 無線調(diào)制解調(diào)器、以太網(wǎng)和/或其它網(wǎng)絡(luò)設(shè)備和/或其它定制設(shè)備130。為 每個定制設(shè)備130提供了定制設(shè)備驅(qū)動程序160。例如,可以為無線調(diào)制 解調(diào)器和網(wǎng)絡(luò)設(shè)備提供定制設(shè)備驅(qū)動程序160。定制設(shè)備驅(qū)動程序160通 常未預(yù)安裝在主機計算機110的操作系統(tǒng)112內(nèi)。外圍設(shè)備120還可以 包括標(biāo)準設(shè)備,如其中可以存儲定制設(shè)備驅(qū)動程序160以及其它指令和/ 或數(shù)據(jù)的非易失性存儲器150,非易失性存儲器150也被稱為大容量存儲 器。用于大容量存儲器150的標(biāo)準設(shè)備驅(qū)動程序無需包括在外圍設(shè)備120 內(nèi),因為主機計算機110上的操作系統(tǒng)112通常包括這種預(yù)安裝的驅(qū)動 程序。
最后,仍然參照圖l,提供了默認配置170和備選配置180。本領(lǐng)域 技術(shù)人員公知,配置是包括給定設(shè)備的硬件標(biāo)識符和參數(shù)定義的描述符。 默認配置170僅包含操作系統(tǒng)112包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序 的設(shè)備驅(qū)動程序類別接口。換言之,默認配置包含了操作系統(tǒng)包括其預(yù) 安裝的類別級設(shè)備驅(qū)動程序的設(shè)備驅(qū)動程序類別接口 ,所述接口中的至 少一個包括自動運行例程,但所述默認配置不包含操作系統(tǒng)不包括其預(yù) 安裝的類別級設(shè)備驅(qū)動程序的那些設(shè)備驅(qū)動程序類別接口。例如,默認 配置可能僅包括大容量存儲器類別接口 。操作系統(tǒng)通常包括其預(yù)安裝的 類別級設(shè)備驅(qū)動程序的那些設(shè)備驅(qū)動程序類別接口的其它示例是集線器 (網(wǎng)絡(luò))設(shè)備、音頻(擴音器、麥克風(fēng))設(shè)備、打印機以及人機交互設(shè)備(鍵盤、鼠標(biāo)、操縱桿)。備選配置180包含針對多個定制設(shè)備驅(qū)動程序
160的定制設(shè)備驅(qū)動程序接口 。
如下文更詳細描述的,控制器140被配置為在外圍設(shè)備120 (初始和 /或后來)連接到主機計算機110時,將默認配置170呈現(xiàn)給主機計算機 110的操作系統(tǒng)112。控制器140還被配置為響應(yīng)于來自主機計算機110 的"安裝"命令,將所述多個定制設(shè)備驅(qū)動程序160發(fā)送到主機計算機 110,并且響應(yīng)于來自主機計算機110的"變更"命令,將默認配置170 轉(zhuǎn)換為備選配置180。
可以意識到,在本發(fā)明的一些實施方式中,如果外圍設(shè)備初始時利 用內(nèi)置到操作系統(tǒng)內(nèi)的驅(qū)動程序能夠使用,則可將一個或者更多個定制 設(shè)備驅(qū)動程序從外圍設(shè)備自動安裝到主機計算機上。此外,外圍設(shè)備應(yīng) 當(dāng)能夠"承載"其自己的驅(qū)動程序,能夠?qū)⑵潋?qū)動程序呈現(xiàn)給操作系統(tǒng), 并且在操作系統(tǒng)中具有"自動播放"或者"自動運行"例程(在此也稱 為"自動運行例程")選項。如本領(lǐng)域技術(shù)人員公知的那樣,自動播放或 者自動運行是用于在插入設(shè)備時自動啟動程序的機制。例如,當(dāng)將適當(dāng) 配置的CD插入到PC中時,安裝程序?qū)⒃跓o需用戶交互操作的情況下自 動啟動該CD。最后,外圍設(shè)備120應(yīng)該具有在加載其新的定制驅(qū)動程序 時,動態(tài)變更其配置的能力。
因此,本發(fā)明的一些實施方式提供了包括默認配置170和備選配置 180的外圍設(shè)備120。還可提供USB接口 190和/或其它常規(guī)主機接口 。 初始時,在默認配置170中,外圍設(shè)備120將僅呈現(xiàn)操作系統(tǒng)110包括 其預(yù)安裝的類別級設(shè)備驅(qū)動程序的設(shè)備驅(qū)動程序類別接口 ,所述接口中 的至少一個包括自動運行例程。例如,可呈現(xiàn)大容量存儲設(shè)備類別接口。 操作系統(tǒng)IIO,如Windows,通常包括用于此類設(shè)備的內(nèi)置驅(qū)動程序。此 外,此類設(shè)備支持自動播放功能。操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備 驅(qū)動程序的那些設(shè)備驅(qū)動程序類別接口將包括具有適當(dāng)配置的 "autorun.inf "文件(用于Windows設(shè)備)的設(shè)備安裝程序,所述"autorun.inf" 文件用于自動啟動該設(shè)備安裝程序。此外,如果要安裝的定制設(shè)備驅(qū)動 程序經(jīng)過簽名,則無需用戶輸入就可以安裝所述定制驅(qū)動程序。如本領(lǐng)域技術(shù)人員公知的那樣,如果定制設(shè)備驅(qū)動程序已經(jīng)過操作系統(tǒng)供應(yīng)商 的預(yù)測試和預(yù)授權(quán),并且在該定制設(shè)備驅(qū)動程序中嵌入有該供應(yīng)商的數(shù) 字簽名,則該定制設(shè)備驅(qū)動程序就是經(jīng)過"簽名"的。
一旦進行了安裝,則定制設(shè)備驅(qū)動程序160將更好地匹配于設(shè)備120。 在Windows條件下,這意味著新設(shè)備120將利用更精確的ID匹配進行匹 配,而非利用與默認配置類別驅(qū)動程序170 (如大容量存儲設(shè)備類別驅(qū)動 程序)進行過匹配的類別匹配,使得針對后續(xù)設(shè)備插入將加載定制設(shè)備 驅(qū)動程序160。在加載時,新的定制設(shè)備驅(qū)動程序160將請求配置變更, 以將配置從默認配置170變更為包括實際外圍設(shè)備功能的備選配置180。 此處理可以通過用于變更為備選配置(如調(diào)制解調(diào)器和網(wǎng)絡(luò)設(shè)備)的USB 命令來執(zhí)行。接著,根據(jù)新設(shè)備類型的需要,將加載用于實際設(shè)備功能 的驅(qū)動程序。
因此,在一些實施方式中,可以減少或者最小化與安裝處理的用戶 交互,并且當(dāng)所述驅(qū)動程序經(jīng)過數(shù)字簽名時,實際上可以省略用戶交互。 如上提及的那樣,經(jīng)簽名的驅(qū)動程序指示操作系統(tǒng)供應(yīng)商3經(jīng)預(yù)授權(quán)了 該驅(qū)動程序的安裝,并且對該驅(qū)動程序施加了數(shù)字簽名以指示所述驅(qū)動 程序已被預(yù)授權(quán)。如果驅(qū)動程序經(jīng)過簽名,則無需提示用戶是否同意安 裝。因此,在這些實施方式中,可以省略對用戶交互的需求。
圖2是可由外圍設(shè)備(如圖1的外圍設(shè)備120)執(zhí)行以從所述外圍設(shè) 備將所述外圍設(shè)備的一個或者更多個定制設(shè)備驅(qū)動程序(如定制設(shè)備驅(qū) 動程序160)自動安裝到主機計算機(如圖1的主機計算機110)上的操 作的流程圖。這些操作例如可通過圖1的控制器140來執(zhí)行。
參照圖2,在框210處,判斷外圍設(shè)備120是初次(第一次)連接到 主機計算機IIO,還是實施第二次或者后續(xù)連接,在框220處,將默認配 置170呈現(xiàn)給操作系統(tǒng)110。如上文所述,默認配置170僅包含所述操作 系統(tǒng)包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序的那些設(shè)備驅(qū)動程序類別接 口,所述接口中的至少一個包括自動運行例程。換言之,默認配置包含 所述操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序的那些設(shè)備驅(qū)動程序 類別接口,所述接口中的至少一個包括自動運行例程,但所述默認配置
13不包含所述操作系統(tǒng)不包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序的那些設(shè)備 驅(qū)動程序類別接口。這種接口的示例包括大容量存儲設(shè)備(MSD)接
口和人機交互設(shè)備(HID)接口。因此,在本發(fā)明的一些實施方式中,無 論是否已經(jīng)將定制設(shè)備驅(qū)動程序160安裝在主機計算機110上,每次連 接到主機計算機110上時,都將默認配置170呈現(xiàn)給操作系統(tǒng)112。無論 外圍設(shè)備120是首次連接到主機計算機110還是后續(xù)連接到主機計算機 110,初始時都將默認配置170呈現(xiàn)給所述操作系統(tǒng),這樣即使在將外圍 設(shè)備120從一個主機計算機110移到另一主機計算機時,也能夠保證執(zhí) 行定制設(shè)備驅(qū)動程序160的安裝。
如上所述,所述操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序的默 認設(shè)備驅(qū)動程序類別接口中的至少一個包括自動運行例程。該自動運行 例程可被配置為可直接從該自動運行例程發(fā)布"安裝"命令,和/或從所 述自動運行例程所指向的主機計算機內(nèi)的可執(zhí)行例程發(fā)布"安裝"命令。 所述安裝命令可具有所述外圍設(shè)備120能識別的任何期望的格式。任何 情況下,如果這是外圍設(shè)備120第一次連接到主機計算機110,則在框 230處將接收到安裝命令。在框240處,外圍設(shè)備120響應(yīng)于所述安裝命 令,將一個或者更多個定制設(shè)備驅(qū)動程序160從外圍設(shè)備120自動發(fā)送 到主機計算機110。主機計算機110隨后安裝該定制設(shè)備驅(qū)動程序160。
一旦進行了安裝,則定制設(shè)備驅(qū)動程序160發(fā)送"變更"命令。所 述變更命令可具有所述外圍設(shè)備120可識別的任何期望的格式。
響應(yīng)于在框250處接收到所述變更命令,在框260處,外圍設(shè)備120 將其配置從默認配置170變更為備選配置180,備選配置180包括針對所 述一個或者更多個定制設(shè)備驅(qū)動程序160的接口,且被發(fā)送到所述主機。 接著在框270處,操作外圍設(shè)備120。還應(yīng)當(dāng)理解,如果外圍設(shè)備120第 二次或者后續(xù)連接到主機IIO,則在框230處不會接收到安裝命令。而是 在框250處接收到變更命令,而不要求重新安裝定制設(shè)備驅(qū)動程序。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,定制設(shè)備驅(qū)動程序160中的一個可用于 與所述驅(qū)動程序同一類型的所述操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備驅(qū) 動程序的設(shè)備。例如,外圍設(shè)備120中實際可以包括定制大容量存儲設(shè)自動安 裝定制設(shè)備驅(qū)動程序160的操作的流程圖。如上文所述,這些操作可與 圖2的操作相配合。參照圖3,在框310處,將外圍設(shè)備120的默認配置170呈現(xiàn)給主機 110,默認配置170僅包含操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序 的設(shè)備驅(qū)動程序類別接口 ,所述接口中的至少一個包括自動運行例程。 在框320,響應(yīng)于上述操作,將所述操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備 驅(qū)動程序的驅(qū)動程序設(shè)備類別級接口中的至少一個加載到主機110上。 應(yīng)當(dāng)理解,作為框220的操作結(jié)果,可將默認配置呈現(xiàn)給主機IIO。接著,在框330處,執(zhí)行自動運行例程以直接向外圍設(shè)備120發(fā)布 安裝命令,或者啟動(指向) 一個或者更多個可執(zhí)行程序,由它們向外 圍設(shè)備120發(fā)布安裝命令。接著在框340處,響應(yīng)于作為例如框240的 操作結(jié)果從外圍設(shè)備120接收到所述一個或者更多個定制設(shè)備驅(qū)動程序 160,在框350處安裝所述定制設(shè)備驅(qū)動程序160。如結(jié)合框250所述, 定制設(shè)備驅(qū)動程序160隨后使得從主機110發(fā)送變更命令,并且,如結(jié) 合框260所述,外圍設(shè)備120將其配置從默認170變更為定制180。在框 360處,主機110隨后利用定制設(shè)備驅(qū)動程序160進行操作,并且如在框 270處所述,外圍設(shè)備120也與主機110—起操作。圖4是根據(jù)本發(fā)明各種實施方式的可由主機110執(zhí)行以自動安裝定 制設(shè)備驅(qū)動程序160的操作的流程圖。這些實施方式描述了無論是否已 經(jīng)安裝了定制設(shè)備驅(qū)動程序160情況下主機的操作。具體來說,參照圖4, 在框410處,當(dāng)外圍設(shè)備120連接到主機110時,在框420處確定在操 作系統(tǒng)112中是否已安裝用于外圍設(shè)備120的定制設(shè)備驅(qū)動程序160。更 具體來說,確定在操作系統(tǒng)112中是否已安裝了與外圍設(shè)備120的產(chǎn)品 標(biāo)識相匹配的定制設(shè)備驅(qū)動程序160。如果判斷結(jié)果為"是",則在框440 處加載定制設(shè)備驅(qū)動程序,接著,在框450處向外圍設(shè)備120發(fā)布變更命令,以將其配置從默認配置170變更為備選配置180,備選配置180包 括針對所述一個或者更多個定制設(shè)備驅(qū)動程序160的接口 。在框460處, 主機110繼續(xù)進行操作。
再次參照框420,如果在操作系統(tǒng)112中未安裝與外圍設(shè)備120的產(chǎn) 品標(biāo)識匹配的定制設(shè)備驅(qū)動程序,則在框450處,加載由外圍設(shè)備呈現(xiàn) 給操作系統(tǒng),且所述操作系統(tǒng)包括其預(yù)安裝類別級設(shè)備驅(qū)動程序的至少 一個預(yù)安裝驅(qū)動程序類別接口 ,所述接口中的至少一個包括自動運行例 程。接著在框470處,執(zhí)行所述自動運行例程,以向外圍設(shè)備120直接 或者間接發(fā)布變更命令。隨后,響應(yīng)于在框480處從外圍設(shè)備120接收 到所述一個或者更多個定制設(shè)備驅(qū)動程序160,在框440處,加載或者安 裝所述定制設(shè)備驅(qū)動程序160。
圖5是根據(jù)本發(fā)明各種實施方式可由主機110和外圍設(shè)備120執(zhí)行 以自動安裝定制設(shè)備驅(qū)動程序160的組合操作的框圖。圖5的實施方式 假設(shè),主機110是PC,操作系統(tǒng)l 12是Windows操作系統(tǒng),并且所述操 作系統(tǒng)包括其預(yù)安裝類別級設(shè)備驅(qū)動程序的設(shè)備驅(qū)動程序類別接口是大 容量存儲設(shè)備類別接口 ,所述接口中的至少一個包括自動運行例程。
現(xiàn)在參照圖5,在框510處,插入或者連接外圍設(shè)備120,并且外圍 設(shè)備120僅呈現(xiàn)作為其默認配置的一部分的大容量存儲設(shè)備類別接口。 接著,在框520處,Windows操作系統(tǒng)尋找匹配的驅(qū)動程序。如果找到 與所述驅(qū)動程序匹配的產(chǎn)品ID,則將該驅(qū)動程序加載到操作系統(tǒng)112上。 如果沒有找到,則加載內(nèi)置的大容量存儲設(shè)備類別驅(qū)動程序。具體來說, 如在框530處所示,測試是否找到與驅(qū)動程序匹配的產(chǎn)品ID。如果結(jié)果 為"是",這表示這己經(jīng)是第二次或者后續(xù)連接外圍設(shè)備120,則在框540 處,Windows加載用于外圍設(shè)備120的實際(定制)驅(qū)動程序160,并且 隨后在框550處,此定制驅(qū)動程序160利用USB命令來將外圍設(shè)備120 變更為備選(實際或者定制)配置180。隨后繼續(xù)正常的驅(qū)動程序操作。
再次返回到框530,如果在操作系統(tǒng)112中未找到與所述驅(qū)動程序匹 配的產(chǎn)品ID,這表示外圍設(shè)備120是第一次連接到該主機110,則隨后 在框570處,Windows加載內(nèi)置的大容量存儲設(shè)備類別驅(qū)動程序,該驅(qū)動程序隨后自動搜索autorun.inf。如果找到,則Windows將啟動autorun.inf 所指向的可執(zhí)行程序。隨后,在框580處,直接或者間接地從autorun.inf 文件運行驅(qū)動程序安裝程序,自動安裝定制驅(qū)動程序160。此外,如果定 制驅(qū)動程序160經(jīng)過簽名,則可以無需用戶交互。隨后操作繼續(xù)到框550 以改變外圍設(shè)備的配置,并且在框560處繼續(xù)正常操作。
因此,如圖5所示,在框510處,本發(fā)明的一些實施方式可在初始 時總是呈現(xiàn)大容量存儲設(shè)備類別接口,或者更通常來說,總是呈現(xiàn)外圍 設(shè)備的默認配置,所述默認配置僅包含所述操作系統(tǒng)包括其預(yù)安裝的類 別級設(shè)備驅(qū)動程序的那些設(shè)備驅(qū)動程序類別接口,所述接口中的至少一 個包括自動運行例程。與之對照,在傳統(tǒng)技術(shù)中,如在上述美國專利 6,754,725和美國專利申請公開2005/0038934中所述,在連接外圍設(shè)備時, 可將包括定制驅(qū)動程序的接口呈現(xiàn)給操作系統(tǒng)。由于初始時將定制接口 呈現(xiàn)給操作系統(tǒng),所以操作系統(tǒng)在安裝該定制驅(qū)動程序前會搜索該定制 驅(qū)動程序。這種安裝前的搜索會生成用于指向該驅(qū)動程序的用戶消息, 這樣就阻止了自動安裝。
另外如圖5所示,在本發(fā)明的一些實施方式中,在框550處,僅在 Windows加載定制驅(qū)動程序(框540),或者安裝定制驅(qū)動程序580之后, 將所述驅(qū)動程序配置切換為呈現(xiàn)針對該定制驅(qū)動程序的接口。因此,不 需要要求用戶提供驅(qū)動程序或者指向驅(qū)動程序。此外,如果所述驅(qū)動程 序已經(jīng)過簽名,這通常會是定制驅(qū)動程序由聲譽良好的外圍設(shè)備設(shè)計者 設(shè)計的情況,在不向用戶發(fā)送關(guān)于他們是否希望安裝此未經(jīng)簽名的驅(qū)動 程序的警告消息的情況下,就可以自動加載或者安裝該定制驅(qū)動程序。 因此,可以不需要用戶交互。
因此,本發(fā)明的實施方式可以在已經(jīng)成功加載定制驅(qū)動程序之后, 才允許操作系統(tǒng)安裝該定制驅(qū)動程序。從而可以減少或者消除用戶提示。 最后,本領(lǐng)域技術(shù)人員還應(yīng)當(dāng)理解,安裝的定制設(shè)備驅(qū)動程序中還可以 包括應(yīng)用軟件,從而本發(fā)明的實施方式可用于在無需用戶干預(yù)的情況下, 加載驅(qū)動程序和應(yīng)用軟件。
在根據(jù)本發(fā)明的進一步的實施方式中,USB兼容外圍設(shè)備可響應(yīng)于外圍設(shè)備經(jīng)過USB連接到的主機計算機所發(fā)布的USB供應(yīng)商特定命令, 從默認USB配置變更為備選USB配置。具體來說,USB供應(yīng)商特定命 令可由USB兼容外圍設(shè)備識別為如上所述由加載在主機計算機上的定制 設(shè)備驅(qū)動程序所發(fā)布的變更命令。
利用USB供應(yīng)商特定命令來變更所述USB兼容外圍設(shè)備的配置, 可進一步促進所述USB兼容外圍設(shè)備的自動安裝和配置,從而減少對用 戶人工干預(yù)的需要。此外,USB供應(yīng)商特定命令還可促進在系統(tǒng)不一定 支持在其他情況下用于改變USB外圍設(shè)備配置的USB命令的情況下對 所述USB兼容外圍設(shè)備的使用。例如,所有版本的USB設(shè)備不一定都 支持諸如USB集配置命令的USB命令。相反,所有版本的USB兼容設(shè) 備都應(yīng)當(dāng)支持USB供應(yīng)商特定命令格式,使得即使在不支持USB集配 置命令的系統(tǒng)中時,也能夠變更所述USB兼容設(shè)備的USB配置。
圖6是例示了根據(jù)本發(fā)明一些實施方式中的USB兼容外圍設(shè)備和主 機計算機的操作的流程圖。具體來說,在根據(jù)本發(fā)明的一些實施方式中, 當(dāng)將USB定制驅(qū)動程序(如上文參照圖1至5所述,由USB兼容外圍 設(shè)備提供的USB定制驅(qū)動程序)加載到所述主機計算機上時,所述主機 計算機對所述USB兼容外圍設(shè)備所呈現(xiàn)的配置進行檢査(框605)。如果 所述USB兼容外圍設(shè)備呈現(xiàn)了備選USB配置(框610),則所述USB兼 容外圍設(shè)備根據(jù)所呈現(xiàn)的所述備選USB配置與所述主機系統(tǒng)相交互(框 640)。
然而,如果所述USB兼容外圍設(shè)備呈現(xiàn)了默認USB配置(框610), 則所述主機計算機向所述USB兼容外圍設(shè)備發(fā)送USB供應(yīng)商特定命令 作為變更命令(框615)。所述USB兼容外圍設(shè)備接收到所述USB供應(yīng) 商特定命令且與所述主機斷開連接,并且將所述USB兼容外圍設(shè)備的 USB配置變更為所述備選USB配置(框620)。所述主機計算機檢測到 所述USB兼容外圍設(shè)備已斷開連接,并且響應(yīng)于該結(jié)果卸載所述USB 定制驅(qū)動程序(框625)。所述USB兼容外圍設(shè)備隨后重新連接到所述主 機計算機,并且呈現(xiàn)所述備選USB配置(框630)。所述主機計算機檢測 到所述USB兼容外圍設(shè)備呈現(xiàn)的所述USB配置,并且重新加載所述USB
18定制驅(qū)動程序(框635)。隨后可根據(jù)所述備選USB配置執(zhí)行與所述USB 兼容外圍設(shè)備的交互(框640)。
圖7是例示了根據(jù)本發(fā)明的一些實施方式中的USB兼容外圍設(shè)備的 操作的流程圖。具體來說,USB兼容外圍設(shè)備加載默認USB配置,并且 將該默認USB配置呈現(xiàn)給主機計算機(框705)。所述USB兼容外圍設(shè) 備隨后可從所述主機計算機接收到USB供應(yīng)商特定命令,所述USB供 應(yīng)商特定命令指示所述USB兼容外圍設(shè)備將其USB配置變更為備選 USB配置(框710)。
在接收到所述USB供應(yīng)商特定命令時,所述USB兼容外圍設(shè)備從 所述主機計算機斷開連接(框715)。所述USB兼容外圍設(shè)備隨后加載所 述備選USB配置并且重新連接到所述主機計算機,從而將所述備選USB 配置呈現(xiàn)給所述主機計算機(框720)。所述USB兼容外圍設(shè)備隨后可根 據(jù)所述備選USB配置來與所述主機計算機相交互(框725)。
應(yīng)當(dāng)理解,作為USB控制設(shè)置事務(wù)的一部分,可根據(jù)圖8所例示的 格式,將USB供應(yīng)商特定命令提供給USB兼容外圍設(shè)備。具體來說, 圖8所示的控制設(shè)置事務(wù)可以提供USB供應(yīng)商特定命令作為控制事務(wù)的 設(shè)置段的一部分。在根據(jù)本發(fā)明的一些實施方式中,作為所述USB供應(yīng) 商特定命令的用于變更所述USB兼容外圍設(shè)備的USB配置的一部分, 數(shù)據(jù)段和狀態(tài)段是可選的。
在根據(jù)本發(fā)明的一些實施方式中,把包括提供所述USB供應(yīng)商特定 命令的設(shè)置段的控制寫序列,提供給所述USB兼容外圍設(shè)備的USB端 點。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,所述端點可被認為是任何USB兼容外圍 設(shè)備所支持的數(shù)據(jù)接收器(sink for data)。例如,所述端點可由USB定 制驅(qū)動程序的軟件層使用,來向所述USB兼容外圍設(shè)備寫入數(shù)據(jù)。類似 的是,所述USB兼容外圍設(shè)備可通過獨立緩沖器向所述主機返回數(shù)據(jù), 所述主機計算機可利用所述USB定制驅(qū)動程序?qū)λ霆毩⒕彌_器進行讀 取。本領(lǐng)域技術(shù)人員還應(yīng)理解,端點零用于接收在枚舉處理過程中建立 的所有外圍設(shè)備控制和狀態(tài)請求,所述枚舉處理在USB規(guī)范中有更詳細 的描述,USB規(guī)范可在因特網(wǎng)網(wǎng)址"www.usb.org"上找到,并且通過引用將其內(nèi)容并入本文。
在根據(jù)本發(fā)明的進一步的實施方式,上述圖1所示的控制器能夠協(xié)
調(diào)所述USB兼容外圍設(shè)備的操作,以將所述USB配置從默認配置變更 為備選USB配置。具體來說,所述控制器可被配置為在所述USB兼容 外圍設(shè)備連接到所述主機計算機時,將所述默認USB配置呈現(xiàn)給所述主 機計算機的操作系統(tǒng)。所述控制器可被進一步配置為,響應(yīng)于變更命令 (即,所述USB供應(yīng)商特定命令),將所述USB兼容外圍設(shè)備的USB配 置從所述默認USB配置變更為所述備選USB配置,所述變更命令被配 置為向所述USB兼容外圍設(shè)備指示出要變更所述USB兼容外圍設(shè)備的 配置。在根據(jù)本發(fā)明的一些實施方式中,所述USB兼容外圍設(shè)備被配置 為對由加載在所述主機計算機上的定制驅(qū)動程序所提供的USB供應(yīng)商特 定命令進行識別。因此,當(dāng)所述控制器檢測出接收到所述USB供應(yīng)商特 定命令時,所述控制器可隨后實施對USB配置的變更。
在附圖和說明書中公開了本發(fā)明的實施方式,雖然采用了特定術(shù)語, 但所述術(shù)語僅用于一般和描述的含義,而非用于限制目的,本發(fā)明的范 圍在所附權(quán)利要求書中進行闡述。
20
權(quán)利要求
1、一種自動修改通用串行總線兼容外圍設(shè)備的配置的方法,所述方法包括在通用串行總線兼容外圍設(shè)備初始連接到通用串行總線時,呈現(xiàn)默認通用串行總線配置作為所述通用串行總線兼容外圍設(shè)備的配置;在所述通用串行總線兼容外圍設(shè)備處接收從外部發(fā)給所述通用串行總線兼容外圍設(shè)備的變更命令,所述變更命令包括通用串行總線供應(yīng)商特定命令,所述通用串行總線供應(yīng)商特定命令被配置為向所述通用串行總線兼容外圍設(shè)備指示,要將所述通用串行總線兼容外圍設(shè)備的配置變更為與所述通用串行總線供應(yīng)商特定命令相對應(yīng)的備選通用串行總線配置;以及響應(yīng)于在所述通用串行總線兼容外圍設(shè)備處接收到所述通用串行總線供應(yīng)商特定命令,呈現(xiàn)所述備選通用串行總線配置作為所述通用串行總線兼容外圍設(shè)備的配置。
2、 根據(jù)權(quán)利要求1所述的方法,其中,響應(yīng)于接收到所述變更命令, 所述通用串行總線兼容外圍設(shè)備與所述通用串行總線斷開連接,從而卸 載在主機計算機上加載的相關(guān)默認驅(qū)動程序。
3、 根據(jù)權(quán)利要求2所述的方法,該方法還包括響應(yīng)于接收到所述 變更命令,所述通用串行總線兼容外圍設(shè)備在將所述通用串行總線兼容 外圍設(shè)備的配置變更為所述備選通用串行總線配置后,重新連接到所述 通用串行總線,從而在所述主機計算機上加載相關(guān)備選驅(qū)動程序。
4、 根據(jù)權(quán)利要求1所述的方法,其中,所述通用串行總線供應(yīng)商特 定命令包括在通用串行總線兼容設(shè)置段分組的頭部中包括的信息,所述 信息向所述通用串行總線兼容外圍設(shè)備指示,相關(guān)后續(xù)數(shù)據(jù)段包括用于 標(biāo)識所述通用串行總線供應(yīng)商特定命令的供應(yīng)商定義信息。
5、 根據(jù)權(quán)利要求1所述的方法,其中,所述備選通用串行總線配置 與預(yù)安裝在主機計算機上的設(shè)備類別接口中未包括的設(shè)備相關(guān)聯(lián)。
6、 根據(jù)權(quán)利要求1所述的方法,其中,所述主機計算機響應(yīng)于向所述主機計算機呈現(xiàn)或者再次呈現(xiàn)所述外圍設(shè)備的默認通用串行總線配 置,執(zhí)行下列步驟,其中所述默認通用串行總線配置包括所述主機計算 機上的操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序的驅(qū)動程序類別接 口,所述接口中的至少一個包括自動運行例程,但所述默認通用串行總 線配置不包括所述操作系統(tǒng)不包括其預(yù)安裝的類別級設(shè)備驅(qū)動程序的設(shè) 備驅(qū)動程序類別接口,所述步驟包括如果在所述操作系統(tǒng)中安裝有與所述外圍設(shè)備的產(chǎn)品標(biāo)識相匹配的 定制設(shè)備驅(qū)動程序,則加載所述定制設(shè)備驅(qū)動程序,并且將所述變更命 令發(fā)送給所述通用串行總線兼容外圍設(shè)備,以將所述配置從所述默認通 用串行總線配置變更為所述備選通用串行總線配置;和如果在所述操作系統(tǒng)中未安裝與所述外圍設(shè)備的產(chǎn)品標(biāo)識相匹配的 定制設(shè)備驅(qū)動程序,則加載所述操作系統(tǒng)包括其預(yù)安裝的類別級設(shè)備驅(qū) 動程序的驅(qū)動程序類別接口中的至少一個,所述接口中的至少一個包括 自動運行例程;執(zhí)行所述自動運行例程以直接從所述自動運行例程和/或 從所述自動運行例程所指向的可執(zhí)行例程,向所述通用串行總線兼容外 圍設(shè)備發(fā)布安裝命令;并且響應(yīng)于接收到來自所述通用串行總線兼容外 圍設(shè)備的所述一個或者更多個定制設(shè)備驅(qū)動程序,在所述主機系統(tǒng)上安 裝所述一個或者更多個定制設(shè)備驅(qū)動程序。
7、 根據(jù)權(quán)利要求6所述的方法,其中,所述操作系統(tǒng)包括Windows 操作系統(tǒng)。
8、 根據(jù)權(quán)利要求1所述的方法,其中,所述默認通用串行總線配置 包括默認大容量存儲器配置,并且所述備選通用串行總線配置包括調(diào)制 解調(diào)器配置。
9、 一種通用串行總線兼容外圍設(shè)備,其被配置為執(zhí)行權(quán)利要求1所 述的方法。
10、 一種用于通用串行總線兼容外圍設(shè)備的計算機程序產(chǎn)品,所述 計算機程序產(chǎn)品包括計算機可用存儲介質(zhì),在該計算機可用存儲介質(zhì)中 實現(xiàn)有計算機可讀程序代碼,所述計算機可讀程序代碼被配置為執(zhí)行權(quán) 利要求1所述的方法。
11 、 一種被配置為連接到主機計算機的通用串行總線兼容外圍設(shè)備, 所述通用串行總線兼容外圍設(shè)備包括默認通用串行總線配置,其包括所述操作系統(tǒng)包括其預(yù)安裝的類別 級設(shè)備驅(qū)動程序的設(shè)備驅(qū)動程序類別接口 ,但不包括所述操作系統(tǒng)不包 括其預(yù)安裝的類別級設(shè)備驅(qū)動程序的設(shè)備驅(qū)動程序類別接口 ;備選通用串行總線配置,其包括定制設(shè)備驅(qū)動程序接口;以及控制器,其被配置為在所述通用串行總線兼容外圍設(shè)備連接到所述 主機計算機時,將所述默認通用串行總線配置呈現(xiàn)給所述主機計算機的 所述操作系統(tǒng),并且響應(yīng)于來自所述主機計算機的變更命令,將所述通 用串行總線兼容外圍設(shè)備的通用串行總線配置從所述默認通用串行總線 配置變更為所述備選通用串行總線配置,以將所述備選通用串行總線配 置呈現(xiàn)給所述主機系統(tǒng),所述變更命令包括通用串行總線供應(yīng)商特定命 令,所述通用串行總線供應(yīng)商特定命令被配置為向所述通用串行總線兼 容外圍設(shè)備指示,要將所述通用串行總線兼容外圍設(shè)備的配置變更為與 所述通用串行總線供應(yīng)商特定命令對應(yīng)的所述備選通用串行總線配置。
12、 根據(jù)權(quán)利要求ll所述的通用串行總線兼容外圍設(shè)備,其中,所 述控制器還被配置為,響應(yīng)于接收到所述變更命令,將所述通用串行總 線兼容外圍設(shè)備與所述主機計算機斷幵連接,從而卸載在所述主機計算 機上加載的相關(guān)默認驅(qū)動程序。
13、 根據(jù)權(quán)利要求12所述的通用串行總線兼容外圍設(shè)備,其中,所 述控制器還被配置為,在響應(yīng)于接收到所述變更命令,將所述通用串行 總線兼容外圍設(shè)備的配置變更為所述備選通用串行總線配置之后,將所 述通用串行總線兼容外圍設(shè)備重新連接到所述主機計算機,從而在所述 主機計算機上加載相關(guān)備選驅(qū)動程序。
14、 根據(jù)權(quán)利要求ll所述的通用串行總線兼容外圍設(shè)備,其中,所 述通用串行總線供應(yīng)商特定命令包括在通用串行總線兼容設(shè)置段分組的 頭部中包括的信息,所述信息向所述通用串行總線兼容外圍設(shè)備指示, 相關(guān)后續(xù)數(shù)據(jù)段包括用于標(biāo)識所述通用串行總線供應(yīng)商特定命令的供應(yīng) 商定義信息。
15、根據(jù)權(quán)利要求ll所述的通用串行總線兼容外圍設(shè)備,其中,所 述備選通用串行總線配置與預(yù)安裝在主機計算機上的設(shè)備類別接口中未 包括的設(shè)備相關(guān)聯(lián)。
16.<image>image see original document page 0</image>
17、 一種用于自動修改通用串行總線兼容外圍設(shè)備的配置的計算機 程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機可讀介質(zhì),在所述計算機可 讀介質(zhì)中實現(xiàn)有計算機可讀程序代碼,所述計算機可讀程序產(chǎn)品包括被配置為在通用串行總線兼容外圍設(shè)備初始連接到通用串行總線 時,呈現(xiàn)默認通用串行總線配置作為所述通用串行總線兼容外圍設(shè)備的 配置的計算機可讀程序代碼,-被配置為在所述通用串行總線兼容外圍設(shè)備處接收從外部發(fā)給所述 通用串行總線兼容外圍設(shè)備的變更命令的計算機可讀程序代碼,所述變 更命令包括通用串行總線供應(yīng)商特定命令,所述通用串行總線供應(yīng)商特 定命令被配置為向所述通用串行總線兼容外圍設(shè)備指示,要將所述通用 串行總線兼容外圍設(shè)備的配置變更為與所述通用串行總線供應(yīng)商特定命 令相對應(yīng)的備選通用串行總線配置;以及被配置為響應(yīng)于在所述通用串行總線兼容外圍設(shè)備處接收到所述通 用串行總線供應(yīng)商特定命令,呈現(xiàn)所述備選通用串行總線配置作為所述 通用串行總線兼容外圍設(shè)備的配置的計算機可讀程序代碼。
18、 根據(jù)權(quán)利要求1所述的計算機程序產(chǎn)品,其中,響應(yīng)于接收到 所述變更命令,所述通用串行總線兼容外圍設(shè)備與所述通用串行總線斷 開連接,從而卸載在主機計算機上加載的相關(guān)默認驅(qū)動程序。
19、 根據(jù)權(quán)利要求18所述的計算機程序產(chǎn)品,進一步響應(yīng)于接收到 所述變更命令,所述通用串行總線兼容外圍設(shè)備在將所述通用串行總線 兼容外圍設(shè)備的配置變更為所述備選配置后,重新連接到所述通用串行 總線,從而在所述主機計算機上加載相關(guān)備選驅(qū)動程序。
20、 根據(jù)權(quán)利要求17所述的計算機程序產(chǎn)品,其中,所述通用串行 總線供應(yīng)商特定命令包括在通用串行總線兼容設(shè)置段分組的頭部中包括 的信息,該信息向所述通用串行總線兼容外圍設(shè)備指示,相關(guān)后續(xù)數(shù)據(jù) 段包括用于標(biāo)識所述通用串行總線供應(yīng)商特定命令的供應(yīng)商定義信息。
全文摘要
通過在初始連接到通用串行總線時呈現(xiàn)默認通用串行總線配置作為通用串行總線兼容外圍設(shè)備的配置,并且在通用串行總線兼容外圍設(shè)備處接收變更命令,能夠提供一種自動修改通用串行總線兼容外圍設(shè)備的配置的方法,其中變更命令包括通用串行總線供應(yīng)商特定命令,通用串行總線供應(yīng)商特定命令被配置為向通用串行總線兼容外圍設(shè)備指示要將通用串行總線兼容外圍設(shè)備的配置變更為與通用串行總線供應(yīng)商特定命令相對應(yīng)的備選通用串行總線配置。接著響應(yīng)于在通用串行總線兼容外圍設(shè)備處接收到通用串行總線供應(yīng)商特定命令,可將備選通用串行總線配置呈現(xiàn)作為通用串行總線兼容外圍設(shè)備的配置。還公開了相關(guān)設(shè)備和計算機程序產(chǎn)品。
文檔編號G06F13/10GK101675419SQ200780052907
公開日2010年3月17日 申請日期2007年12月18日 優(yōu)先權(quán)日2007年5月7日
發(fā)明者塞繆爾·L·穆利斯, 杰夫·蘭克福德, 菲利普·埃爾詹 申請人:索尼愛立信移動通訊有限公司