rfkill fails to turn on wifi card on Dell Latitude 5490

Bug #1947558 reported by Gilbert Fernandes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
util-linux (Ubuntu)
New
Undecided
Unassigned

Bug Description

Laptop is a Dell Latitude 5490
Was using Windows 10 and installed Ubuntu 20.04
All updates are installed, all firmwares are up to date.

Machine was crashing on sleep : would go into sleep, then waking the machine up would do a full system restart. Edited the file /etc/systemd/sleep.conf to have a line "SuspendState=mem"

The machine now suspends and wakes properly. But... Once the machine comes back from sleep, the wifi card is dead. Rebooting does not fix the issue, only a full shutdown then restart brings the wifi card back.

When doing a tail -f on the /var/log/syslog I can see that rfkill is used to bring the Wifi card back.

Here is what happens when laptop goes into sleep :

Oct 18 09:53:29 alpha systemd[1]: Starting Suspend...
Oct 18 09:53:29 alpha systemd-sleep[3046]: Suspending system...

Oct 18 09:53:29 alpha kernel: [ 136.204296] PM: suspend entry (deep)
Oct 18 09:53:29 alpha systemd[1]: Starting GRUB failed boot detection...
Oct 18 09:53:29 alpha kernel: [ 136.228964] Filesystems sync: 0.024 seconds
Oct 18 09:53:29 alpha systemd[1]: grub-initrd-fallback.service: Succeeded.
Oct 18 09:53:29 alpha systemd[1]: Finished GRUB failed boot detection.
Oct 18 09:55:40 alpha kernel: [ 136.495878] Freezing user space processes ... (elapsed 0.003 seconds) done.
Oct 18 09:55:40 alpha kernel: [ 136.499361] OOM killer disabled.
Oct 18 09:55:40 alpha kernel: [ 136.499363] Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
Oct 18 09:55:40 alpha kernel: [ 136.500427] printk: Suspending console(s) (use no_console_suspend to debug)
Oct 18 09:55:40 alpha kernel: [ 136.529343] sd 2:0:0:0: [sda] Synchronizing SCSI cache
Oct 18 09:55:40 alpha kernel: [ 136.534871] sd 2:0:0:0: [sda] Stopping disk
Oct 18 09:55:40 alpha kernel: [ 136.580654] ACPI: EC: interrupt blocked
Oct 18 09:55:40 alpha kernel: [ 136.624750] ACPI: Preparing to enter system sleep state S3
Oct 18 09:55:40 alpha kernel: [ 136.635044] ACPI: EC: event blocked
Oct 18 09:55:40 alpha kernel: [ 136.635046] ACPI: EC: EC stopped
Oct 18 09:55:40 alpha kernel: [ 136.635047] PM: Saving platform NVS memory
Oct 18 09:55:40 alpha kernel: [ 136.635149] Disabling non-boot CPUs ...
Oct 18 09:55:40 alpha kernel: [ 136.636740] smpboot: CPU 1 is now offline
Oct 18 09:55:40 alpha kernel: [ 136.639254] smpboot: CPU 2 is now offline
Oct 18 09:55:40 alpha kernel: [ 136.641610] smpboot: CPU 3 is now offline
Oct 18 09:55:40 alpha kernel: [ 136.643970] smpboot: CPU 4 is now offline
Oct 18 09:55:40 alpha kernel: [ 136.645806] IRQ 122: no longer affine to CPU5
Oct 18 09:55:40 alpha kernel: [ 136.645815] IRQ 128: no longer affine to CPU5
Oct 18 09:55:40 alpha kernel: [ 136.646820] smpboot: CPU 5 is now offline
Oct 18 09:55:40 alpha kernel: [ 136.647982] IRQ 124: no longer affine to CPU6
Oct 18 09:55:40 alpha kernel: [ 136.649021] smpboot: CPU 6 is now offline
Oct 18 09:55:40 alpha kernel: [ 136.650373] IRQ 126: no longer affine to CPU7
Oct 18 09:55:40 alpha kernel: [ 136.650382] IRQ 129: no longer affine to CPU7
Oct 18 09:55:40 alpha kernel: [ 136.651394] smpboot: CPU 7 is now offline
Oct 18 09:55:40 alpha kernel: [ 136.654659] ACPI: Low-level resume complete
Oct 18 09:55:40 alpha kernel: [ 136.654749] ACPI: EC: EC started
Oct 18 09:55:40 alpha kernel: [ 136.654750] PM: Restoring platform NVS memory
Oct 18 09:55:40 alpha kernel: [ 136.655504] Enabling non-boot CPUs ...
Oct 18 09:55:40 alpha kernel: [ 136.655548] x86: Booting SMP configuration:
Oct 18 09:55:40 alpha kernel: [ 136.655549] smpboot: Booting Node 0 Processor 1 APIC 0x2
Oct 18 09:55:40 alpha kernel: [ 136.656533] CPU1 is up
Oct 18 09:55:40 alpha kernel: [ 136.656552] smpboot: Booting Node 0 Processor 2 APIC 0x4
Oct 18 09:55:40 alpha kernel: [ 136.657153] CPU2 is up
Oct 18 09:55:40 alpha kernel: [ 136.657171] smpboot: Booting Node 0 Processor 3 APIC 0x6
Oct 18 09:55:40 alpha kernel: [ 136.657774] CPU3 is up
Oct 18 09:55:40 alpha kernel: [ 136.657792] smpboot: Booting Node 0 Processor 4 APIC 0x1
Oct 18 09:55:40 alpha kernel: [ 136.658525] CPU4 is up
Oct 18 09:55:40 alpha kernel: [ 136.658547] smpboot: Booting Node 0 Processor 5 APIC 0x3
Oct 18 09:55:40 alpha kernel: [ 136.659182] CPU5 is up
Oct 18 09:55:40 alpha kernel: [ 136.659201] smpboot: Booting Node 0 Processor 6 APIC 0x5
Oct 18 09:55:40 alpha kernel: [ 136.659849] CPU6 is up
Oct 18 09:55:40 alpha kernel: [ 136.659868] smpboot: Booting Node 0 Processor 7 APIC 0x7
Oct 18 09:55:40 alpha kernel: [ 136.660511] CPU7 is up
Oct 18 09:55:40 alpha kernel: [ 136.662946] ACPI: Waking up from system sleep state S3
Oct 18 09:55:40 alpha kernel: [ 136.717996] ACPI: EC: interrupt unblocked
Oct 18 09:55:40 alpha kernel: [ 136.801154] ACPI: EC: event unblocked
Oct 18 09:55:40 alpha kernel: [ 136.803505] usb usb1: root hub lost power or was reset
Oct 18 09:55:40 alpha kernel: [ 136.803619] usb usb2: root hub lost power or was reset
Oct 18 09:55:40 alpha kernel: [ 136.803618] iwlwifi 0000:02:00.0: reporting RF_KILL (radio disabled)
Oct 18 09:55:40 alpha kernel: [ 136.803668] sd 2:0:0:0: [sda] Starting disk
Oct 18 09:55:40 alpha kernel: [ 136.804906] iwlwifi 0000:02:00.0: RF_KILL bit toggled to disable radio.

