一种Linux系统下实时识别插拔USB设备的方法

文档序号:6444183阅读:3116来源:国知局
专利名称:一种Linux系统下实时识别插拔USB设备的方法
技术领域
:本发明属于电子信息处理技术领域,涉及一种Linux系统下实时识别插拔USB设备的方法,特别是一种Linux系统下在机顶盒或电视机上插入或拔出USB设备时对USB设备的实时识别方法。
背景技术
:目前,在电子计算机技术领域,Linux是一种自由和开放源代码的计算机操作系统,从手机、平板电脑、路由器、视频游戏控制台,到台式计算机和服务器中都得到应用,尤其是在机顶盒、家庭网关和移动设备等嵌入式设备中更是得到广泛应用。USB接口具有支持热插拔的特性,因其结构简单、成本低廉且具有良好的性能而在计算机外设和各种仪器中得到广泛应用,USB接口的设备已成为有线传输的主流选择。目前,Linux系统下完成USB设备的数据采集一般采用人工的方式完成设备的配置,这种方式由于需要人的参与而不利于实现自动化的采集,且采集程序一般是针对某款设备而开发不具有通用性,人工的参与为设备数据采集带来不便,单一用途的采集软件不利于设备的整合。所以,探索和研发一种新的技术手段以实现USB设备的实时发现与识别,获取到足够多的设备信息,并利用这些信息结合设备的实际情况将可以开发出兼容多种设备的数据采集程序,且可以自动完成数据采集已成为电子信息处理技术中正在寻求解决的技术需求
发明内容
:本发明的目的在于克服现有技术存在的缺点,寻求设计一种能够实时识别USB设备的插入或拔出,提供足够多的信息,针对不同设备采用不同的处理方法,完成Linux系统下多种设备的实时数据采集,并实时识别出设备厂商和名称等信息内容,同时采集设备的节点信息,从而完成实时识别任务。为了实现上述目的,本发明的主要功能步骤包括实时发现有设备接入或拔出、确定接入或拔出的是USB设备和确定接入或拔出的USB设备的设备名称、厂家信息和设备节点三个功能部分,其具体步骤为:(I),Linux USB文件系统(usbfs):Linux系统设有USB文件系统支持,会产生一个记录系统中USB设备信息文件,该文件以特定的格式与含义来描述系统中的USB设备,信息文件中关注的是厂家信息与设备名称,信息文件在Linux系统中的路径为/dev/bus/usb/devices ;(2) ,udev:选用Linux2.6以上版本的设备管理器,其功能是管理/dev目录底下的设备节点,能够动态提供系统中实际存在的设备节点,设备节点支持Linxu操作系统的设备操作,设备操作以节点为基础;(3)、Netlink:Linux内核提供一种通讯方式,使用该通讯方式实现Linux内核和应用程序间的双向通讯,支持多种协议类型,接收Linux内核提供的设备接入或拔出时的信息,能发现设备接入或拔出的实时性;
(4)、内核信息处理:初步判断接入或拔出的设备是否为USB设备,如果是USB设备则根据信息格式取出设备节点,完成设备识别的部分工作;(5) ,USB设备文件匹配:比较USB设备接入或拔出前后USB设备信息文件的变化,找到接入或拔出的设备,取出设备名称及厂家信息的有效内容,进行打印或显示输出。本发明结合多种技术实现USB设备插拔的实时识别,最终获得设备名称、厂家信息及设备节点等关注的设备信息内容;当有USB设备接入或拔出时首先使用netlink接收Linux内核发送的信息,实时发现设备的接入或拔出,并通过上述信息初步判断接入的是否为USB设备,如果是USB设备,先取出设备节点,然后抽取设备接入或拔出前后USB设备记录文件中的设备信息,通过比较设备接入或拔出前后的设备信息,得到接入或拔出设备名称和厂家信息,设备名称与厂家信息在USB设备描述符中描述。本发明与现有技术相比具有以下优点:一是实现USB设备插拔的实时识别,获取到足够多的设备信息;二是结合多种健康设备的实际情况,开发兼容多种设备的数据采集程序;其整体工艺过程简单,识别原理可靠,信息数据采集准确,处理效果先进,可以应用于多种电子设备及电视机数字化设备中的USB插拔场合。


