机顶盒上的usb设备插拔的检测方法及系统的制作方法

文档序号:7976683阅读:302来源:国知局
专利名称:机顶盒上的usb设备插拔的检测方法及系统的制作方法
技术领域
本发明涉及对USB设备的识别及检测技术,特别涉及一种机顶盒上的USB设备插拔的检测方法及系统。
背景技术
设备外接是机顶盒的一项重要功能,机顶盒能外接USB设备已经成为了一项基本功能需求。更多的USB设备,比如USB键盘、USB鼠标、USB盘、USB移动硬盘等,也都希望能通过USB接口与机顶盒连接以扩展其功能。在Linux系统中,在完成对USB设备的插入检测和驱动安装后,将会对不同种类的 USB设备创建不同的设备文件。目前,对不同USB设备的插入或拔出的检测,一般都采用对 USB设备文件进行状态查询判断的方法来判断某USB设备是否插入或者拔出。比如,对USB盘或者USB移动硬盘的插入检测方式为当USB盘插入时,Linux系统的内核模块会检测到该插入动作,并会在目录/proc/scs下创建usb-storage目录。当 USB盘全部拔出时,内核模块又会把目录/proc/scsi中目录usb-storage删除。依据不断轮询监控判断usb-storage目录的存在与否的状态变化,可以判断出USB盘的插入或者拔出动作。比如,对于USB鼠标(或者USB键盘)的插入检测方式为当USB鼠标(或者USB键盘)插入时,系统会在/proc/bus/input/devices文件中记录插入的设备名等信息,从而可以知道插入的是USB鼠标(或者USB键盘)。当USB鼠标(或者USB键盘)拔出时,根据/ proc/bus/input/devices文件内容发生的变化,以及所拔出设备的相关信息将从/proc/ bus/input/devices 文件中删除。但是,上述通过轮询的方法来监控某特定设备文件的状态变化和内容变化的方式,来判断USB设备的插入和拔出,这种轮询的方法效率低,时效性也差。并且,对于其它类型的USB设备,如USB接口的WIFI、USB接口的摄像头等,由于不同品牌的设备常常需要安装不同的驱动才能完成设备的识别,在没有完成对USB设备的识别前,Linux系统无法为其创建设备文件,并将其当作正常设备来使用。可见,当某些USB设备无法正确创建设备文件时,上述检测方法无法对这些特殊的USB设备目录(文件)进行状态查询和判断。

发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种机顶盒上的USB设备插拔的检测方法及系统,以解决现有技术无法对特殊的USB设备的动作事件进行检测的问题。为了达到上述目的,本发明采取了以下技术方案 一种机顶盒上的USB设备插拔的检测方法,其包括 A、创建套接字;B、由所述套接字侦听内核模块发出的内核消息;
C、由消息判断模块判断所述USB设备的类型;
D、判断USB设备的动作事件类型,并根据动作事件的类型判断该USB设备是插入还是拔出,如果是拔出,则执行步骤E ;如果是插入,执行步骤F ;
E、释放资源,并通知界面显示该USB设备拨出;
F、由驱动管理模块判断是否有该USB设备的安装驱动;如果是,则执行步骤G;否则,执行步骤H ;
G、通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该USB 设备已插入;
H、通知界面显示不支持该USB设备。上述的机顶盒上的USB设备插拔的检测方法中,所述套接字为Netlink类型的套接字。上述的机顶盒上的USB设备插拔的检测方法中,所述USB设备为USB移动硬盘、 USB键盘、USB鼠标、USB接口的WIFP设备中的一种或多种。一种机顶盒上的USB设备插拔的检测系统,其包括 创建模块,用于创建套接字;
消息判断模块,判断所述USB设备类型和USB设备的动作事件的类型; 驱动管理模块,用于判断是否有该USB设备的安装驱动,并在驱动安装完成后,通知界面显示该USB设备已插入;
用户界面,用于将消息判断模块和驱动管理模块的处理结果进行显示。上述的机顶盒上的USB设备插拔的检测系统中,所述套接字为Netlink类型的套接字。上述的机顶盒上的USB设备插拔的检测系统中,所述USB设备为USB移动硬盘、 USB键盘、USB鼠标、USB接口的WIFP设备中的一种或多种。相较于现有技术,本发明提供的机顶盒上的USB设备插拔的检测方法及系统,通过创建套接字,由套接字来侦听内核消息;由消息判断模块判断所述USB设备和USB设备的动作事件类型;根据动作事件的类型,通知界面根据USB设备的动作事件类型进行相应的显示,其与现有轮询设备文件的方法相比具有更好的准确性和实时性,而且还可以对同类 USB设备的不同厂家的设备加载不同的驱动,大大提高了 USB外接扩展的适应能力。