We see the RF_KILL bit is toggled.

When the machine is resumed :

Oct 18 10:00:17 alpha systemd[1]: Starting Load/Save RF Kill Switch Status...
Oct 18 10:00:17 alpha systemd[1]: Started Load/Save RF Kill Switch Status.
Oct 18 10:00:19 alpha kernel: [ 417.390529] Bluetooth: hci0: command 0x0c03 tx timeout
Oct 18 10:00:20 alpha bluetoothd[778]: Endpoint unregistered: sender=:1.72 path=/MediaEndpoint/A2DPSink/sbc
Oct 18 10:00:20 alpha bluetoothd[778]: Endpoint unregistered: sender=:1.72 path=/MediaEndpoint/A2DPSource/sbc
Oct 18 10:00:20 alpha kernel: [ 418.331864] usb 1-7: USB disconnect, device number 4
Oct 18 10:00:20 alpha kernel: [ 418.332086] Bluetooth: hci0: HCI reset during shutdown failed
Oct 18 10:00:20 alpha systemd[1772]: Stopped target Bluetooth.
Oct 18 10:00:20 alpha systemd[1]: Stopped target Bluetooth.
Oct 18 10:00:20 alpha NetworkManager[784]: <info> [1634544020.6595] manager: rfkill: WWAN hardware radio set disabled
Oct 18 10:00:20 alpha NetworkManager[784]: <info> [1634544020.6597] audit: op="radio-control" arg="wwan-enabled" pid=2153 uid=1000 result="success"

