如何在没有 rfkill 命令的情况下阻止 rfkill 模块对我的 wifi 进行硬阻塞?

如何在没有 rfkill 命令的情况下阻止 rfkill 模块对我的 wifi 进行硬阻塞?

前几天我进入了 BIOS,什么都没做,然后重启了。之后,我的 wifi 被硬封锁了。我在网上寻找解决方案,并了解到 rfkill 命令。但我得到了

rfkill: command not found

但是,在启动消息中,我看到有人调用 rfkill 来执行某些操作。我想也许由于某种原因它不在路径中。我确定它确实在路径中。(我今晚会再检查一下。)

我尝试从闪存驱动器运行 Linux Mint,rfkill 命令告诉我我的 wifi 已被硬封锁。我可以解除除 wifi 硬封锁之外的所有封锁。

我的电脑上没有 wifi 开关。键盘上有一个 wifi 按钮(F12),但它不起作用。

我显然想知道如何解决这个问题,但我也想知道为什么会发生这种情况。

更新!2014.10.5 我做了一些调查,我想分享一下,以防有人发现可以解决这个问题的东西。

我仔细阅读了初学者指南,结果如下:

识别无线接口的名称

$ iw dev
wlp3s0

使用 wifi-menu 连接网络

# wifi-menu wlp3s0
Scanning for networks... failed
No networks found

启动接口

# ip link set wlp3s0 up                             
RTNETLINK answers: Operation not possible due to RF-kill

# rfkill list
bash: rfkill: command not found

我在启动消息中看到提到了 rfkill,但在 dmesg 中没有。rfkill 在 Linux Mint 闪存驱动器中有效。当我运行它时,它会更改除硬块之外的所有块。没有硬件开关。

显示已加载的模块:

# lsmod

列出一大份清单,其中包括:

rfkill                 18867  4 cfg80211,toshiba_acpi,bluetooth
iwlwifi               156837  1 iwlmvm
cfg80211              454161  3 iwlwifi,mac80211,iwlmvm

# modinfo rfkill
filename:       /lib/modules/3.16.3-1-ARCH/kernel/net/rfkill/rfkill.ko.gz
license:        GPL
description:    RF switch support
author:         Johannes Berg <[email protected]>
author:         Ivo van Doorn <[email protected]>
depends:        
intree:         Y
vermagic:       3.16.3-1-ARCH SMP preempt mod_unload modversions 
parm:           master_switch_mode:SW_RFKILL_ALL ON should: 0=do nothing (only unlock); 1=restore; 2=unblock all (uint)
parm:           default_state:Default initial state for all radio types, 0 = radio off (uint)

这是否意味着默认情况下所有内容都会被阻止?

如果我将 rfkill 列入黑名单会发生什么?我创建了/etc/modprobe.d/blacklist.conf 里面的内容:

 #do not load this.
 blacklist rfkill

重新启动以查看这是否有任何作用... rfkill 仍处于加载状态。再次重新启动... 收到一系列 iwlwifi 错误:

iwlwifi 0000:03:00.0:
Failed to load firmware chunk!
Could not load the [0] uCode section
Failed to start INIT ucode: -110
Failed to run INIT ucode: -110

我不认为这与新的 conf 文件有关,因为几天前我遇到过这个错误。这种情况不是每次都会发生。至于 conf 文件:我猜它仍然加载,因为有些东西依赖于它。如果我仍然想尝试停止它,我可以使用我读到的安装命令。

但此时,我想我应该尝试重新安装固件?
除此之外,还有其他人有什么意见或想法吗?

答案1

我在 Raspberry 上也遇到了同样的问题。一个简单的

sudo apt-get install rfkill

完成了这项工作。然后我能够使用

rfkill unblock all

答案2

检查您的udev规则...如果有类似的规则,请将其注释掉(或设置ATTR{state}="1"):

# SUBSYSTEM=="rfkill", ATTR{type}=="bluetooth", ATTR{state}="0"

同时可以定义 rfkill 的默认状态设备/etc/modprobe.d/modprobe.conf

options rfkill master_switch_mode=2
options rfkill default_state=1

而在大多数情况下,ACPIWMI模块负责调度硬件按钮,这些按钮无法正常工作,因此使收音机处于“硬关闭”状态,无法通过软件启用。可以将这些模块列入黑名单:

blacklist hp_wmi
blacklist acer_wmi
...

普通lsmod | grep -e wmi -e acpi应该显示它是哪一个......而列出的模块toshiba_acpi可能值得尝试blacklist toshiba_acpi(这可能需要另一个内核开关,以使背光亮度正常工作)。

rfkill命令甚至可以在薄荷,而 的输出rfkill list会很有趣,以便确定它是“硬阻塞”(由硬件按钮引起)还是“软阻塞”。

答案3

添加此行/etc/modprobe.d/blacklist.conf

blacklist wmi

rfkill 将显示:

0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

答案4

mint 19 和 levono z560,(无蓝牙)

pc 被 rfkill 硬阻止,不是来自硬件开关,也不是键盘。

在电脑关闭时拔掉笔记本电脑电源线(是的,关闭)可启用 wifi,不会阻止 rfkill。我的电池电量不足,我认为如果他们认为电池电量不足,他们就会阻止无线连接。

帮我修好了!!!

相关内容