On 4/9/24 12:53 PM, Wren Turkal wrote:
On 4/8/24 12:49 PM, Wren Turkal wrote:
+Marcel Holtmann <marcel@xxxxxxxxxxxx>
+Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx>
Added maintainers identified from the get_maintainer.pl script in the
kernel repo. Hoping to get some ideas for next steps.
More contextual info below:
On 4/6/24 1:27 PM, Wren Turkal wrote:
+Kalle Valo since you have the same laptop
On 4/6/24 1:16 PM, Wren Turkal wrote:
Sorry for the double send on the original message. I am still hoping
to get some help. I have added additional info below.
On 4/4/24 12:14 PM, Wren Turkal wrote:
Hey there ath11k/bluetooth folks,
I am having a pretty major problem with QCA6930 for some time
(maybe a year or two). I have this bluetooth device:
72:00.0 Unassigned class [ff00]: Qualcomm Technologies, Inc QCA6390
Wireless Network Adapter
This device appears to be driven by the ath11k module and others. I
hope I am pinging the right lists.
I am using Fedora Rawhide. Fully updated yesterday. My uname
reports this:
Linux braindead.localdomain
6.9.0-0.rc2.20240402git026e680b0a08.24.fc41.x86_64 #1 SMP
PREEMPT_DYNAMIC Tue Apr 2 17:51:18 UTC 2024 x86_64 GNU/Linux
Updated today. Here's the new uname:
Linux braindead.localdomain
6.9.0-0.rc2.20240405git8cb4a9a82b21.27.fc41.x86_64 #1 SMP
PREEMPT_DYNAMIC Fri Apr 5 16:48:07 UTC 2024 x86_64 GNU/Linux
I looked at the current mainline kernel code. I found the following.
I found that there was a patch authored by Zijun Hu that was supposed
to address a warm reboot issue on QCA6390 here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/bluetooth/hci_qca.c?h=v6.9-rc3&id=7e7bbddd029b644f00f0ffbfbc485ed71977d0d5
The same code path from the above patch is now slightly different
because another patch authored by Krzysztof Kozlowski, namely:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/bluetooth/hci_qca.c?h=v6.9-rc3&id=272970be3dabd24cbe50e393ffee8f04aec3b9a8
I also see a few fixed over time in the btqca.c file. I wonder if any
of these are related.
Unfortunately, none of these changes were made recently.
Does anyone have an suggestions for next steps?
I am trying to build kernels as old as 5.19 to start a bisect. I have
been unsuccessful due to compiler warnings (presumably from newer
version of gcc than were used at the time those kernels were released.
Is there any secret sauce to getting these older kernels to build with
newer gccs?
Specifically, I am getting this message when trying to build bzImage:
ld: warning: vmlinux has a LOAD segment with RWX permissions
Is there any way to allow the build despite that issue so that I can
just see if the kernel version can drive the bluetooth hardware correctly?
I also noticed a new version of bluez. Here is the RPM package
version: bluez-5.73-3.fc41.x86_64
My main bluetooth device is a Logitech MX 3 Mac mouse that uses
bluetooth. When bluetooth fails, so does the mouse. I have power
cycle my laptop when that happens. I'd love to help find a fix for
this.
The problem is that I cannot disable and re-enable the bluetooth on
my system. Bluetooth also doesn't work after a warm boot. I have to
power cycle my laptop to recover bluetooth funcitonality. I have
tried the following:
* logging into KDE Plasma (bluetooth stops working)
* logging into GNOME (works on cold boot, fails on warm boot)
I did notice that the mouse seems to work in Plasma until a few sec
after I see the background image appears. I suspect that Plasma is
disabling and reenabling the bluetooth where Gnome does not do that.
After logging into GNOME during a cold boot, I have also done
"systemctl restart bluetooth.service". I get these journal logs
during the stop;
➜ bt_kernel_bug cat journal-stop-bluetooth-service.log
Apr 04 10:14:41 braindead.localdomain NetworkManager[1120]: <info>
[1712250881.7060] device (F0:5C:77:F2:60:FC): state change:
disconnected -> unmanaged (reason 'removed', sys-iface-state:
'removed')
Apr 04 10:14:41 braindead.localdomain systemd[1]: Starting
systemd-rfkill.service - Load/Save RF Kill Switch Status...
Apr 04 10:14:41 braindead.localdomain systemd[1]: Started
systemd-rfkill.service - Load/Save RF Kill Switch Status.
Apr 04 10:14:41 braindead.localdomain audit[1]: SERVICE_START pid=1
uid=0 auid=4294967295 ses=4294967295
subj=system_u:system_r:init_t:s0 msg='unit=systemd-rfkill
comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=?
terminal=? res=success'
Apr 04 10:14:46 braindead.localdomain systemd[1]:
systemd-rfkill.service: Deactivated successfully.
Apr 04 10:14:46 braindead.localdomain audit[1]: SERVICE_STOP pid=1
uid=0 auid=4294967295 ses=4294967295
subj=system_u:system_r:init_t:s0 msg='unit=systemd-rfkill
comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=?
terminal=? res=success'
I get these journal logs during start:
Apr 04 10:15:05 braindead.localdomain kernel: Bluetooth: hci0:
setting up ROME/QCA6390
Apr 04 10:15:05 braindead.localdomain systemd[1]: Starting
systemd-rfkill.service - Load/Save RF Kill Switch Status...
Apr 04 10:15:05 braindead.localdomain systemd[1]: Started
systemd-rfkill.service - Load/Save RF Kill Switch Status.
Apr 04 10:15:05 braindead.localdomain audit[1]: SERVICE_START pid=1
uid=0 auid=4294967295 ses=4294967295
subj=system_u:system_r:init_t:s0 msg='unit=systemd-rfkill
comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=?
terminal=? res=success'
Apr 04 10:15:05 braindead.localdomain kernel: Bluetooth: hci0: QCA
Product ID :0x00000010
Apr 04 10:15:05 braindead.localdomain kernel: Bluetooth: hci0: QCA
SOC Version :0x400a0200
Apr 04 10:15:05 braindead.localdomain kernel: Bluetooth: hci0: QCA
ROM Version :0x00000200
Apr 04 10:15:05 braindead.localdomain kernel: Bluetooth: hci0: QCA
Patch Version:0x00003ac0
Apr 04 10:15:05 braindead.localdomain kernel: Bluetooth: hci0: QCA
controller version 0x02000200
Apr 04 10:15:05 braindead.localdomain kernel: Bluetooth: hci0: QCA
Downloading qca/htbtfw20.tlv
Apr 04 10:15:06 braindead.localdomain kernel: Bluetooth: hci0: QCA
Failed to send TLV segment (-110)
Apr 04 10:15:06 braindead.localdomain kernel: Bluetooth: hci0: QCA
Failed to download patch (-110)
Apr 04 10:15:06 braindead.localdomain kernel: Bluetooth: hci0:
Retry BT power ON:0
Apr 04 10:15:08 braindead.localdomain kernel: Bluetooth: hci0:
command 0xfc00 tx timeout
Apr 04 10:15:08 braindead.localdomain kernel: Bluetooth: hci0:
Reading QCA version information failed (-110)
Apr 04 10:15:08 braindead.localdomain kernel: Bluetooth: hci0:
Retry BT power ON:1
Apr 04 10:15:10 braindead.localdomain systemd[1]:
systemd-rfkill.service: Deactivated successfully.
Apr 04 10:15:10 braindead.localdomain audit[1]: SERVICE_STOP pid=1
uid=0 auid=4294967295 ses=4294967295
subj=system_u:system_r:init_t:s0 msg='unit=systemd-rfkill
comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=?
terminal=? res=success'
Apr 04 10:15:10 braindead.localdomain kernel: Bluetooth: hci0:
command 0xfc00 tx timeout
Apr 04 10:15:10 braindead.localdomain kernel: Bluetooth: hci0:
Reading QCA version information failed (-110)
Apr 04 10:15:10 braindead.localdomain kernel: Bluetooth: hci0:
Retry BT power ON:2
Apr 04 10:15:13 braindead.localdomain bluetoothd[986]: Failed to
set mode: Authentication Failed (0x05)
Apr 04 10:15:13 braindead.localdomain kernel: Bluetooth: hci0:
command 0xfc00 tx timeout
Apr 04 10:15:13 braindead.localdomain kernel: Bluetooth: hci0:
Reading QCA version information failed (-110)
Apr 04 10:15:15 braindead.localdomain chronyd[1065]: Selected
source 204.17.205.8 (2.fedora.pool.ntp.org)
Apr 04 10:15:22 braindead.localdomain systemd[1687]: Created slice
background.slice - User Background Tasks Slice.
Apr 04 10:15:22 braindead.localdomain systemd[1687]: Starting
systemd-tmpfiles-clean.service - Cleanup of User's Temporary Files
and Directories...
Apr 04 10:15:22 braindead.localdomain systemd[1687]: Finished
systemd-tmpfiles-clean.service - Cleanup of User's Temporary Files
and Directories.
Apr 04 10:15:38 braindead.localdomain audit: BPF prog-id=86 op=LOAD
Apr 04 10:15:38 braindead.localdomain systemd[1]: Starting
plocate-updatedb.service - Update the plocate database...
Apr 04 10:15:41 braindead.localdomain systemd[1687]: Started
vte-spawn-21527424-cb2d-479f-af17-22251e2b37a0.scope - VTE child
process 5144 launched by gnome-terminal-server process 4668.
Apr 04 10:15:53 braindead.localdomain systemd[1]:
plocate-updatedb.service: Deactivated successfully.
Apr 04 10:15:53 braindead.localdomain systemd[1]: Finished
plocate-updatedb.service - Update the plocate database.
Apr 04 10:15:53 braindead.localdomain systemd[1]:
plocate-updatedb.service: Consumed 6.802s CPU time.
Apr 04 10:15:53 braindead.localdomain audit[1]: SERVICE_START pid=1
uid=0 auid=4294967295 ses=4294967295
subj=system_u:system_r:init_t:s0 msg='unit=plocate-updatedb
comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=?
terminal=? res=success'
Apr 04 10:15:53 braindead.localdomain audit[1]: SERVICE_STOP pid=1
uid=0 auid=4294967295 ses=4294967295
subj=system_u:system_r:init_t:s0 msg='unit=plocate-updatedb
comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=?
terminal=? res=success'
Apr 04 10:15:54 braindead.localdomain audit: BPF prog-id=86 op=UNLOAD
Apr 04 10:16:13 braindead.localdomain baloo_file_extractor[5251]:
kf.idletime: Could not find any system poller plugin
Apr 04 10:16:13 braindead.localdomain baloo_file_extractor[5251]:
qt.core.qobject.connect: QObject::connect(KAbstractIdleTimePoller,
KIdleTime): invalid nullptr parameter
Apr 04 10:16:13 braindead.localdomain baloo_file_extractor[5251]:
qt.core.qobject.connect: QObject::connect(KAbstractIdleTimePoller,
KIdleTime): invalid nullptr parameter
There's a bunch of errors in those logs starting with these two
seemingly important lines:
Apr 04 10:15:06 braindead.localdomain kernel: Bluetooth: hci0: QCA
Failed to send TLV segment (-110)
Apr 04 10:15:06 braindead.localdomain kernel: Bluetooth: hci0: QCA
Failed to download patch (-110)
Logs are mostly unchanges when restarting the bluetooth service
after a cold boot with the bluetooth originally working.
FWIW, I get similar logs after logging into KDE Plasma. I also get
similar logs after a warm boot.
This appears to be some kind of bug in the initialization of the
hardware. Is there any additional information I can provide to help
troubleshoot this problem.
I will also say that the bluetooth appears to work throught a
suspend/resume cycle as long as I don't restart the bluetooth service.
Oh, and my laptop is a Dell 9310 if that helps.
Kalle, I noticed that you reported having a Dell 9310 in 2021 in a
message on this very mailing list. Do you happen to still have that
laptop? If so, so you still test on that laptop at all? I am curious
if it is having the same issue I am experiencing?
Is there any other info I could collect that might be useful?
I'm pretty new to troubleshooting a problem like this and would be
happy to have any advice anyone might want to share.
Thanks,
wt
--
You're more amazing than you think!