* [PATCH] Bluetooth: qca: Disable SoC debug logging for WCN3990
@ 2026-11-05 20:19 Hex Lindqvist
2026-11-06 9:44 ` Bartosz Golaszewski
2026-11-06 10:57 ` Paul Menzel
0 siblings, 2 replies; 3+ messages in thread
From: Hex Lindqvist @ 2026-11-05 20:19 UTC (permalink / raw)
To: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz
Cc: linux-bluetooth, linux-arm-msm, linux-kernel
Unless the host turns it off, the WCN3990 firmware sends debug logs to
the host as ACL packets on handle 0x2EDC. hci_qca passes them on as
diagnostic packets, which the core copies to the monitor socket and then
frees. On a OnePlus 6T (SoC version 0x40010214, ROM version 0x0201) that
is a packet of about 490 bytes every seven seconds on average, for as
long as the controller is up.
The driver already turns this logging off after the firmware download
for WCN3950 and WCN3991. Do the same for WCN3990.
Tested on a OnePlus 6T. With the crbtfw21.tlv rampatch from the OnePlus
firmware, no diagnostic packets arrive any more. The controller also
accepts the command with the crbtfw21.tlv from linux-firmware.
An AI assistant helped find and test this change and drafted this
message.
Signed-off-by: Hex Lindqvist <hex@freenixos.com>
---
Notes:
Test details (OnePlus 6T, crnv21.bin from the OnePlus firmware, counts
from btmon):
- v7.2.10 with the postmarketOS sdm845 patches, OnePlus crbtfw21.tlv:
87 diagnostic packets in a ten-minute capture started a minute after
boot without this patch, none with it.
- bluetooth-next (31333770a468), same firmware, btmon from boot: 42 in
the first seven minutes without this patch, none with it; the command
succeeded at every setup. Plain bluetooth-next hangs this phone after
about seven minutes with or without this patch, hence the shorter
window.
- v7.2.10 with linux-firmware's crbtfw21.tlv (its only WCN3990
rampatch): the controller returns success for the command (btmon
during setup; not a ten-minute run).
Not tested on other WCN3990 boards.
drivers/bluetooth/btqca.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index 60735b70d89a..1db2cc626def 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -944,6 +944,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
case QCA_QCA2066:
case QCA_QCA6390:
case QCA_WCN3950:
+ case QCA_WCN3990:
case QCA_WCN3991:
case QCA_WCN6750:
case QCA_WCN6855:
base-commit: a063a00e6cd9e354aa6d67a154a0527951d7f881
--
2.56.0
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] Bluetooth: qca: Disable SoC debug logging for WCN3990
2026-11-05 20:19 [PATCH] Bluetooth: qca: Disable SoC debug logging for WCN3990 Hex Lindqvist
@ 2026-11-06 9:44 ` Bartosz Golaszewski
2026-11-06 10:57 ` Paul Menzel
1 sibling, 0 replies; 3+ messages in thread
From: Bartosz Golaszewski @ 2026-11-06 9:44 UTC (permalink / raw)
To: Hex Lindqvist
Cc: Marcel Holtmann, Luiz Augusto von Dentz, linux-bluetooth,
linux-arm-msm, linux-kernel
On Thu, Nov 05, 2026 at 12:19:52PM -0800, Hex Lindqvist wrote:
> Unless the host turns it off, the WCN3990 firmware sends debug logs to
> the host as ACL packets on handle 0x2EDC. hci_qca passes them on as
> diagnostic packets, which the core copies to the monitor socket and then
> frees. On a OnePlus 6T (SoC version 0x40010214, ROM version 0x0201) that
> is a packet of about 490 bytes every seven seconds on average, for as
> long as the controller is up.
>
> The driver already turns this logging off after the firmware download
> for WCN3950 and WCN3991. Do the same for WCN3990.
>
> Tested on a OnePlus 6T. With the crbtfw21.tlv rampatch from the OnePlus
> firmware, no diagnostic packets arrive any more. The controller also
> accepts the command with the crbtfw21.tlv from linux-firmware.
>
> An AI assistant helped find and test this change and drafted this
> message.
>
> Signed-off-by: Hex Lindqvist <hex@freenixos.com>
> ---
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Bluetooth: qca: Disable SoC debug logging for WCN3990
2026-11-05 20:19 [PATCH] Bluetooth: qca: Disable SoC debug logging for WCN3990 Hex Lindqvist
2026-11-06 9:44 ` Bartosz Golaszewski
@ 2026-11-06 10:57 ` Paul Menzel
1 sibling, 0 replies; 3+ messages in thread
From: Paul Menzel @ 2026-11-06 10:57 UTC (permalink / raw)
To: Hex Lindqvist
Cc: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz,
linux-bluetooth, linux-arm-msm, linux-kernel
Dear Hex,
Thank you for your patch.
Am 05.11.26 um 21:19 schrieb Hex Lindqvist:
> Unless the host turns it off, the WCN3990 firmware sends debug logs to
> the host as ACL packets on handle 0x2EDC. hci_qca passes them on as
> diagnostic packets, which the core copies to the monitor socket and then
> frees. On a OnePlus 6T (SoC version 0x40010214, ROM version 0x0201) that
> is a packet of about 490 bytes every seven seconds on average, for as
> long as the controller is up.
Does Linux log anything about this? Maybe, also paste an excerpt from
btmon capture?
> The driver already turns this logging off after the firmware download
> for WCN3950 and WCN3991. Do the same for WCN3990.
>
> Tested on a OnePlus 6T. With the crbtfw21.tlv rampatch from the OnePlus
> firmware, no diagnostic packets arrive any more. The controller also
> accepts the command with the crbtfw21.tlv from linux-firmware.
Both firmware file names are the same. What is the difference?
> An AI assistant helped find and test this change and drafted this
> message.
>
> Signed-off-by: Hex Lindqvist <hex@freenixos.com>
> ---
>
> Notes:
> Test details (OnePlus 6T, crnv21.bin from the OnePlus firmware, counts
> from btmon):
>
> - v7.2.10 with the postmarketOS sdm845 patches, OnePlus crbtfw21.tlv:
> 87 diagnostic packets in a ten-minute capture started a minute after
> boot without this patch, none with it.
> - bluetooth-next (31333770a468), same firmware, btmon from boot: 42 in
> the first seven minutes without this patch, none with it; the command
> succeeded at every setup. Plain bluetooth-next hangs this phone after
> about seven minutes with or without this patch, hence the shorter
> window.
> - v7.2.10 with linux-firmware's crbtfw21.tlv (its only WCN3990
> rampatch): the controller returns success for the command (btmon
> during setup; not a ten-minute run).
>
> Not tested on other WCN3990 boards.
>
> drivers/bluetooth/btqca.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
> index 60735b70d89a..1db2cc626def 100644
> --- a/drivers/bluetooth/btqca.c
> +++ b/drivers/bluetooth/btqca.c
> @@ -944,6 +944,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
> case QCA_QCA2066:
> case QCA_QCA6390:
> case QCA_WCN3950:
> + case QCA_WCN3990:
> case QCA_WCN3991:
> case QCA_WCN6750:
> case QCA_WCN6855:
The diff looks good.
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Kind regards,
Paul
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-11-06 10:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-05 20:19 [PATCH] Bluetooth: qca: Disable SoC debug logging for WCN3990 Hex Lindqvist
2026-11-06 9:44 ` Bartosz Golaszewski
2026-11-06 10:57 ` Paul Menzel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®