13

I have the following problem with my Bluetooth module on my new Dell XPS 13 (9370) with Ubuntu preinstalled.

The bluetooth module gets disabled for some reason. The bluetooth devices (keyboard and mouse) just stop working in the middle of the work, the Bluetooth indicator goes away and the module is also gone in the rfkill list.

To get it back working I need to reboot the machine, start the BIOS, disable the Bluetooth module and re-enable it. After that, the bluetooth module is available again. That's pretty annoying.

My syslog when this happens:

Apr 11 12:25:45 visyu-albatross kernel: [ 2513.913725] usb 1-7: USB disconnect, device number 3
Apr 11 12:25:45 visyu-albatross acpid: input device has been disconnected, fd 22
Apr 11 12:25:46 visyu-albatross systemd[1]: Starting Load/Save RF Kill Switch Status...
Apr 11 12:25:46 visyu-albatross systemd[1]: Started Load/Save RF Kill Switch Status.
Apr 11 12:25:46 visyu-albatross systemd[1]: Created slice User Slice of root.
Apr 11 12:25:46 visyu-albatross systemd[1]: Starting User Manager for UID 0...
Apr 11 12:25:46 visyu-albatross systemd[1]: Started Session c9 of user root.
Apr 11 12:25:46 visyu-albatross acpid: input device has been disconnected, fd 21
Apr 11 12:25:46 visyu-albatross systemd[12109]: Reached target Timers.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Reached target Sockets.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Reached target Paths.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Reached target Basic System.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Reached target Default.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Startup finished in 15ms.
Apr 11 12:25:46 visyu-albatross systemd[1]: Started User Manager for UID 0.
Apr 11 12:25:46 visyu-albatross bluetoothd[1062]: Endpoint unregistered: sender=:1.80 path=/MediaEndpoint/A2DPSource
Apr 11 12:25:46 visyu-albatross bluetoothd[1062]: Endpoint unregistered: sender=:1.80 path=/MediaEndpoint/A2DPSink
Apr 11 12:25:46 visyu-albatross systemd[1]: Stopping User Manager for UID 0...
Apr 11 12:25:46 visyu-albatross systemd[12109]: Stopped target Default.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Stopped target Basic System.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Stopped target Sockets.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Reached target Shutdown.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Stopped target Paths.
Apr 11 12:25:46 visyu-albatross systemd[1]: Created slice User Slice of root.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Starting Exit the Session...
Apr 11 12:25:46 visyu-albatross systemd[12109]: Stopped target Timers.
Apr 11 12:25:46 visyu-albatross systemd[1]: Started Session c10 of user root.
Apr 11 12:25:46 visyu-albatross systemd[12109]: Received SIGRTMIN+24 from PID 12120 (kill).
Apr 11 12:25:46 visyu-albatross systemd[1]: Starting User Manager for UID 0...
Apr 11 12:25:46 visyu-albatross systemd[12123]: Reached target Timers.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Reached target Sockets.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Reached target Paths.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Reached target Basic System.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Reached target Default.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Startup finished in 14ms.
Apr 11 12:25:46 visyu-albatross systemd[1]: Started User Manager for UID 0.
Apr 11 12:25:46 visyu-albatross systemd[1]: Stopping User Manager for UID 0...
Apr 11 12:25:46 visyu-albatross systemd[12123]: Reached target Shutdown.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Starting Exit the Session...
Apr 11 12:25:46 visyu-albatross systemd[12123]: Stopped target Default.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Stopped target Basic System.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Stopped target Timers.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Stopped target Paths.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Stopped target Sockets.
Apr 11 12:25:46 visyu-albatross systemd[12123]: Received SIGRTMIN+24 from PID 12133 (kill).
Apr 11 12:25:46 visyu-albatross systemd[1]: Created slice User Slice of root.
Apr 11 12:25:46 visyu-albatross systemd[1]: Started Session c11 of user root.
Apr 11 12:25:46 visyu-albatross systemd[1]: Starting User Manager for UID 0...
Apr 11 12:25:46 visyu-albatross systemd[12140]: Reached target Sockets.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Reached target Paths.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Reached target Timers.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Reached target Basic System.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Reached target Default.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Startup finished in 15ms.
Apr 11 12:25:46 visyu-albatross systemd[1]: Started User Manager for UID 0.
Apr 11 12:25:46 visyu-albatross systemd[1]: Stopping User Manager for UID 0...
Apr 11 12:25:46 visyu-albatross systemd[12140]: Reached target Shutdown.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Starting Exit the Session...
Apr 11 12:25:46 visyu-albatross systemd[12140]: Stopped target Default.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Stopped target Basic System.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Stopped target Paths.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Stopped target Timers.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Stopped target Sockets.
Apr 11 12:25:46 visyu-albatross systemd[1]: Created slice User Slice of root.
Apr 11 12:25:46 visyu-albatross systemd[1]: [email protected]: Start request repeated too quickly.
Apr 11 12:25:46 visyu-albatross systemd[1]: Failed to start User Manager for UID 0.
Apr 11 12:25:46 visyu-albatross systemd[12140]: Received SIGRTMIN+24 from PID 12148 (kill).
Apr 11 12:25:46 visyu-albatross systemd[1]: Started Session c12 of user root.
Apr 11 12:25:46 visyu-albatross systemd[1]: Stopped User Manager for UID 0.
Apr 11 12:25:46 visyu-albatross systemd[1]: Removed slice User Slice of root.
Apr 11 12:25:47 visyu-albatross systemd[1]: Created slice User Slice of root.
Apr 11 12:25:47 visyu-albatross systemd[1]: Starting User Manager for UID 0...
Apr 11 12:25:47 visyu-albatross systemd[1]: Started Session c13 of user root.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Reached target Timers.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Reached target Sockets.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Reached target Paths.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Reached target Basic System.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Reached target Default.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Startup finished in 17ms.
Apr 11 12:25:47 visyu-albatross systemd[1]: Started User Manager for UID 0.
Apr 11 12:25:47 visyu-albatross systemd[1]: bluetooth.target: Unit not needed anymore. Stopping.
Apr 11 12:25:47 visyu-albatross systemd[1]: Stopped target Bluetooth.
Apr 11 12:25:47 visyu-albatross systemd[1]: Stopping User Manager for UID 0...
Apr 11 12:25:47 visyu-albatross systemd[12167]: Reached target Shutdown.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Stopped target Default.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Stopped target Basic System.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Stopped target Timers.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Stopped target Paths.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Stopped target Sockets.
Apr 11 12:25:47 visyu-albatross systemd[12167]: Starting Exit the Session...
Apr 11 12:25:47 visyu-albatross systemd[12167]: Received SIGRTMIN+24 from PID 12184 (kill).
Apr 11 12:25:47 visyu-albatross systemd[1]: Stopped User Manager for UID 0.
Apr 11 12:25:47 visyu-albatross systemd[1]: Removed slice User Slice of root.
Apr 11 12:25:48 visyu-albatross org.gnome.Terminal[2417]: ** (gnome-terminal-server:12197): WARNING **: Unable to set locale modifiers with XSetLocaleModifiers()

