4

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 load btusb 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.

chronos00
  • 691
  • Have you tried loading the asus_nb_wmi module with a wapf parameter, 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:09
  • I had forgot to mention in my original post that I had already tried the asus_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:12
  • You might try blacklisting btusb with echo "blastlist btusb" | sudo tee /etc/modprobe.d/btusb.conf reboot and then sudo 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 with sudo rm /etc/modprobe.d/btusb.conf – Jeremy31 Mar 29 '15 at 17:17
  • Thank you for your promt reply Jeremy31. I tried your suggestions and posted the results in my question, as they were too long to post as a comment here. – chronos00 Mar 29 '15 at 18:12
  • uname -a and I will help you with a new kernel – Jeremy31 Mar 29 '15 at 18:38
  • Linux CoreSN 3.16.0-33-generic #44-Ubuntu SMP Thu Mar 12 12:19:35 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux – chronos00 Mar 29 '15 at 18:40
  • Download and install the following http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-rc5-vivid/linux-image-4.0.0-040000rc5-generic_4.0.0-040000rc5.201503230035_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-rc5-vivid/linux-headers-4.0.0-040000rc5_4.0.0-040000rc5.201503230035_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-rc5-vivid/linux-headers-4.0.0-040000rc5-generic_4.0.0-040000rc5.201503230035_amd64.deb and reboot. If you can't boot into the new kernel reboot and hold the shift key during boot to get the grub menu, select advanced options and find your old1 – Jeremy31 Mar 29 '15 at 18:46
  • Ok. I just ran the kernel you proposed (uname -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 with sudo dpkg -i linux-*.deb – chronos00 Mar 29 '15 at 19:13
  • You need to boot into an older kernel by holding shift during boot and selecting an older kernel from Advanced Options, then you can double click on each of those files and select uninstall from the software center – Jeremy31 Mar 29 '15 at 19:17

2 Answers2

1

I solved this problem on my Asus Zenbook UX301L by replacing the Intel 7260 wifi/BT adaptor with an Intel 7265 wifi/BT adaptor. The problem immediately vanished. The only problem was getting the back off the UX301L. Not easy.

user594707
  • 1,271
0

I had this error before but it was solved with some configurations in bios if you can just have a try!

In USB configuration Enable

Leagacy USB support
USB 3.0 support
XHCI Hand-off
EHCI Hand-off

and in SOUTH or NORTH bridge there will be option chipset go into it and.

make XHCI mode Enable

make USB2 Link Power Management Disbale

make USB 2.0 (EHCI) Support Disable

Tohid Tamboli
  • 821
  • 4
  • 9
  • I appreciate the effort, but these configurations are not available in the BIOS of Asus UX301 laptop. I only have 2 options about USB config, and I tried every possible combination of them, but none worked. Any other thing I could try from the module point of view? – chronos00 Apr 21 '15 at 16:07