我管理着几百台戴尔 5290 笔记本电脑,全部运行 Ubuntu 16.04。有时,其中一些笔记本电脑会在早上启动时无法访问 wifi。当我排除故障时,我发现无线局域网已被软阻止。
$ rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
或者
$ sudo lshw -C network
*-network DISABLED
description: Wireless interface
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:01:00.0
logical name: wlan0
version: 78
serial: 88:b1:11:6c:f0:f7
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=4.15.0-47-generic firmware=34.0.1 latency=0 link=no multicast=yes wireless=IEEE 802.11
resources: irq:145 memory:d1500000-d1501fff
当然,我可以用 轻松移除这个软封锁rfkill unblock all
。我甚至可以编写一个看门狗来监控 wifi 接口并永久关闭任何软封锁。
但我的问题是,这种软封锁究竟是如何发生的?这些计算机是远程管理的信息亭。没有键盘或鼠标可供用户手动启用软件软封锁。
dmesg
有一条关于平台监管问题的评论,但在查看dmesg
功能性设备上的输出时,我看不到。不知道这是否相关。
$ dmesg | grep -i firmware
[ 0.028000] Spectre V2 : Enabling Restricted Speculation for firmware calls
[ 0.065082] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[ 2.216861] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_01.bin (v1.1)
[ 2.752085] Bluetooth: hci0: Firmware revision 0.1 build 173 week 45 2017
[ 2.931360] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 2.961437] iwlwifi 0000:01:00.0: loaded firmware version 34.0.1 op_mode iwlmvm
答案1
检查您的/var/lib/NetworkManager/NetworkManager.state
文件,看看是否WirelessEnabled=false
。systemd-rfkill
似乎会检查该文件,如果发现则软阻止您的界面。设置为 true,看看是否能解决问题。