I already tried different things:

  1. Disabling TLP and disabling TLP for Bluetooth in /etc/default/tlp
  2. Updating the BIOS to version 1.2.1
  3. Setting this line to modprobe for ath10k: echo "options ath10k_core skip_otp=y" > /etc/modprobe.d/ath10k.conf
  4. Updating the linux-firmware package, like mentioned here: https://www.killernetworking.com/driver-downloads/kb/faq/1-killer-1535-1525-1435-in-ubuntu-debian

Nothing of this helped until now.

As far as I can see, it's the following hardware: QCA 6174 Killer Qualcomm / QCA 1535 Killer Qualcomm

Mostly I have these two bluetooth devices paired and connected:

  • Logitech K810 keyboard
  • Logitech MX Anywhere2 mouse
TIIUNDER
  • 1,203
  • This looks very much like a hardware issue. – guntbert Apr 14 '18 at 19:04
  • @guntbert Why do you think that? – TIIUNDER Apr 15 '18 at 08:48
  • Because (in my experience) when components failed repeatedly but came back after a reboot / power cycle it was very rarely attributable to anything else. – guntbert Apr 15 '18 at 09:37
  • I'm also having the same issue in Archlinux with everything updated too. If i figure it out, I will let you know. – Kyle Mcgill Apr 15 '18 at 10:26
  • New info: Rebooting doesn't help as already mentioned, but turning the machine off (shutdown) and on again re-enables the Bluetooth module without needing to go into BIOS. – TIIUNDER Apr 17 '18 at 10:10
  • I opened a bug report here: https://bugs.launchpad.net/dell-sputnik/+bug/1766825 – TIIUNDER Apr 25 '18 at 09:21
  • There are a number of people that just cut the cord on the dell provided network card and went with a new intel instead: https://www.reddit.com/r/Dell/comments/8gx2ep/intel_8265_or_9260_for_xps15_9560/ I bought mine for 14eur and don't have any problem since. May be worth the thought, it's a 20 min repair and you get bluetooth 5.0 and better range/throughput as well – pascalwhoop Jul 16 '18 at 08:01

7 Answers7

7

I had the same problem, and I think it improved by updating the Bluetooth firmware using the files included in the newest Windows driver. My MD5s:

sonic@sonic-XPS-13-9370:/lib/firmware/qca$ md5sum *usb*302*
067fb95e8501bad2683df07d23539e7d  nvm_usb_00000302.bin
b3e2784b16b5b0cf5defa7eb9115956d  nvm_usb_00000302.bin_orig
c9d6334b547a92817458de10243f398c  rampatch_usb_00000302.bin
86c377ab7b2c24cc12cea5e79f71d610  rampatch_usb_00000302.bin_orig

By the way, an easier workaround was to unplug the power and do a suspend/resume cycle.
And at least mine is a 1435 Killer.

  • More information would be nice. Where did you get the driver? How did you update the Bluetooth firmware using the driver? – TIIUNDER Apr 29 '18 at 19:37
  • I got this driver: http://www.dell.com/support/home/de/de/dedhs1/drivers/driversdetails?driverId=WH2J3 You don't even need Windows to extract the firmware from the .exe, just double click in Ubuntu to start Archive Manager, extract drivers/Production/Windows10-x64/Bluetooth_driver and overwrite the ones with the corresponding MD5 in /lib/firmware/qca (after backup). – Sven Killig Apr 30 '18 at 01:07
  • I'm trying this for multiple days now and it seems to work – TIIUNDER May 03 '18 at 08:36
  • 1
    Warning: my Ubuntu just installed an update of the linux-firmware package that undid my changes. My /etc/rc.local now contains: echo bluetooth ; cp -p /opt/Bluetooth_driver/ramps_0x00000302_48.dfu /lib/firmware/qca/nvm_usb_00000302.bin ; cp -p /opt/Bluetooth_driver/AthrBT_0x00000302.dfu /lib/firmware/qca/rampatch_usb_00000302.bin – Sven Killig May 17 '18 at 00:46
  • BTW: /etc/rc.local is not available by default but still works in Ubuntu 18.04, when
    1. it exists
    2. is executable
    3. Starts with a shebang
    – musicformellons Dec 18 '18 at 14:48
6

Update to Sven Killig's answer for Dell XPS 9370 on Ubuntu 18.04:

Driver:

https://www.dell.com/support/home/uk/en/ukbsdt1/drivers/driversdetails?driverId=1JVK3

Files to override:

AthrBT_0x00000302.dfu (size 40876) -> rampatch_usb_00000302.bin (size 32940)
ramps_0x00000302_48.dfu (size 1982) -> nvm_usb_00000302.bin (size 1953)

Listing after copy:

067fb95e8501bad2683df07d23539e7d  /lib/firmware/qca/nvm_usb_00000302.bin
b3e2784b16b5b0cf5defa7eb9115956d  /lib/firmware/qca/nvm_usb_00000302.bin.orig
47ed34d8b6af11d71036aa44314e32d3  /lib/firmware/qca/rampatch_usb_00000302.bin
86c377ab7b2c24cc12cea5e79f71d610  /lib/firmware/qca/rampatch_usb_00000302.bin.orig
RumburaK
  • 311
  • 1
    I've put together a script that automates patching the files: https://gist.github.com/jinnko/4b9af7dacb6e9841a63a76a78b14f4a8 – JinnKo Jun 06 '19 at 19:56
1

Found a lot of solutions. Only one worked! The command I used was

modprobe btusb && systemctl start bluetooth

You might need root permissions for it.

I found it in this forum.

As you might know already, bluetooth turns off/disappears on sleep. A workout for that is to add a script to turn bluetooth off before sleep and back on after sleep.

I'll just paste in the answer.

Just put a executable script of any name in /lib/systemd/system-sleep/.

#!/bin/sh
if [ "$1" = "pre" ]; then
  systemctl stop bluetooth && rmmod btusb
elif [ "$1" = "post" ]; then
  modprobe btusb && systemctl start bluetooth
fi

Hope it works for you too!

Also, just FYI, here's my system info.

system info

1

The issue occurs from times to times.

For me, what solved was:

  • Go to the BIOS > Wireless and disable Bluetooth.
  • System will boot.
  • Reboot it and go to the BIOS > Wireless and Enable the Bluetooth again.

After that run sudo service bluetooth restart

0

In another thread there's a report that updating to a newer kernel (4.17 or higher) also resolves the issue.

To do this on Ubuntu 18.04 run the command: sudo apt install linux-generic-hwe-18.04, then reboot.

I've only just done this; so, if it doesn't work I'll report back.

I can also confirm that as a workaround suspending (Fn+End[]) the laptop then awaking it with the power unplugged has been generally reliable at re-enabling both the WiFi and Bluetooth functionality.

Kevin Bowen
  • 19,615
  • 55
  • 79
  • 83
JinnKo
  • 126
  • 2
0

The accepted solution didn't work for me (or at any rate didn't work in isolation). There were errors in dmesg about missing firmware files with quite different names.

I'm on eoan (19.10) and found a solution here based on https://bbs.archlinux.org/viewtopic.php?id=198865.

The download link was bad so I got the CAB file from https://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-Micro-size-USB-to-Bluetooth-Dongle-Driver-12011010-for-Windows-81-64-bit.shtml. You'll need cabextract to extract it.

Then I needed to do

sudo hex2hcd BCM20702A1_001.002.014.1443.1572.hex -o /lib/firmware/brcm/BCM20702A1-0a5c-216f.hcd

and restarted..

cdyson37
  • 101
-2

Workaround which worked for me: shutdown and turn off laptop, wait a bit to be sure, then turn it on again.

Dell issue here: https://www.dell.com/community/Linux-Developer-Systems/XPS-13-9370-no-bluetooth-after-suspend/td-p/6022892

I'm running ubuntu 17.10 btw, but that makes no difference :)