好记性不如铅笔头

linux, 操作系统

【转】SIOCSIFFLAGS: Operation not possible due to RF-kill

本文转自【 http://www.linuxdiyf.com/linux/18948.html

在ubuntu环境下使用wifi的时候,可能会遇到这个问题:SIOCSIFFLAGS: Operation not possible
due to RF-kill。有文章说这是ubuntu系统的一个bug。这个bug最早是 Ubuntu
10.10的时候就已经出现了,但是直到现在的ubuntu12.04-LTS,这个问题依然存在,这不能不说是一个遗憾。但是遗憾归遗憾,一个系统难免会存在这样或者那样的问题。有问题并不可怕,关键是要找到解决问题的方法。鉴于网上关于这个问题的解决方法,大部分都是英文的,不少朋友见到英文就头痛。好吧,结合我自己的一些经验和网上的一些资料,下面我们就一起来分析一下这个问题。


我是在用ubuntu12.04-LTS创建AP给Android手机使的时候遇到这个问题的。如下所示:

 这个是什么错误,什么又是RF-kill呢?
使用ubuntu自带的帮助文档可以查得,RF-KILL其实是一个打开和关闭无线设备的工具。 由此可以知道,这是一打开无线设备(wifi)的错误。

为了查看当前的无限网卡的状态,我们可以执行命令rfkill list all——列出所有无线设备的当前状态。结果如下:

其实,根据你的wif的状态,Hard blocked的值将会是yes或者no。你按一下wifi按键,再次执行一下rfkill list all去确认一下Hard blocked的值。
 同时,如果细心点你会发现,Soft blocked的值却永远是yes,并不会随着Hard blocked的值的改变而改变。所以我们可以知道,由于系统出现了某种故障(我们不深入去分析这个),从而导致Hard blocked和 software blocked之间的同步失败了。这到底是什么原因呢?由于水平有限,没有办法去跟大家深入分析这个问题。不过可以向大家推荐《“SIOCSIFFLAGS: Operation not possible due to RF-kill”?》(http://askubuntu.com/questions/62166/siocsifflags-operation-not-possible-due-to-rf-kill)。我们现在更关心的是如何去解决这个问题。

根据ubuntu系统自带的帮助文档说明,你可以使用命令rfkill unblock wifi来启动wifi。这时wifi就可以正常工作了。为了证实一下,你可以执行 rfkill list all看一下就结果。然后点击wifi按键,再执行一下 rfkill list all,对比一下这两次的结果,看看Hard blocked和 software blocked协调了?

这时候,你就可以使用ifconfig wlan0 up来启动你的无限网卡啦。看看是不是可以了?

发表评论

2 + 12 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据