From: bugzilla-daemon@kernel.org
To: linux-bluetooth@vger.kernel.org
Subject: [Bug 221598] Bluetooth: btusb/btrtl RTL8821C 0bda:c821 HFP/mSBC microphone stutters with bursty SCO RX delivery
Date: Sat, 30 May 2026 22:12:47 +0000 [thread overview]
Message-ID: <bug-221598-62941-ZECWEKs7bL@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-221598-62941@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=221598
--- Comment #8 from Alexander Paderin (apocarteres@gmail.com) ---
Additional update: loading the RTL8821CE Wi-Fi-side driver dramatically
improves Bluetooth HFP/mSBC RX stability on this RTL8821CE combo module.
Hardware topology:
- Bluetooth: Realtek `0bda:c821`, internal USB Full-Speed device, handled by
`btusb`
- Wi-Fi: Realtek RTL8821CE PCIe `10ec:c821`, handled by `rtw88_8821ce` /
`rtw_8821ce`
I ran the same near/far/near2 Bluetooth HFP microphone range test twice:
1. Wi-Fi driver not loaded.
2. Wi-Fi driver loaded manually, but Wi-Fi radio kept disabled in
NetworkManager.
State during the improved run:
```text
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE
802.11ac PCIe Wireless Network Adapter [10ec:c821]
Kernel driver in use: rtw_8821ce
Kernel modules: rtw88_8821ce
WIFI-HW WIFI WWAN-HW WWAN
enabled disabled missing enabled
wlp2s0 DOWN
```
Kernel log also showed the Wi-Fi firmware initialized:
```text
rtw_8821ce 0000:02:00.0: Firmware version 24.11.0, H2C version 12
```
Results:
| run | Wi-Fi driver | phase | RSSI avg | RSSI min | RX markers | RX bad seq/k
| RX bad dist/k | TX bad seq | TX bad dist |
|---|---|---|---:|---:|---:|---:|---:|---:|---:|
| `range-sco-test-20260531-005925` | not loaded | near | -38.9 | -42 | 1976 |
1.01 | 3.54 | 0 | 0 |
| `range-sco-test-20260531-005925` | not loaded | far | -58.1 | -70 | 3528 |
123.30 | 103.74 | 0 | 0 |
| `range-sco-test-20260531-005925` | not loaded | near2 | -49.6 | -54 | 1936 |
38.74 | 31.51 | 0 | 0 |
| `range-sco-test-20260531-010648` | loaded, Wi-Fi radio off | near | -46.7 |
-52 | 1975 | 1.01 | 1.01 | 0 | 0 |
| `range-sco-test-20260531-010648` | loaded, Wi-Fi radio off | far | -53.9 |
-60 | 3989 | 2.51 | 2.51 | 0 | 0 |
| `range-sco-test-20260531-010648` | loaded, Wi-Fi radio off | near2 | -53.1 |
-64 | 1984 | 6.55 | 6.55 | 0 | 0 |
The important result is the far phase:
- RX bad sequence rate dropped from `123.30/k` to `2.51/k`.
- RX bad distance rate dropped from `103.74/k` to `2.51/k`.
- TX remained clean in both runs.
- RSSI no longer collapsed to `-70 dBm`; the improved run bottomed at `-60
dBm`.
Because Wi-Fi remained disabled and the interface stayed down, this improvement
does not appear to come from active Wi-Fi traffic. It appears to come from the
Wi-Fi-side driver/firmware initialization of the same RTL8821CE combo chip.
This strongly suggests that the Linux Bluetooth-only initialization path for
`0bda:c821` leaves the combo chip in a worse Bluetooth RX/range state than the
state after `rtw_8821ce` initializes the Wi-Fi side. The likely area is Realtek
combo-chip coexistence/RF/antenna-path/shared firmware state.
Practical workaround on this machine:
- keep `rtw88_8821ce` loadable and loaded at boot;
- keep Wi-Fi radio disabled if Wi-Fi is not needed.
Local captures/reports:
- `captures/range-sco-test-20260531-005925.snoop`
- `captures/range-sco-test-20260531-005925-metrics.csv`
- `reports/range-sco-test-20260531-005925-analysis.md`
- `captures/range-sco-test-20260531-010648.snoop`
- `captures/range-sco-test-20260531-010648-metrics.csv`
- `reports/range-sco-test-20260531-010648-analysis.md`
- `reports/rtl8821ce-wifi-driver-coex-range-comparison-20260531.md`
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are the assignee for the bug.
prev parent reply other threads:[~2026-05-30 22:12 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-30 15:18 [Bug 221598] New: Bluetooth: btusb/btrtl RTL8821C 0bda:c821 HFP/mSBC microphone stutters with bursty SCO RX delivery bugzilla-daemon
2026-05-30 15:19 ` [Bug 221598] " bugzilla-daemon
2026-05-30 15:20 ` bugzilla-daemon
2026-05-30 15:25 ` bugzilla-daemon
2026-05-30 15:27 ` bugzilla-daemon
2026-05-30 15:32 ` bugzilla-daemon
2026-05-30 16:21 ` bugzilla-daemon
2026-05-30 16:23 ` bugzilla-daemon
2026-05-30 21:38 ` bugzilla-daemon
2026-05-30 22:12 ` bugzilla-daemon [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-221598-62941-ZECWEKs7bL@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.