启动时 WiFi 被 rfkill 软阻止

启动时 WiFi 被 rfkill 软阻止

我有一台装有 Ubuntu 14.10 的小型 Acer Revo PC,我正在将其配置为便携式媒体中心运行。

我正在尝试将其设置为 WiFi 接入点,以便我可以通过应用程序使用 Android 设备控制 XBMC/Kodi。到目前为止,一切正常。

但是,我遇到了 WiFi 在每次启动时被 rfkill 软阻止的问题。

  • 我尝试在 /etc/rc.local 中解除阻止 (rfkill unblock wifi),但不起作用。导致 rfkill 阻止 WiFi 的原因可能是在 rc.local 运行完成后发生的。
  • 如果我在重启后以足够快的速度通过 SSH 进入 PC,我可以看到 WiFi 实际上可以工作几秒钟,然后被阻止。我也可以在智能手机上看到网络,但它出现后不久就消失了。
  • 我找到了据称存储 rfkill 状态的文件:/var/lib/rfkill/saved-state。将该行更改为 phy0 0 或 phy0 1 并不能解决问题。而且该文件似乎根本没有改变,因此无论用什么存储状态都不起作用。
  • 我尝试删除 rfkill 的 upstart 脚本 (/etc/init/rfkill-[re]store) - 没有任何改善。

对我有用的是 rc.local 中的以下行:

sh -c "sleep 10 && rfkill unblock wifi" &

但这是一个糟糕的解决方法,我必须禁用 AP 和 DHCP 服务的自动启动,并在解除 WiFi 阻塞后在 rc.local 中“手动”启动它们。

是什么原因导致 rfkill 在启动时阻止某些操作?如何禁用此功能?

答案1

我刚刚遇到这个问题并nmcli r wifi on解决了。NetworkManager 在启动完成后关闭了 wifi,这就是启动脚本解决方案对我不起作用的原因。

答案2

您必须将 acer-wmi 内核模块列入黑名单:

sudo nano /etc/modprobe.d/blacklist.conf

在此文件底部添加黑名单 acer_wmi 作为新行。

然后重新启动。

或者如果你喜欢单行:

echo blacklist acer-wmi | sudo tee -a /etc/modprobe.d/blacklist-acer-wmi.conf

其他方法:

“软阻塞”是指“被软件阻塞”。驱动程序或其他内核模块故障可能会导致连接丢失。

help.ubuntu.com/ 上介绍了一些使 WiFi 正常工作的方法

关于此问题还有一个 Launchpad 问题:answers.launchpad.net

您还可以尝试指定设备,例如

rfkill unblock bluetooth

答案3

在我的 acer one 上,blacling acer-wmi 有效,但只有在安装了 firmware-b43-installer 包后才有效。不要问我为什么……我注意到在切换到 lubuntu 之前尝试安装 debian 时丢失了

相关内容