I can't make my laptop's onboard bluetooth to work correctly and permanently without disabling xHCI from BIOS.
Bluetooth is always shown as disabled after booting the computer. When trying to enable it from the bluetooth settings (click on bluetooth icon-> select "bluetooth settings") I get this from dmesg
:
[ 948.641625] usb 1-4: USB disconnect, device number 2
[ 948.912013] usb 1-4: new full-speed USB device number 5 using xhci_hcd
[ 949.041299] usb 1-4: New USB device found, idVendor=8087, idProduct=07dc
[ 949.041305] usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 949.055380] Bluetooth: hci0: read Intel version: 370710018002030d00
[ 949.057370] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
[ 949.233672] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
I can see the bluetooth "switch" become on and back off immediately, at the same time the above dmseg messages appear.
My system:
- Laptop Asus UX301LA
- wireless and bluetooth interface is based on Intel 7260 chipset.
- Ubuntu 14.10 with latest updates
- (kernel 3.16.0-31-generic at the moment, and regularly updated)
What other tried and discovered
Here is a very complete thread which documents a long investigation by the author, and everything that has been tried so far by him.
What is causing my Intel 7260 bluetooth device to disconnect when I unblock it with rfkill?
And this is a bug report on the subject:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1209124
What I have already tried:
Following comment #7 I can get bluetooth to temporarily work along with xHCI. But this is VERY hacky and does not survives reboots, nor resists basic use of the laptop (like switching wifi on and off).
I have tried setting the option asus_nb_wmi wapf=X
to 0,1,2,3, or 4 (in the file /etc/modprobe.d/asus_nb_wmi.conf) seeing no change in the behavior.
I also tried blacklisting btusb
, since it might be loading too early (as suggested by Jeremy31: echo "blacklist btusb" | sudo tee /etc/modprobe.d/btusb.conf
). You can see here a snip from my dmesg
.
- Up to second 90, the computer had just booted up. Bluetooth settings shows that bluetooth is disabled.
- At second 90, I click on the "switch" to enable bluetooth. The switch stays on, but bluetooth is obviously still not working (because we blacklisted it).
- At second 99, I click on the switch to disable it.
- Then on seconds 111, 118, 123 and 126, I repeat the last 2 steps, and get the same result.
- On second 145 I ran
sudo modprobe btusb
to loadbtusb
module again. - Finally, on second 157 I click on the switch again to enable bluetooth, but this time, it comes immediately back off.
So....
There could be a fix already released in newer versions of the kernel, which I don't know how to install nor try. If so, I am more than happy to try.
I would like to find a way to solve this problem definitely, in a way that survives reboots, and allows me to enable and disable bluetooth with the keyboard Fn buttons.
Thank you.
echo "options asus_nb_wmi wapf=X" | sudo tee /etc/modprobe.d/asus_nb_wmi.conf
using 0, 1, 2, 3, or 4 in place of X and rebooting? – Jeremy31 Mar 26 '15 at 21:09asus_nb_wmi wapf=X
options. After reading your comment, I tried them all once again, just to be sure, and the behavior is still the same. In the first place, I don't have the file/etc/modprobe.d/asus_nb_wmi.conf
, but I guess that is normal, and I just used your command to create an empty file with your proposed option. In second place, I don't see ANY difference at all, across reboots, after trying the different options. I will update my question's description to show this attemps. – chronos00 Mar 29 '15 at 17:12echo "blastlist btusb" | sudo tee /etc/modprobe.d/btusb.conf
reboot and thensudo modprobe btusb
to see if it is trying to load firmware to the bluetooth device too early and causing issues, if not you can remove the blacklist withsudo rm /etc/modprobe.d/btusb.conf
– Jeremy31 Mar 29 '15 at 17:17uname -a
and I will help you with a new kernel – Jeremy31 Mar 29 '15 at 18:38uname -a Linux CoreSN 4.0.0-040000rc5-generic #201503230035 SMP Mon Mar 23 04:36:26 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
) but bluetooth behavior is unfortunately still exactly the same. I am quite surprised that everything else worked perfectly (being this a development kernel version). May I ask how to safely remove this kernel and keep the kernel automatic updates working? I installed it withsudo dpkg -i linux-*.deb
– chronos00 Mar 29 '15 at 19:13