3

Bluetooth was working fine on my laptop (Acer Aspire V17 Nitro) running Ubuntu 18.04, until I used Suspend for the first time and woke it up again. It doesn't detect any devices anymore.

Things I've tried:

  • Rebooting

  • Disabling & enabling bluetooth

  • Restarting the bluetooth service

  • Re-installing these packages: bluez gnome-bluetooth pulseaudio-module-bluetooth

  • Running rfkill list:

    0: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
    1: acer-wireless: Wireless LAN
    Soft blocked: no
    Hard blocked: no
    2: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
    
  • Booting into a live USB and enabling bluetooth there (it doesn't detect any devices there either)

Does anyone have any other ideas? The fact that it failed while suspending or while waking up from a suspend might be a clue.

  • I have a similar problem with Kubuntu, however when restart the service everything works, I tried to implement a script to fix upon system resume to no luck – Ossama Nasser Jun 12 '18 at 13:55
2

UPDATE 2018-09-20:

My original solution no longer works reliably for me. I now see one of three cases on resume from suspend:

  1. Bluetooth and WiFi both disabled (no adapters available)
  2. Bluetooth only disabled (no adapters available)
  3. No issues

The only workaround that addresses the problem 100% of the time is restarting to BIOS and manually toggling both Bluetooth and WiFi off then on.

The workaround that I use is unplugging the power source and closing then opening the laptop lid to force a hardware power cycle. This works about half of the time, so I often have to do this two or three times.

Original Answer:

I have been encountering the same problem using Kubuntu on Dell, Asus, and MSI laptops with integrated WiFi/Bluetooth since at least 16.04. It happens intermittently; I cannot reproduce it reliably whatsoever, but it does only happen after resuming from suspend.

Here is my chipset:

$ lspci | grep Network
3a:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)

When the issue occurs on default configuration, the bluetooth service is incapable of being fully restarted. I borrowed heavily from Ossama Nasser's answer, but have had more luck forcing the bluetooth service off on suspend and then up on resume.

My solution below, also written to /lib/systemd/system-sleep/bluetooth:

#!/bin/bash

if [ "${1}" == "pre" ]; then
  service bluetooth stop
elif [ "${1}" == "post" ]; then
  sleep 5
  service bluetooth start
fi

I will continue to update this answer if I can confirm that it works. Again, this issue seems somewhat difficult to reproduce.

1

I have the same problem, borrowing a fix for similar problem I encountered with Ubuntu 14.04, After further investigation I found that restarting the bluetooth fixes the problem. this is a solution that is currently working for me:

1- In folder /lib/systemd/system-sleep/ create a script called bluetooth with the following content:

#!/bin/bash  

if [ "${1}" == "post" ]; then
    sleep 5
    service bluetooth restart
fi

this will restart the bluetooth service after 5 seconds from system resume (This way is the only one worked for me for now it might change it's mind in the future)

2- Mark the script as executable:

chmod +x /lib/systemd/system-sleep/bluetooth

I would like to point out that I use Kubuntu 18.04

0

Alright, it starting working again while writing the question.

It worked again after booting into the live USB and disabling bluetooth there (instead of enabling it which I tried before). I then booted back into my normal installation and it detects devices again.

I'm not going to suspend again until I can find a proper solution.

It was quite a mystical experience. I have no idea if what I did actually fixed it. If anyone knows what exactly happened, I would like to know :-)

0

On Ubuntu 18.04, I used the following systemd script to fix the issue:

#!/bin/bash

case "$1" in
    suspend)
        # executed on suspend
        ;;
    post)
        modprobe -r psmouse
        modprobe psmouse
        ;;
    *)
        ;;
esac

I named placed the file under /lib/systemd/system-sleep. You can name it touchpad or something similar. Remember to add executable permissions.

  • psmouse might be the wrong driver name for this question. – WinEunuuchs2Unix Oct 2 '18 at 10:57

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.