專利名稱:一種無(wú)線通信終端及其驅(qū)動(dòng)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體地,涉及一種無(wú)線通信終端及其驅(qū)動(dòng)方法。
背景技術(shù):
數(shù)據(jù)卡是一種常見(jiàn)的無(wú)線終端產(chǎn)品,可提供用戶高速的網(wǎng)絡(luò)數(shù)據(jù)業(yè)務(wù)和突出的移動(dòng)性。數(shù)據(jù)卡可以通過(guò)USB或PCMCIA等接口與計(jì)算機(jī)連接。最簡(jiǎn)單的數(shù)據(jù)卡可以只是一個(gè)調(diào)制解調(diào)器設(shè)備或一個(gè)網(wǎng)絡(luò)設(shè)備(可統(tǒng)稱為網(wǎng)絡(luò)設(shè)備),復(fù)雜一些的可以包含串口、電視貓、存儲(chǔ)卡或光盤(pán)等。當(dāng)今使用Windows操作系統(tǒng)的用戶最多,在Windows上使用數(shù)據(jù)卡需要驅(qū)動(dòng)軟件的支持,Windows自身已提供多種通用的設(shè)備驅(qū)動(dòng)。以USB數(shù)據(jù)卡為例,僅包含調(diào)制解調(diào)器設(shè)備或網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)卡,Windows為其提供USBHub驅(qū)動(dòng),數(shù)據(jù)卡廠商需要提供位于USB Hub之上的調(diào)制解調(diào)器設(shè)備或網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)。除了調(diào)制解調(diào)器設(shè)備或網(wǎng)絡(luò)設(shè)備,有些數(shù)據(jù)卡會(huì)包含一些其他類型的設(shè)備,例如包含可讀寫(xiě)的存儲(chǔ)卡,可供用戶當(dāng)U盤(pán)使用,包含光盤(pán), 可存放一些必要的軟件,包含多個(gè)設(shè)備的USB數(shù)據(jù)卡叫做USB復(fù)合設(shè)備,此類設(shè)備不僅需要 USB Hub驅(qū)動(dòng)和數(shù)據(jù)卡廠商提供的調(diào)制解調(diào)器設(shè)備或網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),還需要USB復(fù)合設(shè)備驅(qū)動(dòng)支持。USB Hub設(shè)備是USB復(fù)合設(shè)備的父設(shè)備,USB復(fù)合設(shè)備是網(wǎng)絡(luò)設(shè)備和其他設(shè)備的父設(shè)備。用樹(shù)形結(jié)構(gòu)表示,USBHub設(shè)備之上是USB復(fù)合設(shè)備,USB復(fù)合設(shè)備之上是網(wǎng)絡(luò)設(shè)備和其他設(shè)備。以上是常見(jiàn)的數(shù)據(jù)卡驅(qū)動(dòng)結(jié)構(gòu),驅(qū)動(dòng)運(yùn)行在內(nèi)核態(tài),是數(shù)據(jù)卡不可缺少的部分,它向上給應(yīng)用程序提供控制接口,向下完成對(duì)數(shù)據(jù)卡的各種實(shí)際操作。所以驅(qū)動(dòng)的可靠性和穩(wěn)定性就顯得尤為重要。
發(fā)明內(nèi)容
本發(fā)明目的是為克服現(xiàn)有數(shù)據(jù)卡網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)在某些情況下拔插后無(wú)法使用的問(wèn)題,而提出一種無(wú)線通信終端及其驅(qū)動(dòng)方法。為實(shí)現(xiàn)上述目的,本發(fā)明提出一種無(wú)線通信終端驅(qū)動(dòng)方法,所述方法包括所述無(wú)線通信終端包括網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、USB復(fù)合設(shè)備驅(qū)動(dòng)和虛擬總線驅(qū)動(dòng);USB復(fù)合設(shè)備創(chuàng)建和管理虛擬總線設(shè)備;在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)之間增加虛擬總線設(shè)備驅(qū)動(dòng),虛擬總線驅(qū)動(dòng)創(chuàng)建和管理其上的網(wǎng)絡(luò)設(shè)備,并在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)間透?jìng)鱑SB 請(qǐng)求和響應(yīng)。進(jìn)一步地,操作系統(tǒng)判斷網(wǎng)絡(luò)設(shè)備是否是復(fù)合設(shè)備,如果不是,則直接加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng);如果是復(fù)合設(shè)備則操作系統(tǒng)為復(fù)合設(shè)備加載USB復(fù)合設(shè)備驅(qū)動(dòng)。進(jìn)一步地,操作系統(tǒng)判斷網(wǎng)絡(luò)設(shè)備是否是存儲(chǔ)設(shè)備共存網(wǎng)絡(luò)設(shè)備,如果不是,則直接加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng);如果是,則USB復(fù)合設(shè)備驅(qū)動(dòng)創(chuàng)建虛擬總線設(shè)備,操作系統(tǒng)為虛擬總線設(shè)備加載虛擬總線驅(qū)動(dòng)。進(jìn)一步地,所述虛擬總線驅(qū)動(dòng)查看是否已經(jīng)存在由其創(chuàng)建的網(wǎng)絡(luò)設(shè)備,如果不存在則創(chuàng)建網(wǎng)絡(luò)設(shè)備,如果存在則虛擬總線驅(qū)動(dòng)創(chuàng)建并報(bào)告一個(gè)不同的網(wǎng)絡(luò)設(shè)備。本發(fā)明還提出一種無(wú)線通信終端,所述無(wú)線通信終端包括網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、USB復(fù)合設(shè)備驅(qū)動(dòng)和虛擬總線驅(qū)動(dòng);所述USB復(fù)合設(shè)備驅(qū)動(dòng)創(chuàng)建和管理虛擬總線設(shè)備;所述虛擬總線驅(qū)動(dòng)創(chuàng)建和管理其上的網(wǎng)絡(luò)設(shè)備,并在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)間透?jìng)鱑SB請(qǐng)求和響應(yīng)。進(jìn)一步地,所述虛擬總線驅(qū)動(dòng)包括初始化模塊,所述初始化模塊設(shè)置全局變量和派遣例程,完成驅(qū)動(dòng)初始化任務(wù)。進(jìn)一步地,所述虛擬總線驅(qū)動(dòng)包括即插即用模塊,所述即插即用模塊負(fù)責(zé)網(wǎng)絡(luò)設(shè)備的創(chuàng)建、查詢和移除。進(jìn)一步地,所述虛擬總線驅(qū)動(dòng)包括電源模塊,所述電源模塊負(fù)責(zé)處理虛擬總線設(shè)備和網(wǎng)絡(luò)設(shè)備的驅(qū)動(dòng)消息。綜上所述,采用本發(fā)明具有如下有益效果1)虛擬總線驅(qū)動(dòng)可以識(shí)別自身和網(wǎng)絡(luò)設(shè)備的多種異常情況,并能有效處理。例如, 用戶在使用存儲(chǔ)設(shè)備共存的數(shù)據(jù)卡時(shí),如果打開(kāi)存儲(chǔ)卡上的文件后拔出數(shù)據(jù)卡,由于操作系統(tǒng)自身的原因,再次插入數(shù)據(jù)卡,網(wǎng)卡設(shè)備無(wú)法完成初始化操作,導(dǎo)致數(shù)據(jù)卡不可使用。2)本發(fā)明在現(xiàn)行的數(shù)據(jù)卡驅(qū)動(dòng)下層增加一個(gè)虛擬總線驅(qū)動(dòng),隔離了數(shù)據(jù)卡的網(wǎng)絡(luò)設(shè)備和操作系統(tǒng)的USB復(fù)合設(shè)備,網(wǎng)絡(luò)設(shè)備的創(chuàng)建和管理完全由虛擬總線驅(qū)動(dòng)完成,操作系統(tǒng)的USB復(fù)合設(shè)備驅(qū)動(dòng)不再參與,操作更加靈活。
圖1是典型的現(xiàn)有技術(shù)的設(shè)備結(jié)構(gòu)圖;圖2是本發(fā)明實(shí)施例的設(shè)備結(jié)構(gòu)圖;
圖3是本發(fā)明實(shí)施例的流程示意圖。
具體實(shí)施例方式本發(fā)明針對(duì)復(fù)合設(shè)備,克服現(xiàn)有數(shù)據(jù)卡網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)在某些情況下拔插后無(wú)法使用的問(wèn)題。例如,對(duì)于存儲(chǔ)設(shè)備共存的數(shù)據(jù)卡,如果用戶打開(kāi)存儲(chǔ)設(shè)備中的文件后拔出數(shù)據(jù)卡,再次插入時(shí),數(shù)據(jù)卡的網(wǎng)絡(luò)設(shè)備無(wú)法使用,查看設(shè)備管理器會(huì)出現(xiàn)黃色感嘆號(hào),這是由于打開(kāi)的文件沒(méi)有關(guān)閉,拔卡操作系統(tǒng)不會(huì)給光盤(pán)和其他設(shè)備發(fā)送移除通知,驅(qū)動(dòng)無(wú)法刪除設(shè)備,再次插卡時(shí)USB復(fù)合設(shè)備驅(qū)動(dòng)會(huì)枚舉同一個(gè)設(shè)備,網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)無(wú)法完成初始化, 導(dǎo)致設(shè)備無(wú)法使用。本發(fā)明技術(shù)方案包括數(shù)據(jù)卡網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、USB復(fù)合設(shè)備驅(qū)動(dòng)和一個(gè)虛擬總線驅(qū)動(dòng)。USB復(fù)合設(shè)備是虛擬總線設(shè)備的父設(shè)備,負(fù)責(zé)創(chuàng)建和管理虛擬總線設(shè)備,虛擬總線設(shè)備是數(shù)據(jù)卡網(wǎng)絡(luò)設(shè)備的父設(shè)備,負(fù)責(zé)創(chuàng)建和管理網(wǎng)絡(luò)設(shè)備。即在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)之間增加一層虛擬總線驅(qū)動(dòng),虛擬總線驅(qū)動(dòng)負(fù)責(zé)創(chuàng)建和管理其上的網(wǎng)絡(luò)設(shè)備,并在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)間透?jìng)鱑SB請(qǐng)求和響應(yīng)。虛擬總線驅(qū)動(dòng)主要包含三部分初始化模塊、即插即用模塊和電源模塊。初始化模塊設(shè)置全局變量和派遣例程,完成驅(qū)動(dòng)初始化任務(wù)。即插即用模塊負(fù)責(zé)網(wǎng)絡(luò)設(shè)備的創(chuàng)建、查詢和移除等功能。電源模塊負(fù)責(zé)處理虛擬總線設(shè)備和網(wǎng)絡(luò)設(shè)備的驅(qū)動(dòng)消息。下面結(jié)合附圖對(duì)技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述。圖1是典型的現(xiàn)有技術(shù)的設(shè)備結(jié)構(gòu)圖,包括存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備、其他設(shè)備和USB 復(fù)合設(shè)備。最下部是USB復(fù)合設(shè)備,可以把它看作是數(shù)據(jù)卡的根設(shè)備,用戶插卡時(shí),操作系統(tǒng)為數(shù)據(jù)卡加載USB復(fù)合設(shè)備驅(qū)動(dòng),USB復(fù)合設(shè)備枚舉數(shù)據(jù)卡的存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備和/或其他設(shè)備。圖2是本發(fā)明實(shí)施例的設(shè)備結(jié)構(gòu)圖,包括存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備、其他設(shè)備、虛擬總線設(shè)備和USB復(fù)合設(shè)備。最下面是USB復(fù)合設(shè)備,用戶插卡時(shí),操作系統(tǒng)為數(shù)據(jù)卡加載USB 復(fù)合設(shè)備驅(qū)動(dòng),USB復(fù)合設(shè)備驅(qū)動(dòng)創(chuàng)建存儲(chǔ)設(shè)備、虛擬總線設(shè)備和其他設(shè)備。等虛擬總線設(shè)備初始化成功后,虛擬總線驅(qū)動(dòng)再創(chuàng)建網(wǎng)絡(luò)設(shè)備,此時(shí)操作系統(tǒng)加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)。圖3是本發(fā)明實(shí)施例的流程示意圖,顯示從用戶插卡開(kāi)始,到所有驅(qū)動(dòng)建立的整個(gè)過(guò)程。S301 用戶插入數(shù)據(jù)卡;S302 操作系統(tǒng)判斷是否是復(fù)合設(shè)備數(shù)據(jù)卡,如果不是,轉(zhuǎn)入步驟S308直接加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),流程結(jié)束;如果是,復(fù)合設(shè)備數(shù)據(jù)卡則轉(zhuǎn)入步驟S303 ;S303 操作系統(tǒng)為數(shù)據(jù)卡加載USB復(fù)合設(shè)備驅(qū)動(dòng);S304:判斷是否是存儲(chǔ)設(shè)備共存數(shù)據(jù)卡,如果不是,轉(zhuǎn)入步驟S308直接加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),流程結(jié)束;如果是,存儲(chǔ)設(shè)備共存數(shù)據(jù)卡則轉(zhuǎn)入步驟S305 ;S305 =USB復(fù)合設(shè)備驅(qū)動(dòng)創(chuàng)建虛擬總線設(shè)備,操作系統(tǒng)為虛擬總線設(shè)備加載虛擬總線驅(qū)動(dòng);S306 虛擬總線驅(qū)動(dòng)查看是否已經(jīng)存在由其創(chuàng)建的網(wǎng)絡(luò)設(shè)備,如果不存在則轉(zhuǎn)入步驟S307,如果存在則轉(zhuǎn)入步驟S309 ;S307 創(chuàng)建網(wǎng)絡(luò)設(shè)備;S308 操作系統(tǒng)加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),并轉(zhuǎn)入步驟S310 ;S309 虛擬總線驅(qū)動(dòng)會(huì)創(chuàng)建并報(bào)告一個(gè)不同的網(wǎng)絡(luò)設(shè)備并轉(zhuǎn)入步驟S310 ;如果存在,說(shuō)明前一個(gè)網(wǎng)絡(luò)設(shè)備沒(méi)有被移除(可能是由于用戶沒(méi)有關(guān)閉存儲(chǔ)設(shè)備上的文件就拔插卡或其它原因)。S310 流程結(jié)束。與現(xiàn)有技術(shù)相比較,本發(fā)明具有如下優(yōu)點(diǎn)和效果虛擬總線驅(qū)動(dòng)可以識(shí)別自身和網(wǎng)絡(luò)設(shè)備的多種異常情況,并能有效處理。例如,用戶在使用存儲(chǔ)設(shè)備共存的數(shù)據(jù)卡時(shí),如果打開(kāi)存儲(chǔ)卡上的文件后拔出數(shù)據(jù)卡,由于操作系統(tǒng)自身的原因,再次插入數(shù)據(jù)卡,網(wǎng)絡(luò)設(shè)備無(wú)法完成初始化操作,導(dǎo)致數(shù)據(jù)卡不可使用。本發(fā)明在現(xiàn)行的數(shù)據(jù)卡驅(qū)動(dòng)下層增加一個(gè)虛擬總線驅(qū)動(dòng),隔離了數(shù)據(jù)卡的網(wǎng)絡(luò)設(shè)備和操作系統(tǒng)的USB復(fù)合設(shè)備,網(wǎng)絡(luò)設(shè)備的創(chuàng)建和管理完全由虛擬總線驅(qū)動(dòng)完成,操作系統(tǒng)的USB復(fù)合設(shè)備驅(qū)動(dòng)不再參與,操作更加靈活。當(dāng)然,本發(fā)明還可有多種實(shí)施方式,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況,熟悉本領(lǐng)域的技術(shù)人員當(dāng)然可根據(jù)本發(fā)明做出各種相應(yīng)的更改或變化,但凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn),均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種無(wú)線通信終端驅(qū)動(dòng)方法,其特征在于,所述方法包括所述無(wú)線通信終端包括網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、USB復(fù)合設(shè)備驅(qū)動(dòng)和虛擬總線驅(qū)動(dòng);USB復(fù)合設(shè)備創(chuàng)建和管理虛擬總線設(shè)備;在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)之間增加虛擬總線設(shè)備驅(qū)動(dòng),虛擬總線驅(qū)動(dòng)創(chuàng)建和管理其上的網(wǎng)絡(luò)設(shè)備,并在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)間透?jìng)鱑SB請(qǐng)求和響應(yīng)。
2.如權(quán)利要求1所述的方法,其特征在于,操作系統(tǒng)判斷網(wǎng)絡(luò)設(shè)備是否是復(fù)合設(shè)備,如果不是,則直接加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng);如果是復(fù)合設(shè)備則操作系統(tǒng)為復(fù)合設(shè)備加載USB復(fù)合設(shè)備驅(qū)動(dòng)。
3.如權(quán)利要求2所述的方法,其特征在于,操作系統(tǒng)判斷網(wǎng)絡(luò)設(shè)備是否是存儲(chǔ)設(shè)備共存網(wǎng)絡(luò)設(shè)備,如果不是,則直接加載網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng);如果是,則USB復(fù)合設(shè)備驅(qū)動(dòng)創(chuàng)建虛擬總線設(shè)備,操作系統(tǒng)為虛擬總線設(shè)備加載虛擬總線驅(qū)動(dòng)。
4.如權(quán)利要求3所述的方法,其特征在于,所述虛擬總線驅(qū)動(dòng)查看是否已經(jīng)存在由其創(chuàng)建的網(wǎng)絡(luò)設(shè)備,如果不存在則創(chuàng)建網(wǎng)絡(luò)設(shè)備,如果存在則虛擬總線驅(qū)動(dòng)創(chuàng)建并報(bào)告一個(gè)不同的網(wǎng)絡(luò)設(shè)備。
5.一種無(wú)線通信終端,其特征在于,所述無(wú)線通信終端包括網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、USB復(fù)合設(shè)備驅(qū)動(dòng)和虛擬總線驅(qū)動(dòng);所述USB復(fù)合設(shè)備驅(qū)動(dòng)創(chuàng)建和管理虛擬總線設(shè)備;所述虛擬總線驅(qū)動(dòng)創(chuàng)建和管理其上的網(wǎng)絡(luò)設(shè)備,并在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)間透?jìng)鱑SB請(qǐng)求和響應(yīng)。
6.如權(quán)利要求5所述的無(wú)線通信終端,其特征在于,所述虛擬總線驅(qū)動(dòng)包括初始化模塊,所述初始化模塊設(shè)置全局變量和派遣例程,完成驅(qū)動(dòng)初始化任務(wù)。
7.如權(quán)利要求5所述的無(wú)線通信終端,其特征在于,所述虛擬總線驅(qū)動(dòng)包括即插即用模塊,所述即插即用模塊負(fù)責(zé)網(wǎng)絡(luò)設(shè)備的創(chuàng)建、查詢和移除。
8.如權(quán)利要求5所述的無(wú)線通信終端,其特征在于,所述虛擬總線驅(qū)動(dòng)包括電源模塊, 所述電源模塊負(fù)責(zé)處理虛擬總線設(shè)備和網(wǎng)絡(luò)設(shè)備的驅(qū)動(dòng)消息。
全文摘要
本發(fā)明提出一種無(wú)線通信終端及其驅(qū)動(dòng)方法。所述無(wú)線通信終端包括網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)、USB復(fù)合設(shè)備驅(qū)動(dòng)和虛擬總線驅(qū)動(dòng);USB復(fù)合設(shè)備創(chuàng)建和管理虛擬總線設(shè)備;在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)之間增加虛擬總線設(shè)備驅(qū)動(dòng),虛擬總線驅(qū)動(dòng)創(chuàng)建和管理其上的網(wǎng)絡(luò)設(shè)備,并在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)和USB復(fù)合設(shè)備驅(qū)動(dòng)間透?jìng)鱑SB請(qǐng)求和響應(yīng)。本發(fā)明在現(xiàn)行的數(shù)據(jù)卡驅(qū)動(dòng)下層增加一個(gè)虛擬總線驅(qū)動(dòng),隔離了數(shù)據(jù)卡的網(wǎng)絡(luò)設(shè)備和操作系統(tǒng)的USB復(fù)合設(shè)備,網(wǎng)絡(luò)設(shè)備的創(chuàng)建和管理完全由虛擬總線驅(qū)動(dòng)完成,操作系統(tǒng)的USB復(fù)合設(shè)備驅(qū)動(dòng)不再參與,操作更加靈活;另外,虛擬總線驅(qū)動(dòng)可以識(shí)別自身和網(wǎng)絡(luò)設(shè)備的多種異常情況,并能有效處理。
文檔編號(hào)H04W88/02GK102339265SQ20111031426
公開(kāi)日2012年2月1日 申請(qǐng)日期2011年10月17日 優(yōu)先權(quán)日2011年10月17日
發(fā)明者梁磊 申請(qǐng)人:中興通訊股份有限公司