At this point, the Wifi card is dead.
If I try to turn it on in console it says the interface cannot do from DOWN to UP because RFKILL bit is set :

gilbert@alpha:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether d4:3b:04:38:28:b3 brd ff:ff:ff:ff:ff:ff
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:ae:01:be:41 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
gilbert@alpha:~$ sudo ifconfig wlp2s0 up
[sudo] password for gilbert:
SIOCSIFFLAGS: Operation not possible due to RF-kill

Rebooting : wifi card stays disabled.
Turning Off then On : wifi card comes back

I have been able to fix the crash on suspend but I don't know how to have the wifi card come back properly when it comes back from sleep.

The system reports that deep S2 sleep is enabled :

gilbert@alpha:/sys/power/suspend_stats$ cat /sys/power/mem_sleep
s2idle [deep]

If I try to use the Fn + Airplane mode to turn it off, then on again, this happens :

Oct 18 10:00:53 alpha kernel: [ 451.484240] atkbd serio0: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).
Oct 18 10:00:53 alpha kernel: [ 451.484256] atkbd serio0: Use 'setkeycodes e008 <keycode>' to make it known.
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 31 with keysym 31 (keycode a).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 32 with keysym 32 (keycode b).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 33 with keysym 33 (keycode c).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 34 with keysym 34 (keycode d).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 35 with keysym 35 (keycode e).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 38 with keysym 38 (keycode 11).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 39 with keysym 39 (keycode 12).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 36 with keysym 36 (keycode f).
Oct 18 10:00:53 alpha gnome-shell[2012]: Window manager warning: Overwriting existing binding of keysym 37 with keysym 37 (keycode 10).
Oct 18 10:00:53 alpha systemd[1]: Starting Load/Save RF Kill Switch Status...
Oct 18 10:00:53 alpha systemd[1]: Started Load/Save RF Kill Switch Status.
Oct 18 10:00:53 alpha NetworkManager[784]: <info> [1634544053.9696] manager: rfkill: WWAN hardware radio set enabled
Oct 18 10:00:53 alpha NetworkManager[784]: <info> [1634544053.9698] audit: op="radio-control" arg="wwan-enabled" pid=2153 uid=1000 result="success"
Oct 18 10:00:54 alpha kernel: [ 451.920779] usb 1-7: new full-speed USB device number 5 using xhci_hcd
Oct 18 10:00:54 alpha kernel: [ 452.070633] usb 1-7: New USB device found, idVendor=8087, idProduct=0a2b, bcdDevice= 0.10
Oct 18 10:00:54 alpha kernel: [ 452.070649] usb 1-7: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Oct 18 10:00:54 alpha kernel: [ 452.073972] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
Oct 18 10:00:54 alpha kernel: [ 452.074934] Bluetooth: hci0: Device revision is 16
Oct 18 10:00:54 alpha kernel: [ 452.074943] Bluetooth: hci0: Secure boot is enabled
Oct 18 10:00:54 alpha kernel: [ 452.074947] Bluetooth: hci0: OTP lock is enabled
Oct 18 10:00:54 alpha kernel: [ 452.074950] Bluetooth: hci0: API lock is enabled
Oct 18 10:00:54 alpha kernel: [ 452.074952] Bluetooth: hci0: Debug lock is disabled
Oct 18 10:00:54 alpha kernel: [ 452.074955] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
Oct 18 10:00:54 alpha kernel: [ 452.075411] Bluetooth: hci0: Found device firmware: intel/ibt-12-16.sfi
Oct 18 10:00:54 alpha upowerd[1066]: treating change event as add on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-7
Oct 18 10:00:54 alpha systemd[1]: Reached target Bluetooth.
Oct 18 10:00:54 alpha systemd[1772]: Reached target Bluetooth.
Oct 18 10:00:56 alpha kernel: [ 453.868856] Bluetooth: hci0: Waiting for firmware download to complete
Oct 18 10:00:56 alpha kernel: [ 453.869857] Bluetooth: hci0: Firmware loaded in 1754422 usecs
Oct 18 10:00:56 alpha kernel: [ 453.869923] Bluetooth: hci0: Waiting for device to boot
Oct 18 10:00:56 alpha kernel: [ 453.881818] Bluetooth: hci0: Device booted in 11672 usecs
Oct 18 10:00:56 alpha kernel: [ 453.881889] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-12-16.ddc
Oct 18 10:00:56 alpha kernel: [ 453.884842] Bluetooth: hci0: Applying Intel DDC parameters completed
Oct 18 10:00:56 alpha kernel: [ 453.885878] Bluetooth: hci0: Reading supported features failed (-16)
Oct 18 10:00:56 alpha kernel: [ 453.886853] Bluetooth: hci0: Setting Intel telemetry ddc write event mask failed (-95)
Oct 18 10:00:56 alpha kernel: [ 453.887853] Bluetooth: hci0: Firmware revision 0.1 build 50 week 12 2019
Oct 18 10:00:56 alpha bluetoothd[778]: Endpoint registered: sender=:1.72 path=/MediaEndpoint/A2DPSink/sbc
Oct 18 10:00:56 alpha bluetoothd[778]: Endpoint registered: sender=:1.72 path=/MediaEndpoint/A2DPSource/sbc
Oct 18 10:00:59 alpha systemd[1]: systemd-rfkill.service: Succeeded.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: rfkill 2.34-0.1ubuntu9.1
ProcVersionSignature: Ubuntu 5.11.0-37.41~20.04.2-generic 5.11.22
Uname: Linux 5.11.0-37-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.20
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Mon Oct 18 10:07:02 2021
InstallationDate: Installed on 2021-10-08 (9 days ago)
InstallationMedia: Ubuntu 20.04.3 LTS "Focal Fossa" - Release amd64 (20210819)
SourcePackage: util-linux
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Gilbert Fernandes (gilbertfernandes-stime) wrote :
Revision history for this message
Gilbert Fernandes (gilbertfernandes-stime) wrote :

