嵌入式linux开发板上增加rfkill命令
很多计算机系统包含无线电传输,其中包括Wi-Fi、蓝牙和3G设备。这些设备消耗电源,在不使用这些设备时是一种浪费。 RFKill是Linux内核中的一个子系统,它可提供一个界面,在此界面中可查询、激活并取消激活计算机系统中的无线电传输。当取消激活传输时,可使其处于可被软件重新激活的状态(软锁定)或者将其放在软件无法重新激活的位置(硬锁定)。 RFKill核为子系统提供应用程序编程界面(API)。内
·
很多计算机系统包含无线电传输,其中包括Wi-Fi、蓝牙和3G设备。这些设备消耗电源,在不使用这些设备时是一种浪费。
RFKill是Linux内核中的一个子系统,它可提供一个界面,在此界面中可查询、激活并取消激活计算机系统中的无线电传输。当取消激活传输时,可使其处于可被软件重新激活的状态(软锁定)或者将其放在软件无法重新激活的位置(硬锁定)。
RFKill核为子系统提供应用程序编程界面(API)。内核驱动程序被设计为支持RFKill使用这个API注册内核,并包含启用和禁用这个设备的方法。另外,RFKill核提供用户程序可解读的通知以及用户程序查询传输状态的方法。
RFKill界面位于/dev/rfkill,其中包含系统中所有无线电传输的当前状态。每个设备都在sysfs中注册当前RFKill状态。另外,在启用了RFKill的设备中每当状态更改时,RFKill会发出uevents。
Rfkill是一个命令行工具,您可使用它查询和更改系统中启用了RFKill的设备。要获得这个工具,请安装rfkill软件包。
硬件环境:FREESCALE IMX6Q开发板
系统环境:linux-3.14.52
交叉编译工具:arm-linux-gnueabihf-gcc 4.9.2版本
命令安装流程:
1. 内核配置
make menuconfig ARCH=arm
1.1 Networking support->
1.2 Networking support->RF switch subsystem support
1.3 至此,linux系统启动时会自动生成/dev/rfkill这个虚拟设备文件。
2. busybox配置
2.1Miscellaneous Utilities->
2.2至此,将生成rfkill命令
3. 使用命令rfkill
list获得设备列表,每个都包含与之关联的索引号,从0开始。您可以使用这个索引号让rfkill停止使用或者使用某个设备,例如:
rfkill block 0
停用系统中第一个启用RFKill的设备。
您还可以使用rfkill阻断某一类设备,或者所有启用了RFKill的设备。例如:
rfkill block wifi
停用系统中的所有Wi-Fi设备。要停用所有启用了RFKill的设备,请运行:
rfkill block all
要重新使用设备,请运行rfkill
unblock,而不是rfkill
block。要获得rfkill可停用的完整设备类别列表,请运行rfkill
help。
RFKill是Linux内核中的一个子系统,它可提供一个界面,在此界面中可查询、激活并取消激活计算机系统中的无线电传输。当取消激活传输时,可使其处于可被软件重新激活的状态(软锁定)或者将其放在软件无法重新激活的位置(硬锁定)。
RFKill核为子系统提供应用程序编程界面(API)。内核驱动程序被设计为支持RFKill使用这个API注册内核,并包含启用和禁用这个设备的方法。另外,RFKill核提供用户程序可解读的通知以及用户程序查询传输状态的方法。
RFKill界面位于/dev/rfkill,其中包含系统中所有无线电传输的当前状态。每个设备都在sysfs中注册当前RFKill状态。另外,在启用了RFKill的设备中每当状态更改时,RFKill会发出uevents。
Rfkill是一个命令行工具,您可使用它查询和更改系统中启用了RFKill的设备。要获得这个工具,请安装rfkill软件包。
硬件环境:FREESCALE IMX6Q开发板
系统环境:linux-3.14.52
交叉编译工具:arm-linux-gnueabihf-gcc 4.9.2版本
命令安装流程:
1. 内核配置
make menuconfig ARCH=arm
1.1 Networking support->
1.2 Networking support->RF switch subsystem support
1.3 至此,linux系统启动时会自动生成/dev/rfkill这个虚拟设备文件。
2. busybox配置
2.1Miscellaneous Utilities->
2.2至此,将生成rfkill命令
3. 使用命令rfkill
list获得设备列表,每个都包含与之关联的索引号,从0开始。您可以使用这个索引号让rfkill停止使用或者使用某个设备,例如:
rfkill block 0
停用系统中第一个启用RFKill的设备。
您还可以使用rfkill阻断某一类设备,或者所有启用了RFKill的设备。例如:
rfkill block wifi
停用系统中的所有Wi-Fi设备。要停用所有启用了RFKill的设备,请运行:
rfkill block all
要重新使用设备,请运行rfkill
unblock,而不是rfkill
block。要获得rfkill可停用的完整设备类别列表,请运行rfkill
help。
更多推荐
已为社区贡献4条内容
所有评论(0)