Cannot suspend without `rfkill block bluetooth`

I can successfully suspend only suspend after rfkill block all.

This is the syslog when sucessful:

Sep 05 16:47:34 svelte sudo[13363]:     ravi : TTY=pts/6 ; PWD=/home/ravi ; USER=root ; COMMAND=/usr/bin/tee /sys/power/state
Sep 05 16:47:34 svelte sudo[13363]: pam_unix(sudo:session): session opened for user root by (uid=0)
Sep 05 16:47:34 svelte kernel: PM: suspend entry (s2idle)
Sep 05 16:47:58 svelte kernel: Filesystems sync: 0.038 seconds
Sep 05 16:47:58 svelte kernel: Freezing user space processes ... (elapsed 0.002 seconds) done.
Sep 05 16:47:58 svelte kernel: OOM killer disabled.
Sep 05 16:47:58 svelte kernel: Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Sep 05 16:47:58 svelte kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Sep 05 16:47:58 svelte kernel: [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
Sep 05 16:47:58 svelte kernel: [drm] GuC: Loaded firmware i915/kbl_guc_ver9_39.bin (version 9.39)
Sep 05 16:47:58 svelte kernel: i915 0000:00:02.0: GuC firmware version 9.39
Sep 05 16:47:58 svelte kernel: i915 0000:00:02.0: GuC submission disabled
Sep 05 16:47:58 svelte kernel: i915 0000:00:02.0: HuC enabled
Sep 05 16:47:58 svelte kernel: nvme nvme0: 8/0/0 default/read/poll queues
Sep 05 16:47:58 svelte kernel: OOM killer enabled.
Sep 05 16:47:58 svelte kernel: Restarting tasks ... done.
Sep 05 16:47:58 svelte kernel: thermal thermal_zone9: failed to read out thermal zone (-61)
Sep 05 16:47:58 svelte sudo[13363]: pam_unix(sudo:session): session closed for user root
Sep 05 16:47:58 svelte kernel: PM: suspend exit

After rfkill unblock all, suspend only flashes the screen black. Here's the log:

Sep 05 16:51:24 svelte kernel: PM: suspend entry (s2idle)
Sep 05 16:51:25 svelte kernel: Filesystems sync: 0.022 seconds
Sep 05 16:51:25 svelte kernel: Freezing user space processes ... (elapsed 0.002 seconds) done.
Sep 05 16:51:25 svelte kernel: OOM killer disabled.
Sep 05 16:51:25 svelte kernel: Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Sep 05 16:51:25 svelte kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Sep 05 16:51:25 svelte kernel: wlo1: deauthenticating from c8:3a:35:18:86:a0 by local choice (Reason: 3=DEAUTH_LEAVING)
Sep 05 16:51:25 svelte kernel: iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
Sep 05 16:51:25 svelte kernel: [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
Sep 05 16:51:25 svelte kernel: [drm] GuC: Loaded firmware i915/kbl_guc_ver9_39.bin (version 9.39)
Sep 05 16:51:25 svelte kernel: i915 0000:00:02.0: GuC firmware version 9.39
Sep 05 16:51:25 svelte kernel: i915 0000:00:02.0: GuC submission disabled
Sep 05 16:51:25 svelte kernel: i915 0000:00:02.0: HuC enabled
Sep 05 16:51:25 svelte kernel: iwlwifi 0000:00:14.3: Applying debug destination EXTERNAL_DRAM
Sep 05 16:51:25 svelte kernel: iwlwifi 0000:00:14.3: FW already configured (0) - re-configuring
Sep 05 16:51:25 svelte kernel: nvme nvme0: 8/0/0 default/read/poll queues
Sep 05 16:51:25 svelte kernel: OOM killer enabled.
Sep 05 16:51:25 svelte kernel: Restarting tasks ... done.
Sep 05 16:51:25 svelte wpa_supplicant[943]: wlo1: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=0 noise=9999 txrate=0
Sep 05 16:51:25 svelte wpa_supplicant[943]: wlo1: CTRL-EVENT-DISCONNECTED bssid=c8:3a:35:18:86:a0 reason=3 locally_generated=1
Sep 05 16:51:25 svelte wpa_supplicant[943]: dbus: wpa_dbus_property_changed: no property SessionLength in object /fi/w1/wpa_supplicant1/Interfaces/1
Sep 05 16:51:25 svelte wpa_supplicant[943]: wlo1: Reject scan trigger since one is already pending
Sep 05 16:51:25 svelte wpa_supplicant[943]: wlo1: Failed to initiate AP scan
Sep 05 16:51:25 svelte wpa_supplicant[943]: wlo1: CTRL-EVENT-REGDOM-CHANGE init=DRIVER type=WORLD
Sep 05 16:51:25 svelte NetworkManager[836]: <warn>  [1567677085.8897] sup-iface[0x55ade6a4c9f0,wlo1]: connection disconnected (reason -3)
Sep 05 16:51:25 svelte NetworkManager[836]: <info>  [1567677085.8949] device (wlo1): supplicant interface state: completed -> disconnected
Sep 05 16:51:25 svelte NetworkManager[836]: <info>  [1567677085.8949] device (p2p-dev-wlo1): supplicant management interface state: completed -> disconnected
Sep 05 16:51:25 svelte sudo[14015]: pam_unix(sudo:session): session closed for user root
Sep 05 16:51:25 svelte kernel: PM: suspend exit

How can I suspend/resume without needing to fiddle with rfkill?

You either need to find the tlp power saving settings for your Bluetooth and WiFi and modify them, or create a service to unload/load your network components at suspend/resume. I have written many services for this.

Please post:

inxi -Fxxxz
1 Like
% inxi -Fxxxz
System:    Host: svelte Kernel: 5.2.11-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.1.0 Desktop: Xfce 4.14.1 tk: Gtk 3.24.10
           info: xfce4-panel wm: xfwm4 dm: LightDM 1.30.0 Distro: Manjaro Linux
Machine:   Type: Laptop System: ASUSTeK product: ZenBook UX533FD_UX533FD v: 1.0 serial: <filter>
           Mobo: ASUSTeK model: UX533FD v: 1.0 serial: <filter> UEFI: American Megatrends v: UX533FD.304 date: 05/24/2019
Battery:   ID-1: BAT0 charge: 68.9 Wh condition: 69.6/73.0 Wh (95%) volts: 15.6/15.6 model: ASUSTeK ASUS Battery type: Li-ion
           serial: <filter> status: Charging cycles: 5
CPU:       Topology: Quad Core model: Intel Core i7-8565U bits: 64 type: MT MCP arch: Kaby Lake rev: B L2 cache: 8192 KiB
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 31880
           Speed: 700 MHz min/max: 400/4600 MHz Core speeds (MHz): 1: 691 2: 700 3: 700 4: 700 5: 693 6: 692 7: 699 8: 700
Graphics:  Device-1: Intel UHD Graphics 620 vendor: ASUSTeK driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:3ea0
           Device-2: NVIDIA GP107M [GeForce GTX 1050 Mobile] vendor: ASUSTeK driver: N/A bus ID: 02:00.0 chip ID: 10de:1c8d
           Display: x11 server: X.org 1.20.5 driver: intel resolution: <xdpyinfo missing>
           OpenGL: renderer: Mesa DRI Intel HD Graphics (Whiskey Lake 3x8 GT2) v: 4.5 Mesa 19.1.5 compat-v: 3.0
           direct render: Yes
Audio:     Device-1: Intel Cannon Point-LP High Definition Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
           bus ID: 00:1f.3 chip ID: 8086:9dc8
           Sound Server: ALSA v: k5.2.11-1-MANJARO
Network:   Device-1: Intel Cannon Point-LP CNVi [Wireless-AC] driver: iwlwifi v: kernel port: 4000 bus ID: 00:14.3
           chip ID: 8086:9df0
           IF: wlo1 state: up mac: <filter>
           IF-ID-1: zt0 state: unknown speed: 10 Mbps duplex: full mac: <filter>
Drives:    Local Storage: total: 476.94 GiB used: 193.00 GiB (40.5%)
           ID-1: /dev/nvme0n1 vendor: Western Digital model: PC SN520 SDAPNUW-512G-1002 size: 476.94 GiB speed: 15.8 Gb/s
           lanes: 2 serial: <filter> rev: 20110000 scheme: GPT
Partition: ID-1: / size: 64.00 GiB used: 44.59 GiB (69.7%) fs: btrfs dev: /dev/dm-2
           ID-2: /home size: 395.93 GiB used: 148.12 GiB (37.4%) fs: btrfs dev: /dev/dm-1
           ID-3: swap-1 size: 16.50 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/nvme0n1p2
Sensors:   System Temperatures: cpu: 62.0 C mobo: N/A
           Fan Speeds (RPM): N/A
Info:      Processes: 410 Uptime: 45m Memory: 15.48 GiB used: 2.69 GiB (17.4%) Init: systemd v: 242 Compilers: gcc: 9.1.0
           clang: 8.0.1 Shell: zsh v: 5.7.1 running in: server inxi: 3.0.36
%

I've narrowed it down to just bluetooth.

I recently migrated to a new hardware platform, and my old bluetooth pairings stopped working.

Perhaps it's got to do with my new hardware having a new bluetooth MAC address?

Do you use bluetooth regularly.

Yes, for mouse and speakers. The other think I've noticed is that my mouse is laggy on this new hardware. Seems like I have a bluetooth problem. Any tips on debugging that?

Please post:

 lsusb

I could really use this ^^^

I wrote a bluetooth suspend/resume service for you, but I could not personalize it to your bluetooth adapter as you did not provide your lsusb output.

You will need to substitute your bluetooth device ID into both scripts for it to work with your device. Your bluetooth device ID can be found in your lsusb output.

1 Like

You're a champion. Thank you <3

I'll look at this and the lag fix tomorrow.

The root cause appears to be a kernel bug.

My particular hardware is listed as being affected.

Bug 200039 - BT advertising packet wakes up the system from S3 and suspend-to-idle

1 Like

Yes it is often the kernel or the driver of the device that is preventing suspend. In most cases a service will work until a proper fix is rolled out. Sometimes the fix comes quickly and sometimes it takes a very long time to be resolved by the developers. A service hopefully fills the gap until that time

% lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 13d3:56cb IMC Networks
Bus 001 Device 003: ID 8087:0aaa Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I assume I use 13d3:56cb?

Try it. See if it works. :wink:

Thanks @tbg for your scripts!

I merged your start and stop scripts and made them shellcheck-clean.
Also, I added some other sleep / suspend targets.

My solution can be found at:

Glad that helped. Thanks for linking your solution.

Awesome job modifying the scripts.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by