* QCA6390 bluetooth doesn't work after warm boot or disable/reenable @ 2024-04-04 19:14 Wren Turkal 2024-04-06 20:16 ` Wren Turkal 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-04 19:14 UTC (permalink / raw) To: ath11k, linux-bluetooth 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 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) 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) 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. wt -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-04 19:14 QCA6390 bluetooth doesn't work after warm boot or disable/reenable Wren Turkal @ 2024-04-06 20:16 ` Wren Turkal 2024-04-06 20:27 ` Wren Turkal 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-06 20:16 UTC (permalink / raw) To: ath11k, linux-bluetooth 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 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. 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! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-06 20:16 ` Wren Turkal @ 2024-04-06 20:27 ` Wren Turkal 2024-04-06 20:29 ` Wren Turkal ` (2 more replies) 0 siblings, 3 replies; 24+ messages in thread From: Wren Turkal @ 2024-04-06 20:27 UTC (permalink / raw) To: ath11k, linux-bluetooth, Kalle Valo +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 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! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-06 20:27 ` Wren Turkal @ 2024-04-06 20:29 ` Wren Turkal 2024-04-06 20:50 ` Wren Turkal 2024-04-08 5:22 ` Kalle Valo 2024-04-08 19:49 ` Wren Turkal 2 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-06 20:29 UTC (permalink / raw) To: ath11k, linux-bluetooth, Kalle Valo, Ben Young Tae Kim +Ben Young Tae Kim, current maintainer of btqca 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 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! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-06 20:29 ` Wren Turkal @ 2024-04-06 20:50 ` Wren Turkal 0 siblings, 0 replies; 24+ messages in thread From: Wren Turkal @ 2024-04-06 20:50 UTC (permalink / raw) To: ath11k, linux-bluetooth, Kalle Valo, Ben Young Tae Kim On 4/6/24 1:29 PM, Wren Turkal wrote: > +Ben Young Tae Kim, current maintainer of btqca > > 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 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) I narrowed down how to cause the bad logs a bit, if I do the following: 1. stop the bluetooth service 2. unload the hci_uart and btqca modules 3. restart the bluetooth service 4. reload those modules I get these log messages: Apr 06 13:42:43 braindead.localdomain sudo[11047]: wt : TTY=pts/0 ; PWD=/home/wt ; USER=root ; COMMAND=/usr/sbin/modprobe hci_uart Apr 06 13:42:43 braindead.localdomain audit[11047]: USER_CMD pid=11047 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/home/wt" cmd=6D> Apr 06 13:42:43 braindead.localdomain audit[11047]: CRED_REFR pid=11047 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grant> Apr 06 13:42:43 braindead.localdomain sudo[11047]: pam_unix(sudo:session): session opened for user root(uid=0) by wt(uid=1000) Apr 06 13:42:43 braindead.localdomain audit[11047]: USER_START pid=11047 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open> Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART driver ver 2.3 Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol H4 registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol BCSP registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol LL registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol ATH3K registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol Three-wire (H5) registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol Intel registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol Broadcom registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol QCA registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol AG6XX registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: HCI UART protocol Marvell registered Apr 06 13:42:43 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 Apr 06 13:42:43 braindead.localdomain sudo[11047]: pam_unix(sudo:session): session closed for user root Apr 06 13:42:43 braindead.localdomain audit[11047]: USER_END pid=11047 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_close > Apr 06 13:42:43 braindead.localdomain audit[11047]: CRED_DISP pid=11047 uid=1000 auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grant> Apr 06 13:42:43 braindead.localdomain systemd[1666]: Reached target bluetooth.target - Bluetooth. Apr 06 13:42:43 braindead.localdomain systemd[1]: Starting systemd-rfkill.service - Load/Save RF Kill Switch Status... Apr 06 13:42:43 braindead.localdomain systemd[1]: Reached target bluetooth.target - Bluetooth Support. Apr 06 13:42:43 braindead.localdomain systemd[1]: Started systemd-rfkill.service - Load/Save RF Kill Switch Status. Apr 06 13:42:43 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> Apr 06 13:42:45 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout Apr 06 13:42:45 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) Apr 06 13:42:45 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 Apr 06 13:42:48 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout Apr 06 13:42:48 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) Apr 06 13:42:48 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 Apr 06 13:42:48 braindead.localdomain systemd[1]: systemd-rfkill.service: Deactivated successfully. Apr 06 13:42:48 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=> Do any of y'all see anything that helps? >>> >>> 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! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-06 20:27 ` Wren Turkal 2024-04-06 20:29 ` Wren Turkal @ 2024-04-08 5:22 ` Kalle Valo 2024-04-08 18:35 ` Wren Turkal 2024-04-08 19:49 ` Wren Turkal 2 siblings, 1 reply; 24+ messages in thread From: Kalle Valo @ 2024-04-08 5:22 UTC (permalink / raw) To: Wren Turkal; +Cc: ath11k, linux-bluetooth Wren Turkal <wt@penguintechs.org> writes: >>> 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? Yes, I still have that laptop and I use it as my daily driver. But I don't use Bluetooth and I don't even have the Bluetooth enabled in my .config. BTW ath11k is a Wi-Fi driver so most likely it isn't affecting your problem. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-08 5:22 ` Kalle Valo @ 2024-04-08 18:35 ` Wren Turkal 2024-04-10 7:21 ` Kalle Valo 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-08 18:35 UTC (permalink / raw) To: Kalle Valo; +Cc: ath11k, linux-bluetooth Thanks for letting me know. The wifi is working great. Thank you for your work on that. I doubt you will have time, but if you do have a chance to test it, that would be amazing. I would love to make sure that I am not the only person having this issue, if possible. Thanks, wt On 4/7/24 10:22 PM, Kalle Valo wrote: > Yes, I still have that laptop and I use it as my daily driver. But I > don't use Bluetooth and I don't even have the Bluetooth enabled in my > .config. > > BTW ath11k is a Wi-Fi driver so most likely it isn't affecting your > problem. -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-08 18:35 ` Wren Turkal @ 2024-04-10 7:21 ` Kalle Valo 0 siblings, 0 replies; 24+ messages in thread From: Kalle Valo @ 2024-04-10 7:21 UTC (permalink / raw) To: Wren Turkal; +Cc: ath11k, linux-bluetooth (please don't top post) Wren Turkal <wt@penguintechs.org> writes: > Thanks for letting me know. The wifi is working great. Thank you for > your work on that. > > I doubt you will have time, but if you do have a chance to test it, > that would be amazing. I would love to make sure that I am not the > only person having this issue, if possible. I don't use bluetooth for anything but I'll try to test it at some point, though too busy to do it now. IIRC I had initially bluetooth enabled on the kernel but later disabled it due to problems. It's so long that I can't recall the details anymore. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-06 20:27 ` Wren Turkal 2024-04-06 20:29 ` Wren Turkal 2024-04-08 5:22 ` Kalle Valo @ 2024-04-08 19:49 ` Wren Turkal 2024-04-09 19:53 ` Wren Turkal 2 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-08 19:49 UTC (permalink / raw) To: ath11k, linux-bluetooth, Kalle Valo, Marcel Holtmann, Luiz Augusto von Dentz +Marcel Holtmann <marcel@holtmann.org> +Luiz Augusto von Dentz <luiz.dentz@gmail.com> 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 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! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-08 19:49 ` Wren Turkal @ 2024-04-09 19:53 ` Wren Turkal 2024-04-09 20:02 ` Wren Turkal 2024-04-09 20:03 ` Luiz Augusto von Dentz 0 siblings, 2 replies; 24+ messages in thread From: Wren Turkal @ 2024-04-09 19:53 UTC (permalink / raw) To: ath11k, linux-bluetooth, Kalle Valo, Marcel Holtmann, Luiz Augusto von Dentz On 4/8/24 12:49 PM, Wren Turkal wrote: > +Marcel Holtmann <marcel@holtmann.org> > +Luiz Augusto von Dentz <luiz.dentz@gmail.com> > > 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? >>> >>> 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! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-09 19:53 ` Wren Turkal @ 2024-04-09 20:02 ` Wren Turkal 2024-04-09 20:03 ` Luiz Augusto von Dentz 1 sibling, 0 replies; 24+ messages in thread From: Wren Turkal @ 2024-04-09 20:02 UTC (permalink / raw) To: ath11k, linux-bluetooth, Kalle Valo, Marcel Holtmann, Luiz Augusto von Dentz On 4/9/24 12:53 PM, Wren Turkal wrote: > On 4/8/24 12:49 PM, Wren Turkal wrote: >> +Marcel Holtmann <marcel@holtmann.org> >> +Luiz Augusto von Dentz <luiz.dentz@gmail.com> >> >> 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! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-09 19:53 ` Wren Turkal 2024-04-09 20:02 ` Wren Turkal @ 2024-04-09 20:03 ` Luiz Augusto von Dentz 2024-04-09 20:09 ` Wren Turkal 2024-04-09 20:11 ` Wren Turkal 1 sibling, 2 replies; 24+ messages in thread From: Luiz Augusto von Dentz @ 2024-04-09 20:03 UTC (permalink / raw) To: Wren Turkal; +Cc: ath11k, linux-bluetooth, Kalle Valo, Marcel Holtmann Hi Wren, On Tue, Apr 9, 2024 at 3:53 PM Wren Turkal <wt@penguintechs.org> wrote: > > On 4/8/24 12:49 PM, Wren Turkal wrote: > > +Marcel Holtmann <marcel@holtmann.org> > > +Luiz Augusto von Dentz <luiz.dentz@gmail.com> > > > > 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? 5.19 seems a little too old, imo, or has it been broken for that long, did you at least tried with bluetooth-next? Try contacting the people who actually wrote the driver. > >>> > >>> 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! -- Luiz Augusto von Dentz ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-09 20:03 ` Luiz Augusto von Dentz @ 2024-04-09 20:09 ` Wren Turkal 2024-04-09 20:11 ` Wren Turkal 1 sibling, 0 replies; 24+ messages in thread From: Wren Turkal @ 2024-04-09 20:09 UTC (permalink / raw) To: Luiz Augusto von Dentz Cc: ath11k, linux-bluetooth, Kalle Valo, Marcel Holtmann On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: > Hi Wren, > > On Tue, Apr 9, 2024 at 3:53 PM Wren Turkal <wt@penguintechs.org> wrote: >> >> On 4/8/24 12:49 PM, Wren Turkal wrote: >>> +Marcel Holtmann <marcel@holtmann.org> >>> +Luiz Augusto von Dentz <luiz.dentz@gmail.com> >>> >>> 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? > > 5.19 seems a little too old, imo, or has it been broken for that long, > did you at least tried with bluetooth-next? Try contacting the people > who actually wrote the driver. I tried adding the folks on the To: line who were involved in writing the driver. Having had much luck yet. This is the actual message I am getting to while trying to build the kernel. I turned off the CONFIG_DEBUG_INFO_BTF option to try to get a build. That seems to have worked. Is there some secret method of getting more debug messages from the kernel. Also, is there some way to get access to the qualcomm docs for this hardware? I am not some official kernel dev. Do you know anyone that could help with that? FAILED: load BTF from vmlinux: Invalid argument > >>>>> >>>>> 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! > > > -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-09 20:03 ` Luiz Augusto von Dentz 2024-04-09 20:09 ` Wren Turkal @ 2024-04-09 20:11 ` Wren Turkal 2024-04-10 22:00 ` Wren Turkal 1 sibling, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-09 20:11 UTC (permalink / raw) To: Luiz Augusto von Dentz Cc: ath11k, linux-bluetooth, Kalle Valo, Marcel Holtmann On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: > 5.19 seems a little too old, imo, or has it been broken for that long, > did you at least tried with bluetooth-next? Try contacting the people > who actually wrote the driver. Sorry, I didn't answer your question. Yes, I do think it's been broken for longer than that, but I wanted to confirm. wt -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-09 20:11 ` Wren Turkal @ 2024-04-10 22:00 ` Wren Turkal 2024-04-10 22:40 ` Wren Turkal 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-10 22:00 UTC (permalink / raw) To: Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo +Johan since he's a former BT drivers maintainer. On 4/9/24 1:11 PM, Wren Turkal wrote: > On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >> 5.19 seems a little too old, imo, or has it been broken for that long, >> did you at least tried with bluetooth-next? Try contacting the people >> who actually wrote the driver. > > Sorry, I didn't answer your question. Yes, I do think it's been broken > for longer than that, but I wanted to confirm. Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. I have found the following: * older kernels (6.3 and before) seem to be far less likely to kill on a cycling the bluetooth service. * 6.8/6.9-rcs consistently destroy bluetooth when stopping and restarting the service * If I destroy the bluetooth service with a BT service restart in 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does not work * cold boot works in all cases assuming I give the laptop about 5s between power off/on So, I suspsect that the process of closing out the hardware may be leaving it in a state that the reset cannot handle (and probably never could handle). I also found that qualcomm has docs here: https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation However, I am not a member of a Qualcomm verified company (mentioned in the doc links). Luiz, Marcel, or Johan, do you have any contacts that might be able to help me in getting info about the technical docs for this hardware? I would love to see if I can find any issues in how the hardware is being reset. As an independent dev, I don't even know what it takes to get that kind of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P wt -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-10 22:00 ` Wren Turkal @ 2024-04-10 22:40 ` Wren Turkal 2024-04-11 20:30 ` Wren Turkal 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-10 22:40 UTC (permalink / raw) To: Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/10/24 3:00 PM, Wren Turkal wrote: > +Johan since he's a former BT drivers maintainer. > > On 4/9/24 1:11 PM, Wren Turkal wrote: >> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>> 5.19 seems a little too old, imo, or has it been broken for that long, >>> did you at least tried with bluetooth-next? Try contacting the people >>> who actually wrote the driver. >> >> Sorry, I didn't answer your question. Yes, I do think it's been broken >> for longer than that, but I wanted to confirm. > > Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. > > I have found the following: > > * older kernels (6.3 and before) seem to be far less likely to kill on a > cycling the bluetooth service. > * 6.8/6.9-rcs consistently destroy bluetooth when stopping and > restarting the service > * If I destroy the bluetooth service with a BT service restart in > 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does > not work > * cold boot works in all cases assuming I give the laptop about 5s > between power off/on I just did another experiment on 6.9-rc3. I blacklisted relevant bluetooth modules and then warm booted without the blacklist. I did this for both the "bluetooth" and "btqca" modules. In both cases, I cold booted with and appropriate "module_blacklist" kernel arg. After the boot, I verified the module was not loaded. I then warm booted without the blacklist, and the bluetooth works, so bluetooth only seems to fail when the linux module code for closing the device is run before a warm boot. > So, I suspsect that the process of closing out the hardware may be > leaving it in a state that the reset cannot handle (and probably never > could handle). > > I also found that qualcomm has docs here: > https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation > > However, I am not a member of a Qualcomm verified company (mentioned in > the doc links). Luiz, Marcel, or Johan, do you have any contacts that > might be able to help me in getting info about the technical docs for > this hardware? I would love to see if I can find any issues in how the > hardware is being reset. > > As an independent dev, I don't even know what it takes to get that kind > of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P > > wt -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-10 22:40 ` Wren Turkal @ 2024-04-11 20:30 ` Wren Turkal 2024-04-12 19:46 ` Wren Turkal 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-11 20:30 UTC (permalink / raw) To: Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/10/24 3:40 PM, Wren Turkal wrote: > On 4/10/24 3:00 PM, Wren Turkal wrote: >> +Johan since he's a former BT drivers maintainer. >> >> On 4/9/24 1:11 PM, Wren Turkal wrote: >>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>> did you at least tried with bluetooth-next? Try contacting the people >>>> who actually wrote the driver. >>> >>> Sorry, I didn't answer your question. Yes, I do think it's been >>> broken for longer than that, but I wanted to confirm. >> >> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >> >> I have found the following: >> >> * older kernels (6.3 and before) seem to be far less likely to kill on >> a cycling the bluetooth service. >> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and >> restarting the service >> * If I destroy the bluetooth service with a BT service restart in >> 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does >> not work >> * cold boot works in all cases assuming I give the laptop about 5s >> between power off/on > > I just did another experiment on 6.9-rc3. I blacklisted relevant > bluetooth modules and then warm booted without the blacklist. I did this > for both the "bluetooth" and "btqca" modules. In both cases, I cold > booted with and appropriate "module_blacklist" kernel arg. After the > boot, I verified the module was not loaded. I then warm booted without > the blacklist, and the bluetooth works, so bluetooth only seems to fail > when the linux module code for closing the device is run before a warm > boot. And another experiment. I disabled the bluetooth.service and bluetooth.target with systemctl. I then shutdown and cold booted. After logging into GNOME, starting the service. Similar failures show up in the kernel logs as after the failure during a warm boot: Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth management interface 1.22 initialized Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Failed (0x03) Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider Manager created Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear UUIDs: Failed (0x03) Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY layer initialized Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket layer initialized Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 ... skip some logs about registering modules in the bluetoothd ... Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Product ID :0x00000010 Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC Version :0x400a0200 Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM Version :0x00000200 Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch Version:0x00003ac0 Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA controller version 0x02000200 Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to send TLV segment (-110) Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to download patch (-110) Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:2 Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set mode: Authentication Failed (0x05) Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add Device complete event Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) It looks like the firmware is failing to load. Is there some kind of time limit on loading the firmware after the module is loaded? Why would this work if I allow the service to be started on boot, but not if I wait until after logging into GNOME? >> So, I suspsect that the process of closing out the hardware may be >> leaving it in a state that the reset cannot handle (and probably never >> could handle). >> >> I also found that qualcomm has docs here: >> https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >> >> However, I am not a member of a Qualcomm verified company (mentioned >> in the doc links). Luiz, Marcel, or Johan, do you have any contacts >> that might be able to help me in getting info about the technical docs >> for this hardware? I would love to see if I can find any issues in how >> the hardware is being reset. >> >> As an independent dev, I don't even know what it takes to get that >> kind of access. I would welcome any help here. Hey Qualcomm, are you >> hiring? :P >> >> wt > -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-11 20:30 ` Wren Turkal @ 2024-04-12 19:46 ` Wren Turkal 2024-04-14 12:04 ` quic_zijuhu 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-12 19:46 UTC (permalink / raw) To: Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo, Zijun Hu On 4/11/24 1:30 PM, Wren Turkal wrote: > On 4/10/24 3:40 PM, Wren Turkal wrote: >> On 4/10/24 3:00 PM, Wren Turkal wrote: >>> +Johan since he's a former BT drivers maintainer. >>> >>> On 4/9/24 1:11 PM, Wren Turkal wrote: >>>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>>> did you at least tried with bluetooth-next? Try contacting the people >>>>> who actually wrote the driver. >>>> >>>> Sorry, I didn't answer your question. Yes, I do think it's been >>>> broken for longer than that, but I wanted to confirm. >>> >>> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >>> >>> I have found the following: >>> >>> * older kernels (6.3 and before) seem to be far less likely to kill >>> on a cycling the bluetooth service. >>> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and >>> restarting the service >>> * If I destroy the bluetooth service with a BT service restart in >>> 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does >>> not work >>> * cold boot works in all cases assuming I give the laptop about 5s >>> between power off/on >> >> I just did another experiment on 6.9-rc3. I blacklisted relevant >> bluetooth modules and then warm booted without the blacklist. I did >> this for both the "bluetooth" and "btqca" modules. In both cases, I >> cold booted with and appropriate "module_blacklist" kernel arg. After >> the boot, I verified the module was not loaded. I then warm booted >> without the blacklist, and the bluetooth works, so bluetooth only >> seems to fail when the linux module code for closing the device is run >> before a warm boot. > > And another experiment. I disabled the bluetooth.service and > bluetooth.target with systemctl. I then shutdown and cold booted. After > logging into GNOME, starting the service. Similar failures show up in > the kernel logs as after the failure during a warm boot: > > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth > management interface 1.22 initialized > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: > src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv > Monitors: Failed (0x03) > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider > Manager created > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: > src/device.c:device_set_wake_support() Unable to set wake_support > without RPA resolution > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear > UUIDs: Failed (0x03) > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: > org.bluez.GattManager1.RegisterApplication() failed: > GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call > Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: > org.bluez.GattManager1.RegisterApplication() failed: > GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting > up ROME/QCA6390 > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY > layer initialized > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket > layer initialized > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 > > ... skip some logs about registering modules in the bluetoothd ... > > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA > Product ID :0x00000010 > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC > Version :0x400a0200 > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM > Version :0x00000200 > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch > Version:0x00003ac0 > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA > controller version 0x02000200 > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA > Downloading qca/htbtfw20.tlv > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA > Failed to send TLV segment (-110) > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA > Failed to download patch (-110) > Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT > power ON:0 > Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command > 0xfc00 tx timeout > Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading > QCA version information failed (-110) > Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT > power ON:1 > Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command > 0xfc00 tx timeout > Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading > QCA version information failed (-110) > Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT > power ON:2 > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set > mode: Authentication Failed (0x05) > Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command > 0xfc00 tx timeout > Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading > QCA version information failed (-110) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add > Device complete event > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) > Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add > UUID: Failed (0x03) I have captured a full log of my system since boot including debug messages for the hci_hca.c file. Should I attach that log to a message here? In general, I am not totally certain of how I should track the troubleshooting for this problem. Do y'all want it on the mailing list? > > It looks like the firmware is failing to load. Is there some kind of > time limit on loading the firmware after the module is loaded? > > Why would this work if I allow the service to be started on boot, but > not if I wait until after logging into GNOME? > >>> So, I suspsect that the process of closing out the hardware may be >>> leaving it in a state that the reset cannot handle (and probably >>> never could handle). >>> >>> I also found that qualcomm has docs here: >>> https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >>> >>> However, I am not a member of a Qualcomm verified company (mentioned >>> in the doc links). Luiz, Marcel, or Johan, do you have any contacts >>> that might be able to help me in getting info about the technical >>> docs for this hardware? I would love to see if I can find any issues >>> in how the hardware is being reset. >>> >>> As an independent dev, I don't even know what it takes to get that >>> kind of access. I would welcome any help here. Hey Qualcomm, are you >>> hiring? :P >>> >>> wt >> > -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-12 19:46 ` Wren Turkal @ 2024-04-14 12:04 ` quic_zijuhu 2024-04-15 7:52 ` Wren Turkal 0 siblings, 1 reply; 24+ messages in thread From: quic_zijuhu @ 2024-04-14 12:04 UTC (permalink / raw) To: Wren Turkal, Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/13/2024 3:46 AM, Wren Turkal wrote: > On 4/11/24 1:30 PM, Wren Turkal wrote: >> On 4/10/24 3:40 PM, Wren Turkal wrote: >>> On 4/10/24 3:00 PM, Wren Turkal wrote: >>>> +Johan since he's a former BT drivers maintainer. >>>> >>>> On 4/9/24 1:11 PM, Wren Turkal wrote: >>>>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>>>> did you at least tried with bluetooth-next? Try contacting the people >>>>>> who actually wrote the driver. >>>>> >>>>> Sorry, I didn't answer your question. Yes, I do think it's been broken for longer than that, but I wanted to confirm. >>>> >>>> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >>>> >>>> I have found the following: >>>> >>>> * older kernels (6.3 and before) seem to be far less likely to kill on a cycling the bluetooth service. >>>> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and restarting the service >>>> * If I destroy the bluetooth service with a BT service restart in 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does not work >>>> * cold boot works in all cases assuming I give the laptop about 5s between power off/on >>> >>> I just did another experiment on 6.9-rc3. I blacklisted relevant bluetooth modules and then warm booted without the blacklist. I did this for both the "bluetooth" and "btqca" modules. In both cases, I cold booted with and appropriate "module_blacklist" kernel arg. After the boot, I verified the module was not loaded. I then warm booted without the blacklist, and the bluetooth works, so bluetooth only seems to fail when the linux module code for closing the device is run before a warm boot. >> >> And another experiment. I disabled the bluetooth.service and bluetooth.target with systemctl. I then shutdown and cold booted. After logging into GNOME, starting the service. Similar failures show up in the kernel logs as after the failure during a warm boot: >> >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth management interface 1.22 initialized >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Failed (0x03) >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider Manager created >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear UUIDs: Failed (0x03) >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY layer initialized >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket layer initialized >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 >> >> ... skip some logs about registering modules in the bluetoothd ... >> >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Product ID :0x00000010 >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC Version :0x400a0200 >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM Version :0x00000200 >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch Version:0x00003ac0 >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA controller version 0x02000200 >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to send TLV segment (-110) >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to download patch (-110) >> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 >> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 >> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:2 >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set mode: Authentication Failed (0x05) >> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add Device complete event >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) > > I have captured a full log of my system since boot including debug messages for the hci_hca.c file. Should I attach that log to a message here? In general, I am not totally certain of how I should track the troubleshooting for this problem. Do y'all want it on the mailing list? > >> >> It looks like the firmware is failing to load. Is there some kind of time limit on loading the firmware after the module is loaded? >> >> Why would this work if I allow the service to be started on boot, but not if I wait until after logging into GNOME? >> >>>> So, I suspsect that the process of closing out the hardware may be leaving it in a state that the reset cannot handle (and probably never could handle). >>>> >>>> I also found that qualcomm has docs here: https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >>>> >>>> However, I am not a member of a Qualcomm verified company (mentioned in the doc links). Luiz, Marcel, or Johan, do you have any contacts that might be able to help me in getting info about the technical docs for this hardware? I would love to see if I can find any issues in how the hardware is being reset. >>>> >>>> As an independent dev, I don't even know what it takes to get that kind of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P >>>> >>>> wt >>> >> > Hi Wren, 1) Apply below patch series https://patchwork.kernel.org/project/bluetooth/list/?series=844357 2) Disable BT 3) Power off 4) Power on 5) enable more logs echo "module hci_uart +pft" > /sys/kernel/debug/dynamic_debug/control echo "module btqca +pft" > /sys/kernel/debug/dynamic_debug/control 6) enable BT 7) then check this issue again. several disable/enable or reboot cycles. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-14 12:04 ` quic_zijuhu @ 2024-04-15 7:52 ` Wren Turkal 2024-04-15 8:07 ` quic_zijuhu 0 siblings, 1 reply; 24+ messages in thread From: Wren Turkal @ 2024-04-15 7:52 UTC (permalink / raw) To: quic_zijuhu, Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/14/24 5:04 AM, quic_zijuhu wrote: > On 4/13/2024 3:46 AM, Wren Turkal wrote: >> On 4/11/24 1:30 PM, Wren Turkal wrote: >>> On 4/10/24 3:40 PM, Wren Turkal wrote: >>>> On 4/10/24 3:00 PM, Wren Turkal wrote: >>>>> +Johan since he's a former BT drivers maintainer. >>>>> >>>>> On 4/9/24 1:11 PM, Wren Turkal wrote: >>>>>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>>>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>>>>> did you at least tried with bluetooth-next? Try contacting the people >>>>>>> who actually wrote the driver. >>>>>> >>>>>> Sorry, I didn't answer your question. Yes, I do think it's been broken for longer than that, but I wanted to confirm. >>>>> >>>>> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >>>>> >>>>> I have found the following: >>>>> >>>>> * older kernels (6.3 and before) seem to be far less likely to kill on a cycling the bluetooth service. >>>>> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and restarting the service >>>>> * If I destroy the bluetooth service with a BT service restart in 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does not work >>>>> * cold boot works in all cases assuming I give the laptop about 5s between power off/on >>>> >>>> I just did another experiment on 6.9-rc3. I blacklisted relevant bluetooth modules and then warm booted without the blacklist. I did this for both the "bluetooth" and "btqca" modules. In both cases, I cold booted with and appropriate "module_blacklist" kernel arg. After the boot, I verified the module was not loaded. I then warm booted without the blacklist, and the bluetooth works, so bluetooth only seems to fail when the linux module code for closing the device is run before a warm boot. >>> >>> And another experiment. I disabled the bluetooth.service and bluetooth.target with systemctl. I then shutdown and cold booted. After logging into GNOME, starting the service. Similar failures show up in the kernel logs as after the failure during a warm boot: >>> >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth management interface 1.22 initialized >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Failed (0x03) >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider Manager created >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear UUIDs: Failed (0x03) >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY layer initialized >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket layer initialized >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 >>> >>> ... skip some logs about registering modules in the bluetoothd ... >>> >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Product ID :0x00000010 >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC Version :0x400a0200 >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM Version :0x00000200 >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch Version:0x00003ac0 >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA controller version 0x02000200 >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to send TLV segment (-110) >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to download patch (-110) >>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 >>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 >>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:2 >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set mode: Authentication Failed (0x05) >>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add Device complete event >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >> >> I have captured a full log of my system since boot including debug messages for the hci_hca.c file. Should I attach that log to a message here? In general, I am not totally certain of how I should track the troubleshooting for this problem. Do y'all want it on the mailing list? >> >>> >>> It looks like the firmware is failing to load. Is there some kind of time limit on loading the firmware after the module is loaded? >>> >>> Why would this work if I allow the service to be started on boot, but not if I wait until after logging into GNOME? >>> >>>>> So, I suspsect that the process of closing out the hardware may be leaving it in a state that the reset cannot handle (and probably never could handle). >>>>> >>>>> I also found that qualcomm has docs here: https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >>>>> >>>>> However, I am not a member of a Qualcomm verified company (mentioned in the doc links). Luiz, Marcel, or Johan, do you have any contacts that might be able to help me in getting info about the technical docs for this hardware? I would love to see if I can find any issues in how the hardware is being reset. >>>>> >>>>> As an independent dev, I don't even know what it takes to get that kind of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P >>>>> >>>>> wt >>>> >>> >> > Hi Wren, > > 1) Apply below patch series > https://patchwork.kernel.org/project/bluetooth/list/?series=844357 > > 2) Disable BT > > 3) Power off > > 4) Power on > > 5) enable more logs > echo "module hci_uart +pft" > /sys/kernel/debug/dynamic_debug/control > echo "module btqca +pft" > /sys/kernel/debug/dynamic_debug/control > > 6) enable BT > > 7) then check this issue again. several disable/enable or reboot cycles. Working on it. What would you like me to capture from the logs, only kernel log or kernel+bluetooth service or something else? Also, how would you like me to share the logs? Do you want me to attach them to a reply mail or paste them into the body of a reply email or something else? -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-15 7:52 ` Wren Turkal @ 2024-04-15 8:07 ` quic_zijuhu 2024-04-15 8:51 ` Wren Turkal 0 siblings, 1 reply; 24+ messages in thread From: quic_zijuhu @ 2024-04-15 8:07 UTC (permalink / raw) To: Wren Turkal, Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/15/2024 3:52 PM, Wren Turkal wrote: > On 4/14/24 5:04 AM, quic_zijuhu wrote: >> On 4/13/2024 3:46 AM, Wren Turkal wrote: >>> On 4/11/24 1:30 PM, Wren Turkal wrote: >>>> On 4/10/24 3:40 PM, Wren Turkal wrote: >>>>> On 4/10/24 3:00 PM, Wren Turkal wrote: >>>>>> +Johan since he's a former BT drivers maintainer. >>>>>> >>>>>> On 4/9/24 1:11 PM, Wren Turkal wrote: >>>>>>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>>>>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>>>>>> did you at least tried with bluetooth-next? Try contacting the people >>>>>>>> who actually wrote the driver. >>>>>>> >>>>>>> Sorry, I didn't answer your question. Yes, I do think it's been broken for longer than that, but I wanted to confirm. >>>>>> >>>>>> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >>>>>> >>>>>> I have found the following: >>>>>> >>>>>> * older kernels (6.3 and before) seem to be far less likely to kill on a cycling the bluetooth service. >>>>>> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and restarting the service >>>>>> * If I destroy the bluetooth service with a BT service restart in 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does not work >>>>>> * cold boot works in all cases assuming I give the laptop about 5s between power off/on >>>>> >>>>> I just did another experiment on 6.9-rc3. I blacklisted relevant bluetooth modules and then warm booted without the blacklist. I did this for both the "bluetooth" and "btqca" modules. In both cases, I cold booted with and appropriate "module_blacklist" kernel arg. After the boot, I verified the module was not loaded. I then warm booted without the blacklist, and the bluetooth works, so bluetooth only seems to fail when the linux module code for closing the device is run before a warm boot. >>>> >>>> And another experiment. I disabled the bluetooth.service and bluetooth.target with systemctl. I then shutdown and cold booted. After logging into GNOME, starting the service. Similar failures show up in the kernel logs as after the failure during a warm boot: >>>> >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth management interface 1.22 initialized >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Failed (0x03) >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider Manager created >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear UUIDs: Failed (0x03) >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY layer initialized >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket layer initialized >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 >>>> >>>> ... skip some logs about registering modules in the bluetoothd ... >>>> >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Product ID :0x00000010 >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC Version :0x400a0200 >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM Version :0x00000200 >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch Version:0x00003ac0 >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA controller version 0x02000200 >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to send TLV segment (-110) >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to download patch (-110) >>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 >>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 >>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:2 >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set mode: Authentication Failed (0x05) >>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add Device complete event >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>> >>> I have captured a full log of my system since boot including debug messages for the hci_hca.c file. Should I attach that log to a message here? In general, I am not totally certain of how I should track the troubleshooting for this problem. Do y'all want it on the mailing list? >>> >>>> >>>> It looks like the firmware is failing to load. Is there some kind of time limit on loading the firmware after the module is loaded? >>>> >>>> Why would this work if I allow the service to be started on boot, but not if I wait until after logging into GNOME? >>>> >>>>>> So, I suspsect that the process of closing out the hardware may be leaving it in a state that the reset cannot handle (and probably never could handle). >>>>>> >>>>>> I also found that qualcomm has docs here: https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >>>>>> >>>>>> However, I am not a member of a Qualcomm verified company (mentioned in the doc links). Luiz, Marcel, or Johan, do you have any contacts that might be able to help me in getting info about the technical docs for this hardware? I would love to see if I can find any issues in how the hardware is being reset. >>>>>> >>>>>> As an independent dev, I don't even know what it takes to get that kind of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P >>>>>> >>>>>> wt >>>>> >>>> >>> >> Hi Wren, >> >> 1) Apply below patch series >> https://patchwork.kernel.org/project/bluetooth/list/?series=844357 >> >> 2) Disable BT >> >> 3) Power off >> >> 4) Power on >> >> 5) enable more logs >> echo "module hci_uart +pft" > /sys/kernel/debug/dynamic_debug/control >> echo "module btqca +pft" > /sys/kernel/debug/dynamic_debug/control >> >> 6) enable BT >> >> 7) then check this issue again. several disable/enable or reboot cycles. > > Working on it. > > What would you like me to capture from the logs, only kernel log or kernel+bluetooth service or something else? > only kernel log. > Also, how would you like me to share the logs? Do you want me to attach them to a reply mail or paste them into the body of a reply email or something else? > you maybe report this issue to bugzilla and track with bugzilla if you is easy for you. otherwise, paste them into the body of a reply email. ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-15 8:07 ` quic_zijuhu @ 2024-04-15 8:51 ` Wren Turkal 2024-04-15 9:29 ` quic_zijuhu 2024-04-15 11:34 ` quic_zijuhu 0 siblings, 2 replies; 24+ messages in thread From: Wren Turkal @ 2024-04-15 8:51 UTC (permalink / raw) To: quic_zijuhu, Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/15/24 1:07 AM, quic_zijuhu wrote: > On 4/15/2024 3:52 PM, Wren Turkal wrote: >> On 4/14/24 5:04 AM, quic_zijuhu wrote: >>> On 4/13/2024 3:46 AM, Wren Turkal wrote: >>>> On 4/11/24 1:30 PM, Wren Turkal wrote: >>>>> On 4/10/24 3:40 PM, Wren Turkal wrote: >>>>>> On 4/10/24 3:00 PM, Wren Turkal wrote: >>>>>>> +Johan since he's a former BT drivers maintainer. >>>>>>> >>>>>>> On 4/9/24 1:11 PM, Wren Turkal wrote: >>>>>>>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>>>>>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>>>>>>> did you at least tried with bluetooth-next? Try contacting the people >>>>>>>>> who actually wrote the driver. >>>>>>>> >>>>>>>> Sorry, I didn't answer your question. Yes, I do think it's been broken for longer than that, but I wanted to confirm. >>>>>>> >>>>>>> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >>>>>>> >>>>>>> I have found the following: >>>>>>> >>>>>>> * older kernels (6.3 and before) seem to be far less likely to kill on a cycling the bluetooth service. >>>>>>> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and restarting the service >>>>>>> * If I destroy the bluetooth service with a BT service restart in 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does not work >>>>>>> * cold boot works in all cases assuming I give the laptop about 5s between power off/on >>>>>> >>>>>> I just did another experiment on 6.9-rc3. I blacklisted relevant bluetooth modules and then warm booted without the blacklist. I did this for both the "bluetooth" and "btqca" modules. In both cases, I cold booted with and appropriate "module_blacklist" kernel arg. After the boot, I verified the module was not loaded. I then warm booted without the blacklist, and the bluetooth works, so bluetooth only seems to fail when the linux module code for closing the device is run before a warm boot. >>>>> >>>>> And another experiment. I disabled the bluetooth.service and bluetooth.target with systemctl. I then shutdown and cold booted. After logging into GNOME, starting the service. Similar failures show up in the kernel logs as after the failure during a warm boot: >>>>> >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth management interface 1.22 initialized >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Failed (0x03) >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider Manager created >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear UUIDs: Failed (0x03) >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY layer initialized >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket layer initialized >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 >>>>> >>>>> ... skip some logs about registering modules in the bluetoothd ... >>>>> >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Product ID :0x00000010 >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC Version :0x400a0200 >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM Version :0x00000200 >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch Version:0x00003ac0 >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA controller version 0x02000200 >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to send TLV segment (-110) >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to download patch (-110) >>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 >>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 >>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:2 >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set mode: Authentication Failed (0x05) >>>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add Device complete event >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>> >>>> I have captured a full log of my system since boot including debug messages for the hci_hca.c file. Should I attach that log to a message here? In general, I am not totally certain of how I should track the troubleshooting for this problem. Do y'all want it on the mailing list? >>>> >>>>> >>>>> It looks like the firmware is failing to load. Is there some kind of time limit on loading the firmware after the module is loaded? >>>>> >>>>> Why would this work if I allow the service to be started on boot, but not if I wait until after logging into GNOME? >>>>> >>>>>>> So, I suspsect that the process of closing out the hardware may be leaving it in a state that the reset cannot handle (and probably never could handle). >>>>>>> >>>>>>> I also found that qualcomm has docs here: https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >>>>>>> >>>>>>> However, I am not a member of a Qualcomm verified company (mentioned in the doc links). Luiz, Marcel, or Johan, do you have any contacts that might be able to help me in getting info about the technical docs for this hardware? I would love to see if I can find any issues in how the hardware is being reset. >>>>>>> >>>>>>> As an independent dev, I don't even know what it takes to get that kind of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P >>>>>>> >>>>>>> wt >>>>>> >>>>> >>>> >>> Hi Wren, >>> >>> 1) Apply below patch series >>> https://patchwork.kernel.org/project/bluetooth/list/?series=844357 >>> >>> 2) Disable BT >>> >>> 3) Power off >>> >>> 4) Power on >>> >>> 5) enable more logs >>> echo "module hci_uart +pft" > /sys/kernel/debug/dynamic_debug/control >>> echo "module btqca +pft" > /sys/kernel/debug/dynamic_debug/control >>> >>> 6) enable BT >>> >>> 7) then check this issue again. several disable/enable or reboot cycles. >> >> Working on it. >> >> What would you like me to capture from the logs, only kernel log or kernel+bluetooth service or something else? >> > only kernel log. >> Also, how would you like me to share the logs? Do you want me to attach them to a reply mail or paste them into the body of a reply email or something else? >> > you maybe report this issue to bugzilla and track with bugzilla if you is easy for you. otherwise, paste them into the body of a reply email. Done...https://bugzilla.kernel.org/show_bug.cgi?id=218726. See you in bugzilla. -- You're more amazing than you think! ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-15 8:51 ` Wren Turkal @ 2024-04-15 9:29 ` quic_zijuhu 2024-04-15 11:34 ` quic_zijuhu 1 sibling, 0 replies; 24+ messages in thread From: quic_zijuhu @ 2024-04-15 9:29 UTC (permalink / raw) To: Wren Turkal, Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/15/2024 4:51 PM, Wren Turkal wrote: > On 4/15/24 1:07 AM, quic_zijuhu wrote: >> On 4/15/2024 3:52 PM, Wren Turkal wrote: >>> On 4/14/24 5:04 AM, quic_zijuhu wrote: >>>> On 4/13/2024 3:46 AM, Wren Turkal wrote: >>>>> On 4/11/24 1:30 PM, Wren Turkal wrote: >>>>>> On 4/10/24 3:40 PM, Wren Turkal wrote: >>>>>>> On 4/10/24 3:00 PM, Wren Turkal wrote: >>>>>>>> +Johan since he's a former BT drivers maintainer. >>>>>>>> >>>>>>>> On 4/9/24 1:11 PM, Wren Turkal wrote: >>>>>>>>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>>>>>>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>>>>>>>> did you at least tried with bluetooth-next? Try contacting the people >>>>>>>>>> who actually wrote the driver. >>>>>>>>> >>>>>>>>> Sorry, I didn't answer your question. Yes, I do think it's been broken for longer than that, but I wanted to confirm. >>>>>>>> >>>>>>>> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >>>>>>>> >>>>>>>> I have found the following: >>>>>>>> >>>>>>>> * older kernels (6.3 and before) seem to be far less likely to kill on a cycling the bluetooth service. >>>>>>>> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and restarting the service >>>>>>>> * If I destroy the bluetooth service with a BT service restart in 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does not work >>>>>>>> * cold boot works in all cases assuming I give the laptop about 5s between power off/on >>>>>>> >>>>>>> I just did another experiment on 6.9-rc3. I blacklisted relevant bluetooth modules and then warm booted without the blacklist. I did this for both the "bluetooth" and "btqca" modules. In both cases, I cold booted with and appropriate "module_blacklist" kernel arg. After the boot, I verified the module was not loaded. I then warm booted without the blacklist, and the bluetooth works, so bluetooth only seems to fail when the linux module code for closing the device is run before a warm boot. >>>>>> >>>>>> And another experiment. I disabled the bluetooth.service and bluetooth.target with systemctl. I then shutdown and cold booted. After logging into GNOME, starting the service. Similar failures show up in the kernel logs as after the failure during a warm boot: >>>>>> >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth management interface 1.22 initialized >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider Manager created >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear UUIDs: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY layer initialized >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket layer initialized >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 >>>>>> >>>>>> ... skip some logs about registering modules in the bluetoothd ... >>>>>> >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Product ID :0x00000010 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC Version :0x400a0200 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM Version :0x00000200 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch Version:0x00003ac0 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA controller version 0x02000200 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to send TLV segment (-110) >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to download patch (-110) >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 >>>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 >>>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:2 >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set mode: Authentication Failed (0x05) >>>>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add Device complete event >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> >>>>> I have captured a full log of my system since boot including debug messages for the hci_hca.c file. Should I attach that log to a message here? In general, I am not totally certain of how I should track the troubleshooting for this problem. Do y'all want it on the mailing list? >>>>> >>>>>> >>>>>> It looks like the firmware is failing to load. Is there some kind of time limit on loading the firmware after the module is loaded? >>>>>> >>>>>> Why would this work if I allow the service to be started on boot, but not if I wait until after logging into GNOME? >>>>>> >>>>>>>> So, I suspsect that the process of closing out the hardware may be leaving it in a state that the reset cannot handle (and probably never could handle). >>>>>>>> >>>>>>>> I also found that qualcomm has docs here: https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >>>>>>>> >>>>>>>> However, I am not a member of a Qualcomm verified company (mentioned in the doc links). Luiz, Marcel, or Johan, do you have any contacts that might be able to help me in getting info about the technical docs for this hardware? I would love to see if I can find any issues in how the hardware is being reset. >>>>>>>> >>>>>>>> As an independent dev, I don't even know what it takes to get that kind of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P >>>>>>>> >>>>>>>> wt >>>>>>> >>>>>> >>>>> >>>> Hi Wren, >>>> >>>> 1) Apply below patch series >>>> https://patchwork.kernel.org/project/bluetooth/list/?series=844357 >>>> >>>> 2) Disable BT >>>> >>>> 3) Power off >>>> >>>> 4) Power on >>>> >>>> 5) enable more logs >>>> echo "module hci_uart +pft" > /sys/kernel/debug/dynamic_debug/control >>>> echo "module btqca +pft" > /sys/kernel/debug/dynamic_debug/control >>>> >>>> 6) enable BT >>>> >>>> 7) then check this issue again. several disable/enable or reboot cycles. >>> >>> Working on it. >>> >>> What would you like me to capture from the logs, only kernel log or kernel+bluetooth service or something else? >>> >> only kernel log. >>> Also, how would you like me to share the logs? Do you want me to attach them to a reply mail or paste them into the body of a reply email or something else? >>> >> you maybe report this issue to bugzilla and track with bugzilla if you is easy for you. otherwise, paste them into the body of a reply email. > > Done...https://bugzilla.kernel.org/show_bug.cgi?id=218726. See you in bugzilla. > from log. it seems you don't apply the patch series successfully form log. i will respond at the bugzilla further ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: QCA6390 bluetooth doesn't work after warm boot or disable/reenable 2024-04-15 8:51 ` Wren Turkal 2024-04-15 9:29 ` quic_zijuhu @ 2024-04-15 11:34 ` quic_zijuhu 1 sibling, 0 replies; 24+ messages in thread From: quic_zijuhu @ 2024-04-15 11:34 UTC (permalink / raw) To: Wren Turkal, Luiz Augusto von Dentz, Marcel Holtmann, Johan Hedberg Cc: ath11k, linux-bluetooth, Kalle Valo On 4/15/2024 4:51 PM, Wren Turkal wrote: > On 4/15/24 1:07 AM, quic_zijuhu wrote: >> On 4/15/2024 3:52 PM, Wren Turkal wrote: >>> On 4/14/24 5:04 AM, quic_zijuhu wrote: >>>> On 4/13/2024 3:46 AM, Wren Turkal wrote: >>>>> On 4/11/24 1:30 PM, Wren Turkal wrote: >>>>>> On 4/10/24 3:40 PM, Wren Turkal wrote: >>>>>>> On 4/10/24 3:00 PM, Wren Turkal wrote: >>>>>>>> +Johan since he's a former BT drivers maintainer. >>>>>>>> >>>>>>>> On 4/9/24 1:11 PM, Wren Turkal wrote: >>>>>>>>> On 4/9/24 1:03 PM, Luiz Augusto von Dentz wrote: >>>>>>>>>> 5.19 seems a little too old, imo, or has it been broken for that long, >>>>>>>>>> did you at least tried with bluetooth-next? Try contacting the people >>>>>>>>>> who actually wrote the driver. >>>>>>>>> >>>>>>>>> Sorry, I didn't answer your question. Yes, I do think it's been broken for longer than that, but I wanted to confirm. >>>>>>>> >>>>>>>> Okay, so I tried 6.9-rc3 and every main release 5.19-6.8. >>>>>>>> >>>>>>>> I have found the following: >>>>>>>> >>>>>>>> * older kernels (6.3 and before) seem to be far less likely to kill on a cycling the bluetooth service. >>>>>>>> * 6.8/6.9-rcs consistently destroy bluetooth when stopping and restarting the service >>>>>>>> * If I destroy the bluetooth service with a BT service restart in 6.9-rc3 and warm reboot into any release back to 5.19, bluetooth does not work >>>>>>>> * cold boot works in all cases assuming I give the laptop about 5s between power off/on >>>>>>> >>>>>>> I just did another experiment on 6.9-rc3. I blacklisted relevant bluetooth modules and then warm booted without the blacklist. I did this for both the "bluetooth" and "btqca" modules. In both cases, I cold booted with and appropriate "module_blacklist" kernel arg. After the boot, I verified the module was not loaded. I then warm booted without the blacklist, and the bluetooth works, so bluetooth only seems to fail when the linux module code for closing the device is run before a warm boot. >>>>>> >>>>>> And another experiment. I disabled the bluetooth.service and bluetooth.target with systemctl. I then shutdown and cold booted. After logging into GNOME, starting the service. Similar failures show up in the kernel logs as after the failure during a warm boot: >>>>>> >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Bluetooth management interface 1.22 initialized >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/adapter.c:reset_adv_monitors_complete() Failed to reset Adv Monitors: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Battery Provider Manager created >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: MGMT ver 1.22 >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: src/device.c:device_set_wake_support() Unable to set wake_support without RPA resolution >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to clear UUIDs: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>>>> Apr 11 13:17:54 braindead.localdomain wireplumber[2139]: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Invalid method call >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: setting up ROME/QCA6390 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM TTY layer initialized >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM socket layer initialized >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: RFCOMM ver 1.11 >>>>>> >>>>>> ... skip some logs about registering modules in the bluetoothd ... >>>>>> >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Product ID :0x00000010 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA SOC Version :0x400a0200 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA ROM Version :0x00000200 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Patch Version:0x00003ac0 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA controller version 0x02000200 >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Downloading qca/htbtfw20.tlv >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to send TLV segment (-110) >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: QCA Failed to download patch (-110) >>>>>> Apr 11 13:17:54 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:0 >>>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>>> Apr 11 13:17:57 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:1 >>>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>>> Apr 11 13:17:59 braindead.localdomain kernel: Bluetooth: hci0: Retry BT power ON:2 >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to set mode: Authentication Failed (0x05) >>>>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: command 0xfc00 tx timeout >>>>>> Apr 11 13:18:01 braindead.localdomain kernel: Bluetooth: hci0: Reading QCA version information failed (-110) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Too small Add Device complete event >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>>> Apr 11 13:18:01 braindead.localdomain bluetoothd[4408]: Failed to add UUID: Failed (0x03) >>>>> >>>>> I have captured a full log of my system since boot including debug messages for the hci_hca.c file. Should I attach that log to a message here? In general, I am not totally certain of how I should track the troubleshooting for this problem. Do y'all want it on the mailing list? >>>>> >>>>>> >>>>>> It looks like the firmware is failing to load. Is there some kind of time limit on loading the firmware after the module is loaded? >>>>>> >>>>>> Why would this work if I allow the service to be started on boot, but not if I wait until after logging into GNOME? >>>>>> >>>>>>>> So, I suspsect that the process of closing out the hardware may be leaving it in a state that the reset cannot handle (and probably never could handle). >>>>>>>> >>>>>>>> I also found that qualcomm has docs here: https://www.qualcomm.com/products/technology/wi-fi/fastconnect/fastconnect-6800#Documentation >>>>>>>> >>>>>>>> However, I am not a member of a Qualcomm verified company (mentioned in the doc links). Luiz, Marcel, or Johan, do you have any contacts that might be able to help me in getting info about the technical docs for this hardware? I would love to see if I can find any issues in how the hardware is being reset. >>>>>>>> >>>>>>>> As an independent dev, I don't even know what it takes to get that kind of access. I would welcome any help here. Hey Qualcomm, are you hiring? :P >>>>>>>> >>>>>>>> wt >>>>>>> >>>>>> >>>>> >>>> Hi Wren, >>>> >>>> 1) Apply below patch series >>>> https://patchwork.kernel.org/project/bluetooth/list/?series=844357 >>>> >>>> 2) Disable BT >>>> >>>> 3) Power off >>>> >>>> 4) Power on >>>> >>>> 5) enable more logs >>>> echo "module hci_uart +pft" > /sys/kernel/debug/dynamic_debug/control >>>> echo "module btqca +pft" > /sys/kernel/debug/dynamic_debug/control >>>> >>>> 6) enable BT >>>> >>>> 7) then check this issue again. several disable/enable or reboot cycles. >>> >>> Working on it. >>> >>> What would you like me to capture from the logs, only kernel log or kernel+bluetooth service or something else? >>> >> only kernel log. >>> Also, how would you like me to share the logs? Do you want me to attach them to a reply mail or paste them into the body of a reply email or something else? >>> >> you maybe report this issue to bugzilla and track with bugzilla if you is easy for you. otherwise, paste them into the body of a reply email. > > Done...https://bugzilla.kernel.org/show_bug.cgi?id=218726. See you in bugzilla. > i have reverted below fix Fixes: 56d074d26c58 ("Bluetooth: hci_qca: don't use IS_ERR_OR_NULL() with gpiod_get_optional()") update the patch [v1,2/2] to https://patchwork.kernel.org/project/bluetooth/patch/1713175927-13093-1-git-send-email-quic_zijuhu@quicinc.com/ you maybe apply it and try again. ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2024-04-15 11:34 UTC | newest] Thread overview: 24+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-04-04 19:14 QCA6390 bluetooth doesn't work after warm boot or disable/reenable Wren Turkal 2024-04-06 20:16 ` Wren Turkal 2024-04-06 20:27 ` Wren Turkal 2024-04-06 20:29 ` Wren Turkal 2024-04-06 20:50 ` Wren Turkal 2024-04-08 5:22 ` Kalle Valo 2024-04-08 18:35 ` Wren Turkal 2024-04-10 7:21 ` Kalle Valo 2024-04-08 19:49 ` Wren Turkal 2024-04-09 19:53 ` Wren Turkal 2024-04-09 20:02 ` Wren Turkal 2024-04-09 20:03 ` Luiz Augusto von Dentz 2024-04-09 20:09 ` Wren Turkal 2024-04-09 20:11 ` Wren Turkal 2024-04-10 22:00 ` Wren Turkal 2024-04-10 22:40 ` Wren Turkal 2024-04-11 20:30 ` Wren Turkal 2024-04-12 19:46 ` Wren Turkal 2024-04-14 12:04 ` quic_zijuhu 2024-04-15 7:52 ` Wren Turkal 2024-04-15 8:07 ` quic_zijuhu 2024-04-15 8:51 ` Wren Turkal 2024-04-15 9:29 ` quic_zijuhu 2024-04-15 11:34 ` quic_zijuhu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox