專利名稱:機(jī)頂盒上的usb設(shè)備插拔的檢測方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對USB設(shè)備的識別及檢測技術(shù),特別涉及一種機(jī)頂盒上的USB設(shè)備插拔的檢測方法及系統(tǒng)。
背景技術(shù):
設(shè)備外接是機(jī)頂盒的一項(xiàng)重要功能,機(jī)頂盒能外接USB設(shè)備已經(jīng)成為了一項(xiàng)基本功能需求。更多的USB設(shè)備,比如USB鍵盤、USB鼠標(biāo)、USB盤、USB移動硬盤等,也都希望能通過USB接口與機(jī)頂盒連接以擴(kuò)展其功能。在Linux系統(tǒng)中,在完成對USB設(shè)備的插入檢測和驅(qū)動安裝后,將會對不同種類的 USB設(shè)備創(chuàng)建不同的設(shè)備文件。目前,對不同USB設(shè)備的插入或拔出的檢測,一般都采用對 USB設(shè)備文件進(jìn)行狀態(tài)查詢判斷的方法來判斷某USB設(shè)備是否插入或者拔出。比如,對USB盤或者USB移動硬盤的插入檢測方式為當(dāng)USB盤插入時(shí),Linux系統(tǒng)的內(nèi)核模塊會檢測到該插入動作,并會在目錄/proc/scs下創(chuàng)建usb-storage目錄。當(dāng) USB盤全部拔出時(shí),內(nèi)核模塊又會把目錄/proc/scsi中目錄usb-storage刪除。依據(jù)不斷輪詢監(jiān)控判斷usb-storage目錄的存在與否的狀態(tài)變化,可以判斷出USB盤的插入或者拔出動作。比如,對于USB鼠標(biāo)(或者USB鍵盤)的插入檢測方式為當(dāng)USB鼠標(biāo)(或者USB鍵盤)插入時(shí),系統(tǒng)會在/proc/bus/input/devices文件中記錄插入的設(shè)備名等信息,從而可以知道插入的是USB鼠標(biāo)(或者USB鍵盤)。當(dāng)USB鼠標(biāo)(或者USB鍵盤)拔出時(shí),根據(jù)/ proc/bus/input/devices文件內(nèi)容發(fā)生的變化,以及所拔出設(shè)備的相關(guān)信息將從/proc/ bus/input/devices 文件中刪除。但是,上述通過輪詢的方法來監(jiān)控某特定設(shè)備文件的狀態(tài)變化和內(nèi)容變化的方式,來判斷USB設(shè)備的插入和拔出,這種輪詢的方法效率低,時(shí)效性也差。并且,對于其它類型的USB設(shè)備,如USB接口的WIFI、USB接口的攝像頭等,由于不同品牌的設(shè)備常常需要安裝不同的驅(qū)動才能完成設(shè)備的識別,在沒有完成對USB設(shè)備的識別前,Linux系統(tǒng)無法為其創(chuàng)建設(shè)備文件,并將其當(dāng)作正常設(shè)備來使用??梢?,當(dāng)某些USB設(shè)備無法正確創(chuàng)建設(shè)備文件時(shí),上述檢測方法無法對這些特殊的USB設(shè)備目錄(文件)進(jìn)行狀態(tài)查詢和判斷。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種機(jī)頂盒上的USB設(shè)備插拔的檢測方法及系統(tǒng),以解決現(xiàn)有技術(shù)無法對特殊的USB設(shè)備的動作事件進(jìn)行檢測的問題。為了達(dá)到上述目的,本發(fā)明采取了以下技術(shù)方案 一種機(jī)頂盒上的USB設(shè)備插拔的檢測方法,其包括 A、創(chuàng)建套接字;B、由所述套接字偵聽內(nèi)核模塊發(fā)出的內(nèi)核消息;
C、由消息判斷模塊判斷所述USB設(shè)備的類型;
D、判斷USB設(shè)備的動作事件類型,并根據(jù)動作事件的類型判斷該USB設(shè)備是插入還是拔出,如果是拔出,則執(zhí)行步驟E ;如果是插入,執(zhí)行步驟F ;
E、釋放資源,并通知界面顯示該USB設(shè)備撥出;
F、由驅(qū)動管理模塊判斷是否有該USB設(shè)備的安裝驅(qū)動;如果是,則執(zhí)行步驟G;否則,執(zhí)行步驟H ;
G、通過驅(qū)動管理模塊安裝該USB設(shè)備的驅(qū)動,在驅(qū)動安裝完成后,通知界面顯示該USB 設(shè)備已插入;
H、通知界面顯示不支持該USB設(shè)備。上述的機(jī)頂盒上的USB設(shè)備插拔的檢測方法中,所述套接字為Netlink類型的套接字。上述的機(jī)頂盒上的USB設(shè)備插拔的檢測方法中,所述USB設(shè)備為USB移動硬盤、 USB鍵盤、USB鼠標(biāo)、USB接口的WIFP設(shè)備中的一種或多種。一種機(jī)頂盒上的USB設(shè)備插拔的檢測系統(tǒng),其包括 創(chuàng)建模塊,用于創(chuàng)建套接字;
消息判斷模塊,判斷所述USB設(shè)備類型和USB設(shè)備的動作事件的類型; 驅(qū)動管理模塊,用于判斷是否有該USB設(shè)備的安裝驅(qū)動,并在驅(qū)動安裝完成后,通知界面顯示該USB設(shè)備已插入;
用戶界面,用于將消息判斷模塊和驅(qū)動管理模塊的處理結(jié)果進(jìn)行顯示。上述的機(jī)頂盒上的USB設(shè)備插拔的檢測系統(tǒng)中,所述套接字為Netlink類型的套接字。上述的機(jī)頂盒上的USB設(shè)備插拔的檢測系統(tǒng)中,所述USB設(shè)備為USB移動硬盤、 USB鍵盤、USB鼠標(biāo)、USB接口的WIFP設(shè)備中的一種或多種。相較于現(xiàn)有技術(shù),本發(fā)明提供的機(jī)頂盒上的USB設(shè)備插拔的檢測方法及系統(tǒng),通過創(chuàng)建套接字,由套接字來偵聽內(nèi)核消息;由消息判斷模塊判斷所述USB設(shè)備和USB設(shè)備的動作事件類型;根據(jù)動作事件的類型,通知界面根據(jù)USB設(shè)備的動作事件類型進(jìn)行相應(yīng)的顯示,其與現(xiàn)有輪詢設(shè)備文件的方法相比具有更好的準(zhǔn)確性和實(shí)時(shí)性,而且還可以對同類 USB設(shè)備的不同廠家的設(shè)備加載不同的驅(qū)動,大大提高了 USB外接擴(kuò)展的適應(yīng)能力。
圖1為本發(fā)明實(shí)施例提供的機(jī)頂盒上的USB設(shè)備插拔的檢測方法流程圖。
具體實(shí)施例方式本發(fā)明提供一種機(jī)頂盒上的USB設(shè)備插拔的檢測方法及系統(tǒng),能在USB設(shè)備插入和拔出時(shí),正確識別USB設(shè)備的類型,特別是對于多USB接口的機(jī)頂盒而言,實(shí)現(xiàn)了正確的對多種設(shè)備的插拔識別。為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實(shí)施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。Linux系統(tǒng)對USB設(shè)備插拔的一般處理流程是當(dāng)USB設(shè)備插入或拔出時(shí),Linux 內(nèi)核會檢測到該種硬件連接狀態(tài)發(fā)生變化,使相應(yīng)硬件設(shè)備的管理模塊將發(fā)出內(nèi)核事件消息,并查找和安裝該類設(shè)備驅(qū)動,安裝成功后則創(chuàng)建對應(yīng)的設(shè)備節(jié)點(diǎn)和設(shè)備文件,此時(shí)USB 設(shè)備便可以使用了。本發(fā)明提供的機(jī)頂盒上的USB設(shè)備插拔的檢測方法主要應(yīng)用于采用嵌入式Linux 系統(tǒng)為操作系統(tǒng)的機(jī)頂盒上,請參閱圖1,其包括
511、創(chuàng)建套接字,并進(jìn)行綁定;其中所述套接字為Netlink類型的套接字;
512、由所述套接字偵聽內(nèi)核模塊發(fā)出的內(nèi)核消息;
513、由消息判斷模塊判斷所述USB設(shè)備的類型;在此過程中,消息判斷模塊可以判斷出何種USB設(shè)備所做出的動作;
514、判斷USB設(shè)備的動作事件類型,并根據(jù)動作事件的類型判斷該USB設(shè)備是插入還是拔出,如果是拔出,則執(zhí)行步驟S15 ;如果是插入,執(zhí)行步驟S16 ;
515、根據(jù)具體設(shè)備正常工作需要,進(jìn)行相應(yīng)的后續(xù)資源釋放動作,并通知界面顯示該 USB設(shè)備撥出;
516、由驅(qū)動管理模塊判斷是否有該USB設(shè)備的安裝驅(qū)動;如果是,則執(zhí)行步驟S17;否則,執(zhí)行步驟S18;
517、通過驅(qū)動管理模塊安裝該USB設(shè)備的驅(qū)動,在驅(qū)動安裝完成后,通知界面顯示該 USB設(shè)備已插入;在此實(shí)施過程中,如果USB設(shè)備的驅(qū)動安裝不成功,也通過執(zhí)行步驟S18 來表示不支持該USB設(shè)備;
518、通知界面顯示不支持該USB設(shè)備。本發(fā)明實(shí)施例中,所述USB設(shè)備為USB移動硬盤、USB鍵盤、USB鼠標(biāo)、USB接口的 WIFP設(shè)備中的一種或多種?;谏鲜龅姆椒ū景l(fā)明實(shí)施例還對應(yīng)提供一種機(jī)頂盒上的USB設(shè)備插拔的檢測系統(tǒng),其包括創(chuàng)建模塊、消息判斷模塊、驅(qū)動管理模塊和用戶界面。創(chuàng)建模塊,用于創(chuàng)建套接字,所述套接字為Netlink類型的套接字,并進(jìn)行綁定以偵聽內(nèi)核消息。消息判斷模塊,用于判斷所述USB設(shè)備類型和USB設(shè)備的動作事件的類型。 驅(qū)動管理模塊,用于判斷是否有該USB設(shè)備的安裝驅(qū)動,并在驅(qū)動安裝完成后,通知界面顯示該USB設(shè)備已插入。用戶界面,用于將消息判斷模塊和驅(qū)動管理模塊的處理結(jié)果進(jìn)行顯不。所述USB設(shè)備為USB移動硬盤、USB鍵盤、USB鼠標(biāo)、USB接口的WIFP設(shè)備中的一種或多種。綜上所述,本發(fā)明提供的機(jī)頂盒上的USB設(shè)備插拔的檢測方法及系統(tǒng),通過創(chuàng)建套接字,由套接字來偵聽內(nèi)核消息;由消息判斷模塊判斷所述USB設(shè)備類型和USB設(shè)備的動作事件類型;并根據(jù)動作事件的類型,判斷該USB設(shè)備是插入還是拔出;如果是拔出,釋放資源,并通知界面顯示該USB設(shè)備撥出;如果是插入,由驅(qū)動管理模塊判斷是否有該USB設(shè)備的安裝驅(qū)動;如果是,通過驅(qū)動管理模塊安裝該USB設(shè)備的驅(qū)動,在驅(qū)動安裝完成后,通知界面顯示該USB設(shè)備已插入;否則,通知界面顯示不支持該USB設(shè)備。本發(fā)明通過偵聽內(nèi)核消息的方法,可以正確靈活地檢測與識別USB設(shè)備的插拔動作,并進(jìn)行相應(yīng)后續(xù)處理,
5其與現(xiàn)有輪詢設(shè)備文件的方法相比具有更好的準(zhǔn)確性和實(shí)時(shí)性,而且本發(fā)明還可以對同類 USB設(shè)備的不同廠家的設(shè)備加載不同的驅(qū)動,大大提高了 USB外接擴(kuò)展的適應(yīng)能力。
可以理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種機(jī)頂盒上的USB設(shè)備插拔的檢測方法,其特征在于,包括A、創(chuàng)建套接字;B、由所述套接字偵聽內(nèi)核模塊發(fā)出的內(nèi)核消息;C、由消息判斷模塊判斷所述USB設(shè)備的類型;D、由消息判斷模塊判斷USB設(shè)備的動作事件類型,并根據(jù)動作事件的類型判斷該USB 設(shè)備是插入還是拔出;如果是拔出,則執(zhí)行步驟E ;如果是插入,執(zhí)行步驟F ;E、釋放資源,并通知界面顯示該USB設(shè)備撥出;F、由驅(qū)動管理模塊判斷是否有該USB設(shè)備的安裝驅(qū)動;如果是,則執(zhí)行步驟G;否則,執(zhí)行步驟H ;G、通過驅(qū)動管理模塊安裝該USB設(shè)備的驅(qū)動,在驅(qū)動安裝完成后,通知界面顯示該USB 設(shè)備已插入;H、通知界面顯示不支持該USB設(shè)備。
2.根據(jù)權(quán)利要求1所述的機(jī)頂盒上的USB設(shè)備插拔的檢測方法,其特征在于,所述套接字為Netlink類型的套接字。
3.根據(jù)權(quán)利要求1所述的機(jī)頂盒上的USB設(shè)備插拔的檢測方法,其特征在于,所述USB 設(shè)備為USB移動硬盤、USB鍵盤、USB鼠標(biāo)、USB接口的WIFP設(shè)備中的一種或多種。
4.一種機(jī)頂盒上的USB設(shè)備插拔的檢測系統(tǒng),其特征在于,包括創(chuàng)建模塊,用于創(chuàng)建套接字;消息判斷模塊,判斷所述USB設(shè)備類型和USB設(shè)備的動作事件的類型;驅(qū)動管理模塊,用于判斷是否有該USB設(shè)備的安裝驅(qū)動,并在驅(qū)動安裝完成后,通知界面顯示該USB設(shè)備已插入;用戶界面,用于將消息判斷模塊和驅(qū)動管理模塊的處理結(jié)果進(jìn)行顯示。
5.根據(jù)權(quán)利要求4所述的機(jī)頂盒上的USB設(shè)備插拔的檢測系統(tǒng),其特征在于,所述套接字為Netlink類型的套接字。
6.根據(jù)權(quán)利要求4所述的機(jī)頂盒上的USB設(shè)備插拔的檢測系統(tǒng),其特征在于,所述USB 設(shè)備為USB移動硬盤、USB鍵盤、USB鼠標(biāo)、USB接口的WIFP設(shè)備中的一種或多種。
全文摘要
本發(fā)明公開了機(jī)頂盒上的USB設(shè)備插拔的檢測方法及系統(tǒng),其方法包括創(chuàng)建套接字并進(jìn)行綁定以偵聽內(nèi)核消息;由消息判斷模塊判斷USB設(shè)備的類型及動作類型;根據(jù)動作事件的類型判斷該USB設(shè)備是插入還是拔出,如果是拔出,則進(jìn)行相應(yīng)的資源釋放動作,并通知界面顯示該USB設(shè)備撥出;如果是插入,則由驅(qū)動管理模塊判斷是否有該USB設(shè)備的安裝驅(qū)動,如果有通過驅(qū)動管理模塊安裝該USB設(shè)備的驅(qū)動,在驅(qū)動安裝完成后,通知界面顯示該USB設(shè)備已插入;否則通知界面顯示不支持該USB設(shè)備。本發(fā)明通過偵聽內(nèi)核消息的方法,正確靈活地檢測與識別設(shè)備的插拔動作,其與現(xiàn)有輪詢設(shè)備文件的方法相比具有更好的準(zhǔn)確性和實(shí)時(shí)性。
文檔編號H04N17/00GK102404603SQ20111036556
公開日2012年4月4日 申請日期2011年11月17日 優(yōu)先權(quán)日2011年11月17日
發(fā)明者彭文劍 申請人:康佳集團(tuán)股份有限公司