CN105657464B - 一种usb重复节点的屏蔽方法 - Google Patents
一种usb重复节点的屏蔽方法 Download PDFInfo
- Publication number
- CN105657464B CN105657464B CN201610058964.0A CN201610058964A CN105657464B CN 105657464 B CN105657464 B CN 105657464B CN 201610058964 A CN201610058964 A CN 201610058964A CN 105657464 B CN105657464 B CN 105657464B
- Authority
- CN
- China
- Prior art keywords
- udev
- node
- equipment
- usb
- catalogue
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42661—Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive
- H04N21/42669—Internal components of the client ; Characteristics thereof for reading from or writing on a magnetic storage medium, e.g. hard disk drive the medium being removable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2404—Monitoring of server processing errors or hardware failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/241—Operating system [OS] processes, e.g. server setup
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种USB重复节点的屏蔽方法,在udev模块收到kernel事件命令发送的设备插入的uevent事件后,本方法解析出设备的描述符,第一步判断是否为已有USB设备,如果不是,则跳过本方法,继续执行udev;如果为USB设备,则在设备对应的配置文件(udev.conf)里查找规则文件对应所在目录,在规则文件目录里按顺序查找所有规则文件,按照规则文件解析设备的属性,本方法再设备属性与/dev目录下现有USB节点比较,查询是否已有此属性节点,如果有,本方法返回命令给udev终止节点创建;如果没有,本方法返回命令给udev继续设备节点创建。本发明可以有效解决Linux系统启动过程udev误创建设备节点的问题,也就解决了智能电视遥控一次按键两次响应的问题,提高了Linux操作系统的容错空间。
Description
技术领域
本发明涉及于USB自动挂载领域,尤其涉及一种USB重复节点的屏蔽方法,特别是应用于智能电视的USB自动挂载的重复节点屏蔽方法。
背景技术
一般来讲,操作系统与外部设备(例如,磁带驱动器,磁盘驱动器,打印机,终端,modern)是通过系统匹配创建的拥有对应配置文件的设备节点来进行通信。特别是在Linux系统中,所有设备节点都在/dev目录下,在这个目录中包含了所有Linux系统中使用的外部设备,它实际上是一个访问这些外部设备的端口。实时地在/dev目录下创建和删除设备节点主要通过udev来实现,但它也能在创建节点的同时,执行一个额外地程序。当设备添加/删除时,udev的守护进程侦听来自内核的uevent,以此添加或者删除/dev下的设备节点,所以udev只为已经连接的设备产生设备节点,而不会在/dev下产生大量虚无的设备节点。
在智能电视领域应用过程中,经常碰到的一个问题是,在电视启动过程中,因为系统运行不稳定的原因,一些功能重要的USB设备断开时udev偶尔未及时删掉/dev目录下的设备节点,USB再建立连接时,udev会为这个设备再创建一个功能相同的重复节点。两个功能相同的设备节点同时向安卓上层应用发送数据时,会造成上层应用异常。在智能电视生产过程中,因为流水线上电视突然掉电和上电的原因,经常出现智能遥控器遥控异常,按一下遥控音量键,电视响应两次;连续按音量键,电视响应两次后不再响应。分析后发现,智能电视的Linux系统udev为智能遥控接收装置多创建了一个相同USB节点,按遥控按键时,这两个USB节点同时向安卓系统发送键码,造成安卓系统识别异常。这种问题在用户多次开关智能电视后,也会概率性出现。
发明内容
针对现有技术存在的不足之处,本发明的目的在于提供一种USB重复节点的屏蔽方法,本方法在设备属性与/dev目录下现有USB节点比较,查询是否已有此属性节点,如果有,本方法返回命令给udev终止节点创建;如果没有,本方法返回命令给udev继续设备节点创建。
本发明的目的通过下述技术方案实现:
一种USB重复节点的屏蔽方法,其方法步骤包括如下:
A、智能电视的Linux内核用户空间内具有存储于/dev目录下的udev模块,当外部添加设备插入连接时,智能电视的Linux内核中的kernel模块会发送设备插入时响应的uevent事件命令,udev模块从kernel模块收到添加设备的uevent事件命令;
B、判断添加设备描述符是否为已有USB设备;若判断是已有USB设备,则进入步骤C,若判断不是已有USB设备,则进入步骤D;
C、查询添加设备的类描述符、标准描述符、HID相关描述符、厂商自定义描述符,将上述四类描述符与存储于/dev目录下的现有USB节点属性进行比较,判断是否完全重复;若是完全重复,则结束;若是不重复,则进入步骤D;
D、在udev模块的配置文件udev.conf模块里查找规则文件所在的目录,然后进行如下步骤:
D1在规则文件目录里按顺序查询所有规则文件;
D2按照所匹配规则,为添加设备创建相应的设备节点属性,并将创建的设备节点属性存储于/dev目录下;
D3结束。
本发明的添加设备为智能遥控设备、WIFI设备、摄像头设备、磁带驱动器、磁盘驱动器或打印机。
本发明方法的所有模块位于Linux操作系统中/dev目录下的udev程序内。本方法在udev模块收到kernel事件命令发送的设备插入的uevent事件后,本方法解析出设备的描述符,第一步判断是否为已有USB设备,如果不是,则跳过本方法,继续执行udev;如果为已有USB设备,则在设备对应的配置文件(udev.conf)里查找规则文件对应所在目录,在规则文件目录里按顺序查找所有规则文件,按照规则文件解析设备的属性,本方法再设备属性与/dev目录下现有USB节点比较,查询是否已有此属性节点,如果有,本方法返回命令给udev终止节点创建;如果没有,本方法返回命令给udev继续设备节点创建。
本发明较现有技术相比,具有以下优点及有益效果:
(1)本发明可以有效解决Linux系统启动过程udev误创建设备节点的问题,也就解决了智能电视遥控一次按键两次响应的问题,提高了Linux操作系统的容错空间。
(2)本方法可指向特定的类别设备进行判断屏蔽,不干扰其他设备的挂载规则和加载时间。
附图说明
图1为本发明的流程示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明:
实施例
如图1所示,一种USB重复节点的屏蔽方法,其方法步骤包括如下:
A、智能电视的Linux内核用户空间内具有存储于/dev目录下的udev模块,当外部添加设备插入连接时,智能电视的Linux内核中的kernel模块会发送设备插入时响应的uevent事件命令,udev模块从kernel模块收到添加设备的uevent事件命令;
B、判断添加设备描述符是否为已有USB设备;若判断是已有USB设备,则进入步骤C,若判断不是已有USB设备,则进入步骤D;
C、查询添加设备的类描述符、标准描述符、HID相关描述符、厂商自定义描述符,将上述四类描述符与存储于/dev目录下的现有USB节点属性进行比较,判断是否完全重复;若是完全重复,则结束;若是不重复,则进入步骤D;
D、在udev模块的配置文件udev.conf模块里查找规则文件所在的目录,然后进行如下步骤:
D1在规则文件目录里按顺序查询所有规则文件;
D2按照所匹配规则,为添加设备创建相应的设备节点属性,并将创建的设备节点属性存储于/dev目录下;
D3结束。
本发明的添加设备为智能遥控设备、WIFI设备、摄像头设备、磁带驱动器、磁盘驱动器或打印机。
智能电视遥控器接收组件通常作为USB设备与连接,智能电视的Linux内核在开机过程中,将要对遥控接收组件设备、WIFI设备、摄像头设备等完成加载,在加载智能遥控设备过程中遇到一个问题是,Linux为同一个遥控接收组件创建了两个功能描述相同的USB设备节点,开机完成后,智能遥控器每按一次按键,安卓系统均收到Linux的USB设备节点发送的两组相同重复数据,造成智能电视异常。
根据这一故障现象,我们在Linux建立了USB重复节点的屏蔽方法,本方法位于Linux用户空间(user space)内的/dev目录的udev内。
本方法在udev收到kernel发送的设备插入的uevent事件后,本方法解析出设备的描述符,第一步判断是否为已有USB设备,如果不是,则跳过本方法,继续执行udev;如果为已有USB设备,则在设备对应的配置文件(udev.conf)里查找规则文件对应所在目录,在规则文件目录里按顺序查找所有规则文件,按照规则文件解析设备的标准描述符、类描述符、HID相关描述符、厂商自定义描述符(如PID、VID等),本方法再将这四种描述符与/dev目录下现有USB节点比较,查询是否已有此属性节点,如果有,本方法返回命令给udev终止节点创建;如果没有,本方法返回命令给udev继续设备节点创建。
按照以上方法,我们可以对智能遥控接收组件以及其他在系统中不允许重复创建节点的设备,设置重复节点屏蔽方法,提高系统稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种USB重复节点的屏蔽方法,其特征在于:其方法步骤包括如下:
A、智能电视的Linux内核用户空间内具有存储于/dev目录下的udev模块,当外部添加设备插入连接时,智能电视的Linux内核中的kernel模块会发送设备插入时响应的uevent事件命令,udev模块从kernel模块收到添加设备的uevent事件命令;所述添加设备为智能遥控设备、WIFI设备、摄像头设备、磁带驱动器、磁盘驱动器或打印机;
B、判断添加设备描述符是否为已有USB设备;若判断是已有USB设备,则进入步骤C,若判断不是已有USB设备,则进入步骤D;
C、查询添加设备的类描述符、标准描述符、HID相关描述符、厂商自定义描述符,将上述四类描述符与存储于/dev目录下的现有USB节点属性进行比较,判断是否完全重复;若是完全重复,则结束;若是不重复,则进入步骤D;
D、在udev模块的配置文件udev.conf模块里查找规则文件所在的目录,然后进行如下步骤:
D1在规则文件目录里按顺序查询所有规则文件;
D2按照所匹配规则,为添加设备创建相应的设备节点属性,并将创建的设备节点属性存储于/dev目录下;
D3结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610058964.0A CN105657464B (zh) | 2016-01-28 | 2016-01-28 | 一种usb重复节点的屏蔽方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610058964.0A CN105657464B (zh) | 2016-01-28 | 2016-01-28 | 一种usb重复节点的屏蔽方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105657464A CN105657464A (zh) | 2016-06-08 |
CN105657464B true CN105657464B (zh) | 2018-12-07 |
Family
ID=56488032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610058964.0A Active CN105657464B (zh) | 2016-01-28 | 2016-01-28 | 一种usb重复节点的屏蔽方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105657464B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614156B (zh) * | 2018-12-26 | 2021-10-15 | 贵州华芯通半导体技术有限公司 | 支持启动类外部设备的驱动的方法、装置和系统 |
CN114063925B (zh) * | 2021-11-19 | 2024-09-17 | 研祥智慧物联科技有限公司 | 存储设备排序方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512335A (zh) * | 2002-12-31 | 2004-07-14 | 北京科泰世纪科技有限公司 | 基于构件的操作系统动态设备驱动的方法 |
CN102682088A (zh) * | 2012-04-23 | 2012-09-19 | Tcl集团股份有限公司 | 一种存储设备的挂载方法、系统及电视 |
CN102999353A (zh) * | 2012-11-15 | 2013-03-27 | 青岛海信宽带多媒体技术有限公司 | 创建设备节点的方法及装置 |
CN103186486A (zh) * | 2011-12-30 | 2013-07-03 | 青岛海尔软件有限公司 | 一种Linux系统下实时识别插拔USB设备的方法 |
CN103796058A (zh) * | 2014-01-21 | 2014-05-14 | 四川长虹电器股份有限公司 | 一种基于虚拟输入设备实现对Android智能电视操控的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934711B2 (en) * | 2002-10-01 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | Method and arrangement for communicating with SCSI devices |
-
2016
- 2016-01-28 CN CN201610058964.0A patent/CN105657464B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512335A (zh) * | 2002-12-31 | 2004-07-14 | 北京科泰世纪科技有限公司 | 基于构件的操作系统动态设备驱动的方法 |
CN103186486A (zh) * | 2011-12-30 | 2013-07-03 | 青岛海尔软件有限公司 | 一种Linux系统下实时识别插拔USB设备的方法 |
CN102682088A (zh) * | 2012-04-23 | 2012-09-19 | Tcl集团股份有限公司 | 一种存储设备的挂载方法、系统及电视 |
CN102999353A (zh) * | 2012-11-15 | 2013-03-27 | 青岛海信宽带多媒体技术有限公司 | 创建设备节点的方法及装置 |
CN103796058A (zh) * | 2014-01-21 | 2014-05-14 | 四川长虹电器股份有限公司 | 一种基于虚拟输入设备实现对Android智能电视操控的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105657464A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3016318B1 (en) | Method and apparatus for customizing scene mode of intelligent device | |
RU2605578C1 (ru) | Способ и устройство управления интеллектуальным прибором на основе предварительного заданного режима сценария | |
CN105208583B (zh) | 一种配置智能家电入网的方法、装置及智能设备 | |
CN102665123B (zh) | 一种电视操控方法、手持设备、电视及电视操控系统 | |
CN105116734A (zh) | 一种智能家电的控制方法及装置、控制终端 | |
CN103475577A (zh) | 一种获得特征信息的方法、装置及网络设备 | |
CN105338550B (zh) | 一种用于无线网络的连接的管理方法和装置 | |
CN109062842B (zh) | 一种遥控器与移动终端的通信方法、装置和遥控器 | |
CN105657464B (zh) | 一种usb重复节点的屏蔽方法 | |
CN105278339B (zh) | 复合家电的子设备描述信息生成、控制方法和装置 | |
CN104105227A (zh) | 基于不同应用场景的wifi模块工作方法及装置 | |
CN102131205B (zh) | 多模系统中的网络管理方法及系统 | |
CN103235584A (zh) | 智能家居控制方法、装置、mcu及系统 | |
CN104424036A (zh) | 智能终端的同步操作方法及装置 | |
CN110647734A (zh) | 一种基于物联网操作系统的设备解锁方法及装置 | |
CN105163400A (zh) | 一种wifi热点连接控制的方法、系统及移动终端 | |
CN103001797A (zh) | 一种在远端管理集成电路生产线多设备操作命令的方法 | |
CN106372009B (zh) | 一种Mac系统中与USB设备通讯的方法及装置 | |
CN104954462A (zh) | 一种高并发可扩展的智能家居通信方法和系统 | |
CN205721136U (zh) | 一种基于knx总线的语音控制系统及智能家居系统 | |
CN104539493A (zh) | 基于usb接口实现的智能终端对智能家电的管控系统及其实现方法 | |
CN110908881A (zh) | 埋点数据的发送方法、装置、电子设备及计算机可读存储介质 | |
CN108551429A (zh) | 应用程序的流量控制方法、电子装置及计算机可读存储介质 | |
CN108983852A (zh) | 智能安防控制系统 | |
WO2017092315A1 (zh) | 一种控制电视的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |