Bug 197941

Summary: Bluetooth not working in Kernel 4.14
Product: Drivers Reporter: KurikoMoe (venique)
Component: BluetoothAssignee: linux-bluetooth (linux-bluetooth)
Status: NEW ---    
Severity: normal CC: davidesousa, ewtoombs, hxss, jeremy, venique
Priority: P1    
Hardware: Intel   
OS: Linux   
Kernel Version: 4.14 Subsystem:
Regression: No Bisected commit-id:

Description KurikoMoe 2017-11-20 08:03:02 UTC
Laptop: xps13 9360
Distro: Manjaro

Description:

Bluetooth was working in linux413 and previous kernels, but after upgraded to 4.14 I found it not working and got the error message as following:

# sudo journal -f | grep bluetooth

Nov 20 15:49:33 KurikoArch bluetoothd[458]: Failed to set mode: Failed (0x03)
Nov 20 15:49:57 KurikoArch bluetoothd[458]: Failed to set mode: Failed (0x03)
Nov 20 15:52:10 KurikoArch bluetoothd[458]: Failed to set mode: Failed (0x03)



in kernel 4.13, I can get the output:

# dmesg | grep -i blue

[    2.658611] Bluetooth: Core ver 2.22
[    2.658772] Bluetooth: HCI device and connection manager initialized
[    2.658776] Bluetooth: HCI socket layer initialized
[    2.658778] Bluetooth: L2CAP socket layer initialized
[    2.658783] Bluetooth: SCO socket layer initialized
[    2.709679] Bluetooth: HCI UART driver ver 2.3
[    2.709681] Bluetooth: HCI UART protocol H4 registered
[    2.709681] Bluetooth: HCI UART protocol BCSP registered
[    2.709694] Bluetooth: HCI UART protocol LL registered
[    2.709694] Bluetooth: HCI UART protocol ATH3K registered
[    2.709695] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.709723] Bluetooth: HCI UART protocol Intel registered
[    2.709734] Bluetooth: HCI UART protocol Broadcom registered
[    2.709735] Bluetooth: HCI UART protocol QCA registered
[    2.709735] Bluetooth: HCI UART protocol AG6XX registered
[    2.709736] Bluetooth: HCI UART protocol Marvell registered
[    3.132455] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.132457] Bluetooth: BNEP filters: protocol multicast
[    3.132460] Bluetooth: BNEP socket layer initialized
[    7.648786] Bluetooth: RFCOMM TTY layer initialized
[    7.648792] Bluetooth: RFCOMM socket layer initialized
[    7.648797] Bluetooth: RFCOMM ver 1.11
[   33.549141] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   33.549145] Bluetooth: HIDP socket layer initialized
[   33.551621] input: Microsoft Sculpt Comfort Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/bluetooth/hci0/hci0:1/0005:045E:07A2.0002/input/input26
[   33.551697] hid-generic 0005:045E:07A2.0002: input,hidraw1: BLUETOOTH HID v1.29 Mouse [Microsoft Sculpt Comfort Mouse] on 9c:b6:d0:d7:e5:7c


but in kernel 4.14, I got the output:

[    2.810571] Bluetooth: Core ver 2.22
[    2.810590] Bluetooth: HCI device and connection manager initialized
[    2.810593] Bluetooth: HCI socket layer initialized
[    2.810595] Bluetooth: L2CAP socket layer initialized
[    2.810599] Bluetooth: SCO socket layer initialized
[    2.834785] Bluetooth: HCI UART driver ver 2.3
[    2.834787] Bluetooth: HCI UART protocol H4 registered
[    2.834788] Bluetooth: HCI UART protocol BCSP registered
[    2.834801] Bluetooth: HCI UART protocol LL registered
[    2.834801] Bluetooth: HCI UART protocol ATH3K registered
[    2.834802] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.834830] Bluetooth: HCI UART protocol Intel registered
[    2.834850] Bluetooth: HCI UART protocol Broadcom registered
[    2.834851] Bluetooth: HCI UART protocol QCA registered
[    2.834851] Bluetooth: HCI UART protocol AG6XX registered
[    2.834852] Bluetooth: HCI UART protocol Marvell registered
[    3.314487] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.314489] Bluetooth: BNEP filters: protocol multicast
[    3.314492] Bluetooth: BNEP socket layer initialized
[    8.215415] Bluetooth: RFCOMM TTY layer initialized
[    8.215421] Bluetooth: RFCOMM socket layer initialized
[    8.215426] Bluetooth: RFCOMM ver 1.11
[   30.380104] Bluetooth: hci0 urb ffff9ecd3597fb40 failed to resubmit (113)
[   40.403292] Bluetooth: hci0 urb ffff9ecd4fd2b3c0 failed to resubmit (113)
[   64.509640] Bluetooth: hci0 urb ffff9ecd55ed6d80 failed to resubmit (113)
[  197.441281] Bluetooth: hci0 urb ffff9ecdb460bd80 failed to resubmit (113)
Comment 1 David De Sousa 2017-12-07 11:22:53 UTC
I have the same issue in arch stable kernel, apparently it's an issue with TLP, removing TLP works for me.

https://github.com/lwfinger/rtlwifi_new/issues/116#issuecomment-298402908
Comment 2 David De Sousa 2017-12-07 11:34:34 UTC
and apparently it's a known issue with usb bluetooth devices in TLP, applied USB_BLACKLIST_BTUSB=1 to the tlp configuration as mentioned in http://linrunner.de/en/tlp/docs/tlp-faq.html#btusb and now it works with tlp enabled.

so it seems power management in btusb changed somehow in 4.14 and it breaks this device?
Comment 3 David De Sousa 2017-12-07 11:36:09 UTC
for the record, my bluetooth device is from the Dell XPS 15 9560:

lsusb line:

0cf3:e300 Qualcomm Atheros Communications
Comment 4 Jeremy Cline 2017-12-12 14:44:38 UTC
This has also been observed in Fedora[0] starting with v4.13.15 - it looks like the problem was introduced by https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fd865802c66bc451dc515ed89360f84376ce1a56 which was included in v4.4.100 and v4.9.64 as well.

[0] https://bugzilla.redhat.com/show_bug.cgi?id=1521080
Comment 5 Sergey S 2018-01-30 11:19:04 UTC
Same problem on Arch Linux after upgrade(4.13.12-1 -> 4.14-2): https://bugs.archlinux.org/task/57286

Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 30)
0cf3:e360 Qualcomm Atheros Communications

More logs and hw-info: https://gist.github.com/hxss/ebe0b535a4d57cd25b0eae4b7afa9d44
Comment 6 Eric Toombs 2021-04-17 19:17:04 UTC
The QCA9377 is working in archlinux's kernel version 5.11.12.arch1-1, but the performance is severely degraded. The computer has to be located right next to the bluetooth device for the signal to reach. There is no problem in windows.