关于Linux的WiFi总是处于software block : yes

一直没有弄清楚为什么会出现这样的情况。先占一个坑,将现象和解决办法记录下来。

现象:WiFi一直处于关闭状态,且点击打开按钮后,马上恢复到关闭状态,造成一种打不开的现象,也就无法使用wifi。

运行下面的命令,如下显示:

 

然后可以通过下面的命令来解除Soft blocked的这种状态,如下:

显然通过此方法可以将wifi的这种软件堵塞给解除,并且可以正常使用:

但是这是为什么呢?并且使用这种方法只能实现此次开机可以正常使用,若再次开机,仍然需要再次执行此操作。这是为什么呢?首先要知道这个modprobe这个命令是干什么的,可以实现什么样的功能。如下:

DESCRIPTION
       modprobe intelligently adds or removes a module from the Linux kernel:
       note that for convenience, there is no difference between _ and - in
       module names (automatic underscore conversion is performed).  modprobe
       looks in the module directory /lib/modules/`uname -r` for all the
       modules and other files, except for the optional configuration files in
       the /etc/modprobe.d directory (see modprobe.d(5)).  modprobe will also
       use module options specified on the kernel command line in the form of
       <module>.<option> and blacklists in the form of
       modprobe.blacklist=<module>.

       Note that unlike in 2.4 series Linux kernels (which are not supported
       by this tool) this version of modprobe does not do anything to the
       module itself: the work of resolving symbols and understanding
       parameters is done inside the kernel. So module failure is sometimes
       accompanied by a kernel message: see dmesg(8).

       modprobe expects an up-to-date modules.dep.bin file (or fallback human
       readable modules.dep file), as generated by the corresponding depmod
       utility shipped along with modprobe (see depmod(8)). This file lists
       what other modules each module needs (if any), and modprobe uses this
       to add or remove these dependencies automatically.

       If any arguments are given after the modulename, they are passed to the
       kernel (in addition to any options listed in the configuration file).

-r, --remove
           This option causes modprobe to remove rather than insert a module.
           If the modules it depends on are also unused, modprobe will try to
           remove them too. Unlike insertion, more than one module can be
           specified on the command line (it does not make sense to specify
           module parameters when removing modules).

           There is usually no reason to remove modules, but some buggy
           modules require it. Your distribution kernel may not have been
           built to support removal of modules at all.

 只要将其加入一个黑名单就好了,可以阻止系统在一开机的时候就加载acer_wmi模块。如下:

 保存后,就可以再也不用饱受它之苦了~

posted @ 2016-03-29 15:52  小杀特杀宇  阅读(713)  评论(0编辑  收藏  举报