Bug 1575039 - Bluetooth not working
Summary: Bluetooth not working
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 28
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-05-04 15:24 UTC by Rodrigo
Modified: 2018-05-22 07:35 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-05-22 07:35:19 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1521080 0 unspecified CLOSED Bluetooth stopped working since kernel 4.13.16 2021-02-22 00:41:40 UTC

Description Rodrigo 2018-05-04 15:24:10 UTC
Description of problem:
After a recent upgrade to Fedora 28, I've lost my Bluetooth functionality. 

Version-Release number of selected component (if applicable):
kernel 4.16.5-300.fc28.x86_64


$ dmesg | grep -i bluetooth
[   19.013840] Bluetooth: Core ver 2.22
[   19.014056] Bluetooth: HCI device and connection manager initialized
[   19.014061] Bluetooth: HCI socket layer initialized
[   19.014064] Bluetooth: L2CAP socket layer initialized
[   19.014075] Bluetooth: SCO socket layer initialized
[   19.209117] Bluetooth: hci0: using rampatch file: qca/rampatch_usb_00000302.bin
[   19.209122] Bluetooth: hci0: QCA: patch rome 0x302 build 0x138, firmware rome 0x302 build 0x111
[   19.510835] Bluetooth: hci0: using NVM file: qca/nvm_usb_00000302.bin
[   31.744190] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   31.744194] Bluetooth: BNEP filters: protocol multicast
[   31.744199] Bluetooth: BNEP socket layer initialized
[  170.415097] Bluetooth: RFCOMM TTY layer initialized
[  170.415105] Bluetooth: RFCOMM socket layer initialized
[  170.415237] Bluetooth: RFCOMM ver 1.11
[  172.438345] Bluetooth: hci0: command 0x0c24 tx timeout

$ hciconfig
$

$ lsusb

Bus 001 Device 006: ID 1004:631c LG Electronics, Inc. G2/Optimus Android Phone [MTP mode]
Bus 001 Device 004: ID 1bcf:28c1 Sunplus Innovation Technology Inc. 
Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 2717:003b  
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ lspci 

00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) I/O Memory Management Unit
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] (rev c9)
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kabini HDMI/DP Audio
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Host Bridge
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Root Port
00:02.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Root Port
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Host Bridge
00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Root Port
00:08.0 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 1578
00:09.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157d
00:09.2 Audio device: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Audio Controller
00:10.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 20)
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 49)
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB EHCI Controller (rev 49)
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 4a)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 11)
00:14.7 SD Host controller: Advanced Micro Devices, Inc. [AMD] FCH SD Flash Controller (rev 01)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) PUnit hciuart.service could not be found.rocessor Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 15h (Models 60h-6fh) Processor Function 5
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller (rev 07)
02:00.0 Network controller: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter (rev 31)

$ systemctl status hciuart.service
Unit hciuart.service could not be found.

Comment 1 Hans de Goede 2018-05-07 09:50:21 UTC
Thank you for the bug report, please try booting with "btusb.enable_autosuspend=0" added to the kernel commandline and let us know if that helps.

If this helps we're going to need a quirk for your laptop to automatically do the right thing, to add this quirk we need to know the DMI strings for your laptop, please run the following command:

cd /sys/class/dmi/id/; for i in sys_vendor product_name product_version board_vendor board_name board_vendor bios_*; do echo "$i: $(cat $i)"; done

And copy and paste the output here.

Comment 2 Rodrigo 2018-05-08 06:31:46 UTC
Thank you for the assistance. I've booted with "btusb.enable_autosuspend=0" added to the kernel line, and I see no results. I can confirm that this issue also persists for the kernel-4.16.6-302.fc28

If it's of help here are the DMI strings for my laptop, 

sys_vendor: Dell Inc.
product_name: Inspiron 5565
product_version: 1.0.5
board_vendor: Dell Inc.
board_name: 0RVKF9
board_vendor: Dell Inc.
bios_date: 10/18/2016
bios_vendor: Dell Inc.
bios_version: 1.0.5

Comment 3 Hans de Goede 2018-05-08 07:23:32 UTC
Hmm, with a Dell with QCA rome bluetooth I would really expect that commandline option to help.

Can you double check the kernel command line changes are being applied?

After booting do:

cat /sys/module/btusb/parameters/enable_autosuspend

This should result in "N" (for no) being printed.

Comment 4 Rodrigo 2018-05-08 17:27:38 UTC
My bad, I forgot to run grub2-mkconfig. Everything seems to be working as expected now.

I've tried the Bluetooth by booting several times today. Most times it works fine, sometimes though it doesn't recognize the Bluetooth as before. I noticed that when this happens the system prints something along the lines of "USB error 71". Are these related?

In short, though, everything's working as should. I asked the above just for my curiosity. Thank you enormously!!

Comment 5 Hans de Goede 2018-05-09 08:25:49 UTC
(In reply to Rodrigo from comment #4)
> My bad, I forgot to run grub2-mkconfig. Everything seems to be working as
> expected now.

Great, so the next step is for me to write a kernel patch to automatically set btusb.enable_autosuspend=0 for Dell Inspiron 5565 laptops. I've the feeling that I might soon stop doing this on a per model basis and switch to doing this for all Dell laptops with qca-rome bluetooth.

Anyways I'm not sure when I will have time to write the patch for this, hopefully this week. Once I've a patch I will build a Fedora test-kernel with the patch added and ask you to test that (with the kernel cmdline option removed).

Comment 6 Hans de Goede 2018-05-14 06:31:47 UTC
I've written a patch adding a quirk to the btusb driver to automatically do the right thing on the Inspiron 5565. I've started a test kernel-build with the patch added here: https://koji.fedoraproject.org/koji/taskinfo?taskID=26955981

Note this is still building atm (this takes a couple of hours), here are generic test instructions for testing test kernel builds from koji:
https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt

Please give this kernel-build a test and let me know it fixes things (without needing anything on the kernel commandline) and then report the results here. Once I've confirmation that this fixes things I will submit the patch upstream for inclusion into the mainline kernel.

Comment 7 Hans de Goede 2018-05-19 13:08:06 UTC
Ping? Please test the provided test kernel and let me know if it fixes things.

Comment 8 Rodrigo 2018-05-22 05:34:02 UTC
Just gave a try. It worked as it should. Bluetooth works without adding "btusb.enable_autosuspend=0" to the kernel line. Thanks!

Comment 9 Hans de Goede 2018-05-22 07:34:59 UTC
Hi,

(In reply to Rodrigo from comment #8)
> Just gave a try. It worked as it should. Bluetooth works without adding
> "btusb.enable_autosuspend=0" to the kernel line. Thanks!

Thanks, I've submitted the patch upstream now, so it should show up in a 4.16.x release eventually.

Regards,

Hans


Note You need to log in before you can comment on or make changes to this bug.