一种基于龙芯平台的无线设备控制方法技术

技术编号:13123779 阅读:47 留言:0更新日期:2016-04-06 11:34
本发明专利技术公开了一种基于龙芯平台的无线设备控制方法,所述方法通过分析RFKill驱动,研究RFKill命令,查询和更改系统中启用了RFKill的设备,将linux内核中关于RFKill模块的开关打开,然后检测系统中的无线设备,实现对打开设备的关闭操作,或阻断某一类设备或者所有启用了RFKill的设备,进而实现设备节能。本发明专利技术基于龙芯平台,通过RFKill驱动实现对龙芯2H平板上Wi-Fi、3G模块的控制,当用户不使用Wi-Fi、3G模块时,选择将其关闭,当用户需要使用Wi-Fi、3G模块时再将其打开,进而节省能源。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及,主要是对龙芯2H平板上的W1-F1、3G模块进行控制,当无线设备不使用时,关闭无线设备,进而达到节能的目的。
技术介绍
很多计算机系统包含无线电传输,其中包括W1-F1、蓝牙、3G设备。这些设备消耗电源,在不使用这些设备时设备还在运行是一种能源浪费。RFKill是Linux内核中的一个子系统,它可提供一个接口,在此接口中可查询、激活并取消激活计算机系统中的无线电传输。当取消激活传输时,可使其处于可被软件重新激活的状态(软锁定)或软件无法重新激活的位置(硬锁定)。RFKill为内核子系统提供应用程序编程界面(API)。内核驱动程序被设计为支持RFKill使用这个API注册内核,并包含启用和禁用这个设备的方法。另外,RFKill提供用户程序可解读的通知以及用户程序查询传输状态的方法。
技术实现思路
本专利技术要解决的技术问题是:本专利技术提供。本专利技术所采用的技术方案为: ,所述方法通过分析RFKill驱动,研究RFKill命令,查询和更改系统中启用了 RFK i 11的设备,将1 inux内核中关于RFK i 11模块的开关打开,然后检测系统中的无线设备,实现对打开设备的关闭操作,或阻断某一类设备或者所有启用了RFKi 11的设备,进而实现设备节能。所述方法实现步骤如下: 1)首先修改Linux内核,使内核支持RFKi11模块:执行make menuconf ig命令,打开内核配置菜单,选中Networking support--->RF switch subsystem support及其子项,将其编译成模块; 2)由于RFKill提供两种类型的用户态接口用于查询和控制无线设备,选择使用/dev/rfkill用户接口,获取无线设备的运行状态,该用户接口包含系统中所有无线电传输的当前状态; 3)通过操作RFKill提供的用户态接口/dev/rfkill来查询和控制无线设备的运行状态;当设备不使用但是仍处于运行状态时,通过相关操作将其关闭;如果需要使用时,则通过相关操作将其打开。所述无线设备的运行状态获取方式如下: 打开文件系统下/dev/rfkill,如果打开成功,通过readO函数读取所有无线设备的状??τ ο所述无线设备关闭的方式如下: 打开文件系统下/dev/rfkill,如果打开成功,通过1ctl()、write()函数修改无线设备的状态,将无线设备的state值设为0; 修改状态完成后,通过查询设备变化的消息和监听rfki 11 core发出的uevent,获得设备状态的变化信息,保证状态修改成功。所述无线设备打开的方式如下: 打开文件系统下/dev/rfkill,如果打开成功,通过1ctl()、write()函数修改无线设备的状态,将无线设备的state值设为1; 修改状态完成后,通过查询设备变化的消息和监听rfki 11 core发出的uevent,获得设备状态的变化信息,保证状态修改成功。本专利技术的有益效果为: 本专利技术基于龙芯平台,通过RFKill驱动实现对龙芯2H平板上W1-F1、3G模块的控制,当用户不使用W1-F1、3G模块时,选择将其关闭,当用户需要使用W1-F1、3G模块时再将其打开,进而节省能源。【附图说明】图1为无线设备控制的实现流程图。【具体实施方式】下面参照附图所示,通过【具体实施方式】对本专利技术进一步说明: 实施例1: ,所述方法通过分析RFKill驱动,研究RFKill命令,查询和更改系统中启用了 RFK i 11的设备,将1 inux内核中关于RFK i 11模块的开关打开,然后检测系统中的无线设备,实现对打开设备的关闭操作,或阻断某一类设备或者所有启用了RFKi 11的设备,进而实现设备节能。实施例2: 如图1所示,在实施例1的基础上,本实施例所述方法基于龙芯2H平板,实现步骤如下: 1)首先修改龙芯2H的Linux内核,使内核支持RFKi11模块:执行make menuconfig命令,打开内核配置菜单,选中Networking support--->RF switch subsystem support及其子项,将其编译成模块; 2)由于RFKill提供两种类型的用户态接口用于查询和控制无线设备,选择使用/dev/rfkill用户接口,获取无线设备的运行状态,该用户接口包含系统中所有无线电传输的当前状态; 3)通过操作RFKill提供的用户态接口/dev/rfkill来查询和控制无线设备W1-F1、3G模块的运行状态;当设备不使用但是仍处于运行状态时,通过相关操作将其关闭;如果需要使用时,则通过相关操作将其打开。实施例3: 在实施例2的基础上,本实施例所述无线设备的运行状态获取方式如下: 打开文件系统下/dev/rfkill,如果打开成功,通过readO函数读取所有无线设备的状??τ ο实施例4: 在实施例2或3的基础上,本实施例所述无线设备关闭的方式如下: 打开文件系统下/dev/rfkill,如果打开成功,通过1ctl()、write()函数修改无线设备的状态,将无线设备的state值设为0; 修改状态完成后,通过查询设备变化的消息和监听rfki 11 core发出的uevent,获得设备状态的变化信息,保证状态修改成功。实施例5: 在实施例2或3的基础上,本实施例所述无线设备打开的方式如下: 打开文件系统下/dev/rfkill,如果打开成功,通过1ctl()、write()函数修改无线设备的状态,将无线设备的state值设为1; 修改状态完成后,通过查询设备变化的消息和监听rfki 11 core发出的uevent,获得设备状态的变化信息,保证状态修改成功。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。【主权项】1.,其特征在于:所述方法通过分析RFKill驱动,研究RFKill命令,查询和更改系统中启用了RFKill的设备,将linux内核中关于RFKill模块的开关打开,然后检测系统中的无线设备,实现对打开设备的关闭操作,或阻断某一类设备或者所有启用了 RFKill的设备,进而实现设备节能。2.根据权利要求1所述的,其特征在于,所述方法实现步骤如下: 1)首先修改Linux内核,使内核支持RFKi 11模块:执行make menuconfig命令,打开内核配置菜单,选中Networking support--->RF switch subsystem support及其子项,将其编译成模块; 2 )选择使用/dev/rfki 11用户接口,获取无线设备的运行状态; 3)通过操作RFKill提供的用户态接口/dev/rfkill来查询和控制无线设备的运行状态;当设备不使用但是仍处于运行状态时,通过相关操作将其关闭;如果需要使用时,则通过相关操作将其打开。3.根据权利要求2所述的,其特征在于,所述无线设备的运行状态获取方式如下: 打开文件系统下本文档来自技高网
...

【技术保护点】
一种基于龙芯平台的无线设备控制方法,其特征在于:所述方法通过分析RFKill驱动,研究RFKill命令,查询和更改系统中启用了RFKill的设备,将linux内核中关于RFKill模块的开关打开,然后检测系统中的无线设备,实现对打开设备的关闭操作,或阻断某一类设备或者所有启用了RFKill的设备,进而实现设备节能。

【技术特征摘要】

【专利技术属性】
技术研发人员:柳玉巧陈乃阔吴登勇陈亮甫
申请(专利权)人:山东超越数控电子有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1