7

I manage a few hundred Dell 5290 laptops, all running Ubuntu 16.04. On occasion, some of these laptops will boot up in the morning with no wifi access. When I troubleshoot, I see that the Wireless LAN has been soft blocked.

$ rfkill list
0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: yes
    Hard blocked: no

or

$ 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

Of course, I could easily remove this soft block with rfkill unblock all. I could even write a watchdog to monitor the wifi interface and turn off any soft blocks eternally.

But my question is about how this soft block is actually originating? The computers are remotely managed kiosks. There is no keyboard or mouse for someone to enable a software soft block by hand.

dmesg has a comment about platform regulatory issues that, when looking at dmesg output on a functional device, I do not see. No idea if this is relevant.

$ 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
tyleha
  • 254

1 Answers1

8

Check your /var/lib/NetworkManager/NetworkManager.state file and see if WirelessEnabled=false. systemd-rfkill seems to check that file and soft block your interface if found. Set to true and see if that fixes the issue.

tyleha
  • 254
  • 1
    I've still never figured out exactly who or what is modifying NetworkManager.state, but this does the trick. – tyleha Oct 16 '19 at 16:29