图1为本发明实施例提供的机顶盒上的USB设备插拔的检测方法流程图。
具体实施例方式本发明提供一种机顶盒上的USB设备插拔的检测方法及系统,能在USB设备插入和拔出时,正确识别USB设备的类型,特别是对于多USB接口的机顶盒而言,实现了正确的对多种设备的插拔识别。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。Linux系统对USB设备插拔的一般处理流程是当USB设备插入或拔出时,Linux 内核会检测到该种硬件连接状态发生变化,使相应硬件设备的管理模块将发出内核事件消息,并查找和安装该类设备驱动,安装成功后则创建对应的设备节点和设备文件,此时USB 设备便可以使用了。本发明提供的机顶盒上的USB设备插拔的检测方法主要应用于采用嵌入式Linux 系统为操作系统的机顶盒上,请参阅图1,其包括
511、创建套接字,并进行绑定;其中所述套接字为Netlink类型的套接字;
512、由所述套接字侦听内核模块发出的内核消息;
513、由消息判断模块判断所述USB设备的类型;在此过程中,消息判断模块可以判断出何种USB设备所做出的动作;
514、判断USB设备的动作事件类型,并根据动作事件的类型判断该USB设备是插入还是拔出,如果是拔出,则执行步骤S15 ;如果是插入,执行步骤S16 ;
515、根据具体设备正常工作需要,进行相应的后续资源释放动作,并通知界面显示该 USB设备拨出;
516、由驱动管理模块判断是否有该USB设备的安装驱动;如果是,则执行步骤S17;否则,执行步骤S18;
517、通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该 USB设备已插入;在此实施过程中,如果USB设备的驱动安装不成功,也通过执行步骤S18 来表示不支持该USB设备;
518、通知界面显示不支持该USB设备。本发明实施例中,所述USB设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的 WIFP设备中的一种或多种。基于上述的方法本发明实施例还对应提供一种机顶盒上的USB设备插拔的检测系统,其包括创建模块、消息判断模块、驱动管理模块和用户界面。创建模块,用于创建套接字,所述套接字为Netlink类型的套接字,并进行绑定以侦听内核消息。消息判断模块,用于判断所述USB设备类型和USB设备的动作事件的类型。 驱动管理模块,用于判断是否有该USB设备的安装驱动,并在驱动安装完成后,通知界面显示该USB设备已插入。用户界面,用于将消息判断模块和驱动管理模块的处理结果进行显不。所述USB设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的WIFP设备中的一种或多种。综上所述,本发明提供的机顶盒上的USB设备插拔的检测方法及系统,通过创建套接字,由套接字来侦听内核消息;由消息判断模块判断所述USB设备类型和USB设备的动作事件类型;并根据动作事件的类型,判断该USB设备是插入还是拔出;如果是拔出,释放资源,并通知界面显示该USB设备拨出;如果是插入,由驱动管理模块判断是否有该USB设备的安装驱动;如果是,通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该USB设备已插入;否则,通知界面显示不支持该USB设备。本发明通过侦听内核消息的方法,可以正确灵活地检测与识别USB设备的插拔动作,并进行相应后续处理,
5其与现有轮询设备文件的方法相比具有更好的准确性和实时性,而且本发明还可以对同类 USB设备的不同厂家的设备加载不同的驱动,大大提高了 USB外接扩展的适应能力。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种机顶盒上的USB设备插拔的检测方法,其特征在于,包括A、创建套接字;B、由所述套接字侦听内核模块发出的内核消息;C、由消息判断模块判断所述USB设备的类型;D、由消息判断模块判断USB设备的动作事件类型,并根据动作事件的类型判断该USB 设备是插入还是拔出;如果是拔出,则执行步骤E ;如果是插入,执行步骤F ;E、释放资源,并通知界面显示该USB设备拨出;F、由驱动管理模块判断是否有该USB设备的安装驱动;如果是,则执行步骤G;否则,执行步骤H ;G、通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该USB 设备已插入;H、通知界面显示不支持该USB设备。
2.根据权利要求1所述的机顶盒上的USB设备插拔的检测方法,其特征在于,所述套接字为Netlink类型的套接字。
3.根据权利要求1所述的机顶盒上的USB设备插拔的检测方法,其特征在于,所述USB 设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的WIFP设备中的一种或多种。
4.一种机顶盒上的USB设备插拔的检测系统,其特征在于,包括创建模块,用于创建套接字;消息判断模块,判断所述USB设备类型和USB设备的动作事件的类型;驱动管理模块,用于判断是否有该USB设备的安装驱动,并在驱动安装完成后,通知界面显示该USB设备已插入;用户界面,用于将消息判断模块和驱动管理模块的处理结果进行显示。
5.根据权利要求4所述的机顶盒上的USB设备插拔的检测系统,其特征在于,所述套接字为Netlink类型的套接字。
6.根据权利要求4所述的机顶盒上的USB设备插拔的检测系统,其特征在于,所述USB 设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的WIFP设备中的一种或多种。
全文摘要
本发明公开了机顶盒上的USB设备插拔的检测方法及系统,其方法包括创建套接字并进行绑定以侦听内核消息;由消息判断模块判断USB设备的类型及动作类型;根据动作事件的类型判断该USB设备是插入还是拔出,如果是拔出,则进行相应的资源释放动作,并通知界面显示该USB设备拨出;如果是插入,则由驱动管理模块判断是否有该USB设备的安装驱动,如果有通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该USB设备已插入;否则通知界面显示不支持该USB设备。本发明通过侦听内核消息的方法,正确灵活地检测与识别设备的插拔动作,其与现有轮询设备文件的方法相比具有更好的准确性和实时性。
文档编号H04N17/00GK102404603SQ20111036556
公开日2012年4月4日 申请日期2011年11月17日 优先权日2011年11月17日
发明者彭文剑 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1