:图1为本发明方法的工作流程原理示意框图。
具体实施方式
:下面通过实施例并结合附图作进一步说明。实施例:本实施例的主要功能包括实时发现有USB设备接入或拔出、确定接入或拔出的是USB设备和确定接入或拔出的USB设备的设备名称、厂家信息和设备节点三个功能部分,其具体步骤为:(I)、Linux USB文件系统(usbfs) =Linux系统有了 USB文件系统的支持,将会产生一个记录系统中USB设备信息的文件,该文件以特定的格式与含义来描述系统中的USB设备,信息中本方法关注的是厂商与设备名称,该文件在Linux系统中的路径为/dev/bus/usb/devices ;(2)、udev:Linux2.6以上版本的设备管理器,功能是管理Linux系统/dev目录底下的设备节点,能够动态提供系统中实际存在的设备节点,而设备节点对Linxu操作系统的设备操作至关重要,因为设备操作是以节点为基础的;(3)、Netlink:Linux内核提供的一种通讯方式,使用该技术可以实现Linux内核和应用程序间的双向通讯,它支持多种协议类型,在本方法中使用该技术接收Linux内核提供的设备接入或拔出时的信息,由于Linux内核实时提供这些信息,该技术将能保证发现设备接入或拔出的实时性;(4)、内核信息处理:初步判断接入或拔出的设备是否为USB设备,如果是USB设备则根据信息格式取出设备节点,完成设备识别的部分工作;(5) ,USB设备文件匹配:比较设备接入或拔出前后USB设备信息文件的变化,找到接入或拔出的设备,取出设备名称及厂家信息等有效内容。
本实施例结合多种技术实现USB设备插拔的实时识别,最终获得设备名称、厂家信息及设备节点等关注的设备信息内容;当有USB设备接入或拔出时首先使用netlink接收Linux内核发送的信息,实时发现设备的接入或拔出,并通过该信息初步判断接入的是否为USB设备。如果是USB设备,先取出设备节点,然后提取设备接入或拔出前后USB设备记录文件中的设备信息,通过比较设备接入或拔出前后的设备信息,得到接入或拔出设备的名称和厂家信息,而设备名称与厂家信息都是在USB设备描述符中描述的。
权利要求
1.一种Linux系统下实时识别插拔USB设备的方法,包括实时发现有设备接入或拔出、确定接入或拔出的是USB设备和确定接入或拔出的USB设备的设备名称、厂家信息和设备节点三个功能部分,其特征在于具体步骤为: (1)、LinuxUSB文件系统(usbfs):Linux系统设有USB文件系统支持,会产生一个记录系统中USB设备信息文件,该文件以特定的格式与含义来描述系统中的USB设备,信息文件中关注的是厂家信息与设备名称,信息文件在Linux系统中的路径为/dev/bus/usb/devices ; (2),udev:选用Linux2.6以上版本的设备管理器,其功能是管理/dev目录底下的设备节点,能够动态提供系统中实际存在的设备节点,设备节点支持Linxu操作系统的设备操作,设备操作以节点为基础; (3)、Netlink:Linux内核提供一种通讯方式,使用该通讯方式实现Linux内核和应用程序间的双向通讯,支持多种协议类型,接收Linux内核提供的设备接入或拔出时的信息,能发现设备接入或拔出的实时性; (4)、内核信息处理:初步判断接入或拔出的设备是否为USB设备,如果是USB设备则根据信息格式取出设备节点,完成设备识别的部分工作; (5),USB设备文件匹配:比较USB设备接入或拔出前后USB设备信息文件的变化,找到接入或拔出的设备,取出设备名称及厂家信息的有效内容,进行打印或显示输出。
全文摘要
本发明属于电子信息处理技术领域,涉及一种Linux系统下实时识别插拔USB设备的方法,包括实时发现有设备接入或拔出、确定接入或拔出的是USB设备和确定接入或拔出的USB设备的设备名称、厂家信息和设备节点三个功能部分,结合多种技术实现USB设备插拔的实时识别,最终获得设备名称、厂家信息及设备节点等关注的设备信息内容;其整体工艺过程简单,识别原理可靠,信息数据采集准确,处理效果先进,可以应用于多种电子设备及电视机数字化设备中的USB插拔场合。
文档编号G06F13/10GK103186486SQ20111045151
公开日2013年7月3日 申请日期2011年12月30日 优先权日2011年12月30日
发明者于忠清, 胡章军, 卜祥峰, 李桂丽, 张锟, 辛宪亮, 王艳青, 李智军 申请人:青岛海尔软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1