CN102404603B - 机顶盒上的usb设备插拔的检测方法及系统 - Google Patents
机顶盒上的usb设备插拔的检测方法及系统 Download PDFInfo
- Publication number
- CN102404603B CN102404603B CN201110365562.2A CN201110365562A CN102404603B CN 102404603 B CN102404603 B CN 102404603B CN 201110365562 A CN201110365562 A CN 201110365562A CN 102404603 B CN102404603 B CN 102404603B
- Authority
- CN
- China
- Prior art keywords
- usb device
- usb
- type
- top box
- set top
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 30
- 238000009434 installation Methods 0.000 claims abstract description 19
- 239000000284 extract Substances 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 abstract description 13
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了机顶盒上的USB设备插拔的检测方法及系统,其方法包括:创建套接字并进行绑定以侦听内核消息;由消息判断模块判断USB设备的类型及动作类型;根据动作事件的类型判断该USB设备是插入还是拔出,如果是拔出,则进行相应的资源释放动作,并通知界面显示该USB设备拨出;如果是插入,则由驱动管理模块判断是否有该USB设备的安装驱动,如果有通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该USB设备已插入;否则通知界面显示不支持该USB设备。本发明通过侦听内核消息的方法,正确灵活地检测与识别设备的插拔动作,其与现有轮询设备文件的方法相比具有更好的准确性和实时性。
Description
技术领域
本发明涉及对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接口的WIFI设备中的一种或多种。
一种机顶盒上的USB设备插拔的检测系统,其包括:
创建模块,用于创建套接字;
消息判断模块,根据内核消息判断所述USB设备类型和USB设备的动作事件的类型;
驱动管理模块,用于判断是否有该USB设备的安装驱动,并在驱动安装完成后,通知界面显示该USB设备已插入;
用户界面,用于将消息判断模块和驱动管理模块的处理结果进行显示。
上述的机顶盒上的USB设备插拔的检测系统中,所述套接字为Netlink类型的套接字。
上述的机顶盒上的USB设备插拔的检测系统中,所述USB设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的WIFI设备中的一种或多种。
相较于现有技术,本发明提供的机顶盒上的USB设备插拔的检测方法及系统,通过创建套接字,由套接字来侦听内核消息;由消息判断模块判断所述USB设备和USB设备的动作事件类型;根据动作事件的类型,通知界面根据USB设备的动作事件类型进行相应的显示,其与现有轮询设备文件的方法相比具有更好的准确性和实时性,而且还可以对同类USB设备的不同厂家的设备加载不同的驱动,大大提高了USB外接扩展的适应能力。
附图说明
图1为本发明实施例提供的机顶盒上的USB设备插拔的检测方法流程图。
具体实施方式
本发明提供一种机顶盒上的USB设备插拔的检测方法及系统,能在USB设备插入和拔出时,正确识别USB设备的类型,特别是对于多USB接口的机顶盒而言,实现了正确的对多种设备的插拔识别。
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
Linux系统对USB设备插拔的一般处理流程是:当USB设备插入或拔出时,Linux内核会检测到该种硬件连接状态发生变化,使相应硬件设备的管理模块将发出内核事件消息,并查找和安装该类设备驱动,安装成功后则创建对应的设备节点和设备文件,此时USB设备便可以使用了。
本发明提供的机顶盒上的USB设备插拔的检测方法主要应用于采用嵌入式Linux系统为操作系统的机顶盒上,请参阅图1,其包括:
S11、创建套接字,并进行绑定;其中所述套接字为Netlink类型的套接字;
S12、由所述套接字侦听内核模块发出的内核消息;
S13、由消息判断模块基于上述内核消息判断所述USB设备的类型;在此过程中,消息判断模块可以判断出何种USB设备所做出的动作;
S14、根据上述内核消息判断USB设备的动作事件类型,并根据动作事件的类型判断该USB设备是插入还是拔出,如果是拔出,则执行步骤S15;如果是插入,执行步骤S16;
S15、根据具体设备正常工作需要,进行相应的后续资源释放动作,并通知界面显示该USB设备拨出;
S16、由驱动管理模块判断是否有该USB设备的安装驱动;如果是,则执行步骤S17;否则,执行步骤S18;
S17、通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该USB设备已插入;在此实施过程中,如果USB设备的驱动安装不成功,也通过执行步骤S18来表示不支持该USB设备;
S18、通知界面显示不支持该USB设备。
本发明实施例中,所述USB设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的WIFI设备中的一种或多种。
基于上述的方法本发明实施例还对应提供一种机顶盒上的USB设备插拔的检测系统,其包括创建模块、消息判断模块、驱动管理模块和用户界面。
创建模块,用于创建套接字,所述套接字为Netlink类型的套接字,并进行绑定以侦听内核消息。消息判断模块,用于根据上述内核消息判断所述USB设备类型和USB设备的动作事件的类型。驱动管理模块,用于判断是否有该USB设备的安装驱动,并在驱动安装完成后,通知界面显示该USB设备已插入。用户界面,用于将消息判断模块和驱动管理模块的处理结果进行显示。
所述USB设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的WIFI设备中的一种或多种。
综上所述,本发明提供的机顶盒上的USB设备插拔的检测方法及系统,通过创建套接字,由套接字来侦听内核消息;由消息判断模块基于上述内核消息判断所述USB设备类型和USB设备的动作事件类型;并根据动作事件的类型,判断该USB设备是插入还是拔出;如果是拔出,释放资源,并通知界面显示该USB设备拨出;如果是插入,由驱动管理模块判断是否有该USB设备的安装驱动;如果是,通过驱动管理模块安装该USB设备的驱动,在驱动安装完成后,通知界面显示该USB设备已插入;否则,通知界面显示不支持该USB设备。本发明通过侦听内核消息的方法,可以正确灵活地检测与识别USB设备的插拔动作,并进行相应后续处理,其与现有轮询设备文件的方法相比具有更好的准确性和实时性,而且本发明还可以对同类USB设备的不同厂家的设备加载不同的驱动,大大提高了USB外接扩展的适应能力。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (6)
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接口的WIFI设备中的一种或多种。
4.一种机顶盒上的USB设备插拔的检测系统,其特征在于,包括:
创建模块,用于创建套接字;
消息判断模块,根据内核消息判断所述USB设备类型和USB设备的动作事件的类型;
驱动管理模块,用于判断是否有该USB设备的安装驱动,并在驱动安装完成后,通知界面显示该USB设备已插入;
用户界面,用于将消息判断模块和驱动管理模块的处理结果进行显示。
5.根据权利要求4所述的机顶盒上的USB设备插拔的检测系统,其特征在于,所述套接字为Netlink类型的套接字。
6.根据权利要求4所述的机顶盒上的USB设备插拔的检测系统,其特征在于,所述USB设备为USB移动硬盘、USB键盘、USB鼠标、USB接口的WIFI设备中的一种或多种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110365562.2A CN102404603B (zh) | 2011-11-17 | 2011-11-17 | 机顶盒上的usb设备插拔的检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110365562.2A CN102404603B (zh) | 2011-11-17 | 2011-11-17 | 机顶盒上的usb设备插拔的检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102404603A CN102404603A (zh) | 2012-04-04 |
CN102404603B true CN102404603B (zh) | 2016-05-04 |
Family
ID=45886310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110365562.2A Active CN102404603B (zh) | 2011-11-17 | 2011-11-17 | 机顶盒上的usb设备插拔的检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102404603B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461819B (zh) * | 2013-09-18 | 2017-12-19 | 国家电网公司 | 计算机usb接口的监控设备 |
CN104750628A (zh) * | 2013-12-30 | 2015-07-01 | 上海格尔软件股份有限公司 | 一种利用usb通知触发ssl注销的方法 |
CN103955439B (zh) * | 2014-05-22 | 2016-08-31 | 东北林业大学 | Android移动Sink节点软件方式管理USB设备的方法 |
CN104038564A (zh) * | 2014-07-08 | 2014-09-10 | 马传军 | 路由器中基于云网络中心实现移动终端管理的系统及方法 |
CN106649175B (zh) * | 2016-10-19 | 2019-12-06 | 深圳市共进电子股份有限公司 | 一种usb hub接口功能分离的方法 |
CN106598798B (zh) * | 2016-12-19 | 2019-11-19 | 四川长虹电器股份有限公司 | 安卓智能设备检测usb设备的方法 |
CN107506323B (zh) * | 2017-07-25 | 2020-03-20 | 华为技术有限公司 | 一种热插拔处理方法及装置 |
CN110457076B (zh) * | 2019-09-10 | 2022-08-12 | 广州市金其利信息科技有限公司 | 一种外设管理方法 |
CN111125796B (zh) * | 2019-12-26 | 2022-06-21 | 深信服科技股份有限公司 | 对移动存储设备进行保护的方法及装置、设备、存储介质 |
CN113312095B (zh) * | 2021-04-16 | 2024-04-16 | 深圳市智微智能软件开发有限公司 | 管理显示设备的插拔事件的方法、装置、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009158137A (ja) * | 2007-12-25 | 2009-07-16 | Toshiba Corp | 電子機器 |
CN201515472U (zh) * | 2009-10-30 | 2010-06-23 | 深圳创维数字技术股份有限公司 | 一种电视机顶盒usb接口的测试装置 |
-
2011
- 2011-11-17 CN CN201110365562.2A patent/CN102404603B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009158137A (ja) * | 2007-12-25 | 2009-07-16 | Toshiba Corp | 電子機器 |
CN201515472U (zh) * | 2009-10-30 | 2010-06-23 | 深圳创维数字技术股份有限公司 | 一种电视机顶盒usb接口的测试装置 |
Non-Patent Citations (3)
Title |
---|
Linux下USB系统研究及应用;刘云飞;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20050615(第2期);I137-48 * |
向前.在嵌入式系统中实现对U盘的操作.《单片机与嵌入式系统应用》.2005,第36-39页. * |
王少龙.USB主机接口在机顶盒上的设计与实现.《中国优秀硕士学位论文全文数据库(信息科技辑)》.2008,(第9期),I136-277. * |
Also Published As
Publication number | Publication date |
---|---|
CN102404603A (zh) | 2012-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102404603B (zh) | 机顶盒上的usb设备插拔的检测方法及系统 | |
CN106469103B (zh) | 硬盘的维护方法和装置 | |
CN102722429B (zh) | 一种硬盘维修设备的处理方法 | |
CN103210395B (zh) | 与客户端虚拟机交互的技术 | |
CN102959502A (zh) | 在系统中提供异步事件通知的方法 | |
CN102902589B (zh) | 一种集群mic作业的管理及调度方法 | |
CN105068865A (zh) | 任务调度方法和装置 | |
WO2020015116A1 (zh) | 数据库监控方法及终端设备 | |
WO2015062217A1 (zh) | 虚拟桌面系统中外设的接入处理方法及装置 | |
CN101673230A (zh) | 一种使用u盘自动备份和恢复嵌入式系统配置数据的方法 | |
CN103150188A (zh) | 非x86指令集计算机的x86兼容显卡快速初始化方法 | |
CN110442402A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN105354127A (zh) | 基于云管理平台的监控方法 | |
CN103870319A (zh) | 信息处理方法、装置及电子设备 | |
CN104391655A (zh) | 一种自动拷贝文件到多个u盘的方法 | |
CN102609285A (zh) | 一种驱动智能匹配加载的方法 | |
CN106254162B (zh) | 基于网络的linux集群计算节点操作系统恢复方法 | |
CN105045627A (zh) | 一种实现服务器在线更新网卡配置文件的方法 | |
CN102455932A (zh) | 一种任务实例串行执行方法、装置及系统 | |
CN104391736A (zh) | 虚拟机的休眠模式设置方法和装置 | |
CN107562382B (zh) | 一种基于定时任务的磁盘自动动态扩容方法及系统 | |
CN102413154B (zh) | 一种系统之间数据信息同步的方法及装置 | |
CN103235746A (zh) | 服务器一体机自动恢复方法 | |
CN109922014A (zh) | 一种交换机冷热启动判断方法及系统 | |
US9727344B2 (en) | Mining dependencies from disk images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |