專利名稱:一種實現(xiàn)終端設備自啟動的方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信數(shù)據(jù)設備領域,尤其涉及一種實現(xiàn)終端設備自啟 動的方法及系統(tǒng)。
背景技術:
在辦公室或者家中,人們使用臺式計算機或者便攜式計算機通過 互聯(lián)網(wǎng)上網(wǎng),而外出時,只要便攜式計算機配備有無線網(wǎng)卡,就能實
現(xiàn)隨時隨地數(shù)據(jù)信息的傳遞,保持在線及時溝通,但基于GSM( Global System for Mobile Communications,全球移動通訊系統(tǒng))和CDMA (Code-Division Multiple Access,碼分多址)兩種通信網(wǎng)絡與互聯(lián)網(wǎng)的 連接,其傳輸速率一直難以突破,直到3G (3rdGenemtion,第三代 移動通信技術)時代的到來,才給移動終端設備注入了新的活力,它 不僅可以為用戶提供更高速的無線上網(wǎng),還能在上網(wǎng)同時進行語音通 話,短信、彩信收發(fā)等更強大的數(shù)據(jù)業(yè)務??梢韵胍?,未來無線數(shù)據(jù) 終端產(chǎn)品需求量會越來越大,設備廠商之間的竟爭也會愈加激烈,開 發(fā)出滿足運營商定制、符合用戶要求、更方便用戶使用的產(chǎn)品尤其重 要。
從用戶體驗的角度出發(fā),用戶當然希望能夠方便、簡單的使用終 端產(chǎn)品,不必為安裝設備驅動及應用軟件而苦惱、不必為因忘記攜帶 或者丟失設備驅動程序而帶來不必要的煩惱,根據(jù)這個需求,很多設 備廠商廢棄了發(fā)布產(chǎn)品時提供CD (CompactDisc)安裝光盤的方法, 而是使用 一種新的技術方案,即將設備驅動和應用程序固化在設備當 中,設備接入計算機之后,首先上報成CD-ROM (Compact Disc Read-Only Memory,只讀光盤設備),并提示用戶安裝應用程序及驅 動,然后再切換到用戶可用的端口,圖1即為上述過程的流程圖;以 后當該設備再次接入計算機時,仍然上報成CD-ROM,然后CD-ROM 中的應用程序4企測該計算機是否已經(jīng)安裝過驅動,以及驅動和應用軟件是否完好可用,若都是,則切換到用戶可用的端口。
這種方式給用戶帶來更好的體驗及便捷,免光盤安裝,終端設備 連接計算機后既能自動安裝驅動程序和客戶端應用程序,使用極為便 利,省去了用戶安裝手動安裝驅動及應用程序的麻煩,并且節(jié)省了硬 件成本,但仍然存在一個問題就是用戶每次使用終端設備接入計算機
后,都會有從CD-ROM切換到用戶可用端口的過程,延長了用戶的 等待時間,而且如果CD-ROM不能自動播放,還需用戶手動打開應 用程序,才能實現(xiàn)端口的切換,也給用戶帶來了極大的不便。
過濾驅動是基于WDM (Windows Driver Model, 一見窗驅動程式 模型)開發(fā)模型,是微軟公司從Windows 98開始,推出的一種通用 的驅動程序模型。隨著Windows操作系統(tǒng)的升級,WDM已經(jīng)成為 Windows系統(tǒng)驅動程序開發(fā)的主流。WDM體系結構實4亍分層處理, 即設備驅動被分成若干層,典型地分成過濾驅動程序、功能驅動程
序、總線驅動程序。每層驅動把i/o請求劃分成更簡單的請求,以傳 給更下層的驅動執(zhí)行。最底層的驅動程序收到i/o請求后,通過硬件 抽象層,與硬件發(fā)生作用,從而完成i/o請求操作?,F(xiàn)有的過濾驅動, 在整個驅動過程中,僅執(zhí)行最基本的操作_劃分及傳遞1/0請求;這 樣,若需要對功能驅動程序中存在不合理的操作進行修正或者增加功 能時,則必須修改功能驅動程序本身,這樣做工程量會很大;基于過 濾驅動的特點,可以通過開發(fā)過濾驅動程序,實現(xiàn)在不更改現(xiàn)有功能 驅動程序的情況下,修正硬件或者功能驅動程序的Bug,從而增加現(xiàn) 有驅動程序的功能,以較小的代價擴展硬件現(xiàn)有的功能。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是,提供一種實現(xiàn)終端設備自啟動的 方法及系統(tǒng),本發(fā)明減少了用戶的等待時間,提高了設備的易用性。
本發(fā)明公開了 一種實現(xiàn)終端設備自啟動的方法,計算機;險測到有 終端設備接入并上報成USB Mass Storage設備后,判斷所述終端設備 的過濾驅動是否已安裝并加載,若是,則直接通知所述終端設備切換 到用戶可用端口;否則,通知所述終端設備上報成CD-ROM,依次安裝并加載所述終端設備的過濾驅動和/或應用程序以及設備驅動,
然后通知所述終端設備切換到用戶可用端口 ;
所述終端設備接收到端口切換通知后,進行復位并重新枚舉,然 后切換到用戶可用端口。
所述計算機在判斷所述終端設備的過濾驅動是否已安裝并加載
前,首先根據(jù)讀取到的所述終端設備的廠商ID (Identity,身份識別 碼)和產(chǎn)品ID為所述終端設備匹配過濾驅動。
所述計算機安裝并加載所述終端設備的過濾驅動和/或應用程序 以及設備驅動,具體執(zhí)行如下操作
步驟A:判斷所述終端設備上報的CD-ROM是否能夠自動播放, 若是,則執(zhí)行步驟B;否則,等待用戶手動運行后,執(zhí)行步驟B;
步驟B:檢測所述終端設備的應用程序和設備驅動是否已安裝并 加載,若是,則安裝并加載所述終端設備的過濾驅動;否則,執(zhí)行步 驟C;
步驟C:安裝并加載所述終端設備的應用程序、設備驅動和過濾 驅動。
所述計算才幾通過下發(fā)SCSI ( Small Computer System Interface,小 型計算機系統(tǒng)接口 )指令或者調用Windows提供的彈出指令通知所 述終端設備進行端口切換。
本發(fā)明進一步公開一種實現(xiàn)終端設備自啟動的系統(tǒng),包括計算 機、終端設備,所述計算機用于在檢測到有終端設備接入并上報成 USB Mass Storage設備后時,讀取所述終端設備的廠商ID和產(chǎn)品ID, 并根據(jù)讀取到信息為所述終端設備匹配過濾驅動,判斷所述過濾驅動 是否已安裝并加載;在已安裝并加載時,直接通知所述終端設備切換 到用戶可用端口;在未安裝時,通知所述終端設備上報成CD-ROM,
動,以及通知所終端設備切換到用戶可用端口;
所述終端設備用于在接收到所述計算機上報成CD-ROM的通知 時,將自己上報成CD-ROM;在接收到端口切換通知時,執(zhí)行復位 和重新枚舉操作,然后切換到用戶可用端口 。
所述計算機還用于判斷所述終端設備上報的CD-ROM是否能夠自動播放;用于在所述CD-ROM能夠自動播放或者監(jiān)測到用戶手動 運行時,檢測所述終端設備的應用程序和設備驅動是否已安裝,若是, 則安裝并加載所述終端設備的過濾驅動;否則,安裝并加載所述終端 設備的應用程序、設備驅動和過濾驅動。
所述終端設備包括無線網(wǎng)卡、移動終端。
與現(xiàn)有技術相比較,本發(fā)明引入了 USB Mass Storage過濾驅動的 技術,終端設備的應用程序、設備驅動及過濾驅動被成功安裝后,當 終端設備再次接入計算機并上報成USB Mass Storage設備時,計算 機加載匹配的USB Mass Storage過濾驅動,并通知終端設備進行端口 切換;終端設備接到通知后進行復位,重新枚舉,直接以用戶可用的 端口呈現(xiàn)給用戶,而不會以CD-ROM形式顯示給用戶,避免了終端 設備枚舉為CD-ROM的過程,從而提高了端口切換速度,減少了用 戶的等待時間,大大提高了設備的易用性。
圖1是現(xiàn)有的終端設備自啟動流程圖; 圖2是本發(fā)明所述系統(tǒng)框圖; 圖3是本發(fā)明所述終端設備自啟動流程圖; 圖4是本發(fā)明中過濾驅動的加載流程圖。
具體實施例方式
下面結合附圖和優(yōu)選實施例對本發(fā)明作進一步詳細描述 如圖2所示,是本發(fā)明所述系統(tǒng)框圖,包括計算機(Host)、終 端設備(Device),
Host用于在檢測到有Device接入并上報成USB Mass Storage設 備后時,讀取Device的廠商ID和產(chǎn)品ID,并根據(jù)讀取到信息為Device 匹配過濾驅動,判斷匹配的過濾驅動是否已安裝并加載;在已安裝并 加載時,直接通知Device切換到用戶可用端口 ;在未安裝時,通知 Device上報成CD-ROM,判斷Device上報的CD-ROM是否能夠自動 播放;用于在所述CD-ROM能夠自動播放或者監(jiān)測到用戶手動運行時,檢測Device的應用程序和設備驅動是否已安裝,若是,則安裝 并加載Device的過濾驅動;否則,依次安裝并加載Device的應用程 序、設備驅動和過濾驅動;
Device用于在接收到Host上報成CD-ROM的通知時,將自己上 報成CD-ROM;在接收到端口切換通知時,執(zhí)行復位和重新枚舉操 作,然后切換到用戶可用端口。
Host為臺式計算機或者便攜式計算機,Device包括無線網(wǎng)卡、 移動終端等。
如圖3所示,是本發(fā)明所述方法流程圖,本發(fā)明基于設備驅動和 應用程序固化在Device中,在Device與Host連接后,上報為CD-ROM 的技術,具體包括如下步驟
步驟300: Device接入Host,上l艮成USB Mass Storage設備;
步驟301: Host獲取Device的廠商ID以及產(chǎn)品ID,為Device 匹配過濾驅動,并判斷所述過濾驅動是否已安裝并加載;若是,則執(zhí) 行步驟302;否則,執(zhí)行步驟305;
Host根據(jù)Device的廠商ID和產(chǎn)品ID匹配過濾驅動,不會影響 其它廠商或者產(chǎn)品的同類型設備工作。
本發(fā)明中,有兩種情況需要安裝并加載Device的過濾驅動;一 種是所述Device為第 一次接入Host;另 一種是現(xiàn)有的已安裝的所述 Device的過濾驅動不可用。過濾驅動的加載過程具體如圖4所示。
步驟302: Host通知Device進行端口切換;
本步驟中,Host通過下發(fā)標準的/自定義的SCSI指令,或者調用 Windows提供的彈出指令通知Device。
步驟303: Device接收到通知后,進行復位并重新才丈舉;
步驟304:切換到用戶可用端口,結束;
步驟305: Host通知Device上報成CD-ROM; Device接收通知 后上纟艮成CD-ROM;
步驟306:判斷Device上報的CD-ROM是否能夠自動播放,若 是,則執(zhí)行步驟308;否則,執(zhí)行步驟307;
步驟307:等待用戶手動運行,用戶手動運行后,」沐行步驟308;步驟308:檢測Device的應用程序和設備驅動是否已安裝,若是, 則執(zhí)行步驟309;否則,執(zhí)行步驟310;
步驟309:安裝并加載Device的過濾驅動,執(zhí)行步驟303;
步驟310:依次安裝并加載Device的應用程序、設備驅動和過濾 驅動,執(zhí)行步驟303。
本發(fā)明中,過濾驅動的安裝有兩種方法,分別為
1)在過濾驅動的Inf文件的安裝節(jié)中指定支持的Device的廠商 ID及產(chǎn)品ID,在服務節(jié)中需要添加Include=usbstor.inf, Needs= USBSTOR—BULK.NT.Services,具體實現(xiàn)細節(jié)可以參考DDK中Inf 相關內(nèi)容;
2 )在Device插入Host后,注冊表[HKEY—LOCAL—MACHINE\ SYSTE她CurrentControlSetMEnumMJSBV會產(chǎn)生Device的廠商ID及產(chǎn) 品ID相關設備鍵值信息以及實例號,在實例號下添加數(shù)值 LowerFilters,并4吏LowerFilters二過濾馬區(qū)動名。
如圖4所示,是操作系統(tǒng)加載過濾驅動的流程圖,包括如下步驟
步驟401:調用DriverEntry例程,設置AddDevice及DriverUnload 例程;初始化IRP派遣函數(shù),將各種IRP傳遞下去;
步驟402:調用AddDevice例程中的IoCreateDevice函數(shù),創(chuàng)建 設備對象;調用Io AttachDeviceToDeviceStack函數(shù),4巴創(chuàng)建的對象插 入驅動程序堆棧中;
步驟403:處理I/O管理器會下發(fā)的IRP—MNSTART—DEVICE 請求,初始化標準的或者自定義的SCSI指令;
步一驟404:調用UsbBuildlnterruptOrBulkTransferRequest函凄史,創(chuàng) 建URB (USB請求包)數(shù)據(jù)包;
步驟405:創(chuàng)建IRP (1/0請求包),調用IoCallDriver函數(shù),將 創(chuàng)建的URB包下發(fā)給下層驅動,然后再發(fā)送給Device。
這樣就完成了和Device的通訊,Device收到指令后復位,并重 新枚舉,切換到用戶可用端口。
以上僅是本發(fā)明的優(yōu)選實施例,對于本領域的技術人員來說,本 發(fā)明可以有各種更改或變化,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1、一種實現(xiàn)終端設備自啟動的方法,其特征在于,計算機檢測到有終端設備接入并上報成USB Mass Storage設備后,判斷所述終端設備的過濾驅動是否已安裝并加載,若是,則直接通知所述終端設備切換到用戶可用端口;否則,通知所述終端設備上報成只讀光盤設備CD-ROM,依次安裝并加載所述終端設備的過濾驅動和/或應用程序以及設備驅動,然后通知所述終端設備切換到用戶可用端口;所述終端設備接收到端口切換通知后,進行復位并重新枚舉,然后切換到用戶可用端口。
2、 如權利要求1所述的實現(xiàn)終端設備自啟動的方法,其特征在 于,所述計算機在判斷所述終端設備的過濾驅動是否已安裝并加載 前,首先根據(jù)讀取到的所述終端設備的廠商身份識別碼ID和產(chǎn)品ID 為所述終端"i殳備匹配過濾驅動。
3、 如權利要求1所述的實現(xiàn)終端設備自啟動的方法,其特征在 于,所述計算機安裝并加載所述終端設備的過濾驅動和/或應用程序 以及設備驅動,具體執(zhí)行如下操作步驟A:判斷所述終端設備上報的CD-ROM是否能夠自動播放, 若是,則執(zhí)行步驟B;否則,等待用戶手動運行后,執(zhí)行步驟B;步驟B:檢測所述終端設備的應用程序和設備驅動是否已安裝, 若是,則安裝并加載所述終端設備的過濾驅動;否則,執(zhí)行步驟C;步驟C:依次安裝并加載所述終端設備的應用程序、設備驅動和 過濾驅動。
4、 如權利要求1所述的實現(xiàn)終端設備自啟動的方法,其特征在 于,其特征在于,所述計算機通過下發(fā)小型計算機系統(tǒng)接口 SCSI指 令或者調用Windows提供的彈出指令通知所述終端設備進行端口切 換。
5、 一種實現(xiàn)終端設備自啟動的系統(tǒng),包括計算機、終端設備, 其特征在于,所述計算機用于在檢測到有終端設備接入并上報成USB Mass Storage設備后時,讀耳又所述終端設備的廠商ID和產(chǎn)品ID,并根據(jù)讀 取到信息為所述終端設備匹配過濾驅動,判斷所述過濾驅動是否已安 裝并加載;在已安裝并加載時,直接通知所述終端設備切換到用戶可 用端口;在未安裝時,通知所述終端設備上報成CD-ROM,依次安及通知所終端設備切換到用戶可用端口 ;所述終端設備用于在接收到所述計算機上報成CD-ROM的通知 時,將自己上報成CD-ROM;在接收到端口切換通知時,執(zhí)行復位 和重新枚舉操作,然后切換到用戶可用端口 。
6、 如權利要求5所述的實現(xiàn)終端設備自啟動的系統(tǒng),其特征在 于,所述計算機還用于判斷所述終端設備上報的CD-ROM是否能夠 自動播放;用于在所述CD-ROM能夠自動播放或者監(jiān)測到用戶手動運行時,檢測所述終端設備的應用程序和設備驅動是否已安裝,若是, 則安裝并加載所述終端設備的過濾驅動;否則,安裝并加載所述終端 設備的應用程序、設備驅動和過濾驅動。
7、 如權利要求5所述的實現(xiàn)終端設備自啟動的系統(tǒng),其特征在 于,所述終端設備包括無線網(wǎng)卡、移動終端。
全文摘要
本發(fā)明涉及一種實現(xiàn)終端設備自啟動的方法及系統(tǒng),所述方法為計算機檢測到有終端設備接入并上報成USB Mass Storage設備后,判斷所述終端設備的過濾驅動是否已安裝并加載,若是,則直接通知所述終端設備切換到用戶可用端口;否則,通知所述終端設備上報成CD-ROM,依次安裝并加載所述終端設備的過濾驅動和/或應用程序以及設備驅動,然后通知所述終端設備切換到用戶可用端口;所述終端設備接收到端口切換通知后,進行復位并重新枚舉,然后切換到用戶可用端口;所述系統(tǒng)包括計算機和終端設備。本發(fā)明減少了用戶的等待時間,提高了設備的易用性。
文檔編號G06F9/445GK101609408SQ20091010835
公開日2009年12月23日 申請日期2009年6月19日 優(yōu)先權日2009年6月19日
發(fā)明者釗 左 申請人:中興通訊股份有限公司