[发明专利]Linux系统下USB设备的处理方法有效
申请号: | 200910077335.2 | 申请日: | 2009-02-18 |
公开(公告)号: | CN101488114A | 公开(公告)日: | 2009-07-22 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 北京飞天诚信科技有限公司 |
主分类号: | G06F13/10 | 分类号: | G06F13/10;G06F9/445 |
代理公司: | 北京三高永信知识产权代理有限责任公司 | 代理人: | 何文彬 |
地址: | 100083北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | linux 系统 usb 设备 处理 方法 | ||
技术领域
本发明涉及操作系统领域,特别涉及一种Linux系统下USB设备的处理方法。
背景技术
作为一个开放源代码并且免费的操作系统,Linux已经广泛应用在服务器、嵌入式等领域,针对Linux开发的应用程序也越来越多。USB(Universal Serial Bus,通用串行总线)设备由于其快速的传输速率,近年来也得到了广泛的发展和应用。在Linux系统下,所有的设备都是以文件的形式存在的,称作设备文件,通常都存储于/dev目录下。当USB设备接入Linux系统时,也是以设备文件的形式存储于/dev目录下,该设备文件描述了USB设备的类型,设备号等信息,Linux系统可以通过读取该设备文件来达到与USB设备进行通信的目的。
但是,Linux系统的超级用户具有对USB设备的读写权限,而普通用户对USB设备只有读的权限却没有写的权限,需要用户手动修改权限才能完成对USB设备写入的操作,这给很多用户带来了很大不便。
另外,在现有的2.4和2.6版本的Linux系统内核(kernel)中,对于大多数USB设备尤其是标准USB设备,Linux系统会自动加载相应的驱动程序,如HID(Human Interface Device,人机接口设备)、CCID(USB Chip/Smart Card Interface Devices,USB芯片智能卡接口设备)、SCSI(Small Computer System Interface,小型计算机系统接口)驱动程序等等,从而保证用户可以使用该USB设备。但是,如果Linux系统接入智能卡类型的USB设备,则有可能发生通信错误。由于这类USB设备通常内置有智能卡芯片,存储有相关的程序和算法,当Linux系统与这类USB设备进行通信时,通常需要运行智能卡芯片的相关程序才能完成通信,但是由于Linux系统与USB设备通信的端口被加载的驱动程序所占用了,因此Linux系统会识别为USB设备忙,导致Linux系统无法运行该相关程序,从而不能与USB设备进行通信。
发明内容
本发明提供了一种Linux系统下USB设备的处理方法,可以自动修改用户对USB设备的读写权限,减轻了用户的负担,改善了Linux系统下与智能卡类型的USB设备通信出现错误的问题。所述技术方案如下:
一种Linux系统下USB设备的处理方法,所述方法包括:
在超级用户组下预先建立守护进程,将所述守护进程设置为在Linux系统启动时自动启动;
在Linux系统启动时,加载所述守护进程;
所述守护进程采用轮询或阻塞等待的方式实时判断是否有通用串行总线USB设备接入所述Linux系统;
如果有USB设备接入,则所述守护进程判断所述USB设备是否符合预设的匹配规则,所述匹配规则为USB设备制造商的标识符合预设的值或USB设备产品标识符合预设的值;
如果符合,则所述守护进程获取所述USB设备的设备文件,判断所述USB设备的操作权限是否为所有用户均具有读和写的权限,如果不是,则所述守护进程将所述USB设备的操作权限修改为所有用户均具有读和写的权限;
如果不符合,则返回实时判断是否有USB设备接入的步骤。
其中,所述守护进程采用轮询的方式实时判断是否有USB设备接入所述Linux系统,具体包括:
所述守护进程每隔预先约定的时间获取所述Linux系统的USB总线上USB设备的数量;
判断所述数量是否为零,如果为零,则确定所述Linux系统没有USB设备接入,如果不为零,则确定所述Linux系统有USB设备接入。
所述守护进程采用阻塞等待的方式实时判断是否有USB设备接入所述Linux系统,具体包括:
所述守护进程等待USB设备拔插事件;
如果有USB设备拔插事件发生,则确定所述Linux系统有USB设备接入,如果没有USB设备拔插事件发生,则继续等待USB设备拔插事件。
所述预设的匹配规则存储于所述守护进程的程序中,或存储于配置文件中。
所述守护进程将所述USB设备的操作权限修改为所有用户均具有读和写的权限之后,还包括:
向所述Linux系统发送释放消息,所述Linux系统收到后释放掉所述Linux系统为所述USB设备加载的驱动程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京飞天诚信科技有限公司,未经北京飞天诚信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910077335.2/2.html,转载请声明来源钻瓜专利网。