tried to use rfkill to bring the wifi card back, fails :

after wake from suspend :

gilbert@alpha:~$ sudo rfkill list
1: dell-wifi: Wireless LAN
 Soft blocked: no
 Hard blocked: no
2: dell-bluetooth: Bluetooth
 Soft blocked: no
 Hard blocked: no
3: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: yes
4: hci0: Bluetooth
 Soft blocked: no
 Hard blocked: no

trying to turn on :

gilbert@alpha:~$ sudo rfkill unblock 3
gilbert@alpha:~$ sudo rfkill
ID TYPE DEVICE SOFT HARD
 1 wlan dell-wifi unblocked unblocked
 2 bluetooth dell-bluetooth unblocked unblocked
 3 wlan phy0 unblocked blocked
 4 bluetooth hci0 unblocked unblocked

The RF Kill is done on suspend
And it does not work to bring the Wifi card ON when resuming the laptop.

Revision history for this message
Gilbert Fernandes (gilbertfernandes-stime) wrote :

Note : it might be a problem in the ilwifi driver. I am not sure.
Perhaps rf-kill does the block properly on suspend
But fails to unblock the card because the ilwifi driver does not bring it back from "hardware lock" to "available" on resume.
So I am not sure of where the problem is, but I tend to think that it's a ilwifi problem :/

https://bugs.launchpad.net/ubuntu/+source/backport-iwlwifi-dkms/+bug/1947561

How can I make sure rfkill does ask properly to the kernel/module to unlock the hardware wifi card, and confirm this is a ilwifi problem ?

Revision history for this message
Gilbert Fernandes (gilbertfernandes-stime) wrote :

Found a fix :

Get into Bios (F2 At boot)
Go to : Power Management -> Wireless Radio Control -> Turn everything OFF

This prevents hardware lock of wifi card when going into suspend and undocking from Dell dock.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.