mirror of
https://github.com/shenmintao/aic8800d80.git
synced 2026-09-26 17:44:16 +00:00
test: add btusb ZLP quirk for issue 63
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# Issue #63: system `btusb` ZLP test
|
||||
|
||||
This test keeps the normal `aic_load_fw + btusb` architecture. It does not
|
||||
restore or install the vendor `aic_btusb` driver.
|
||||
|
||||
The patch adds one quirk to the standard Linux `btusb` source:
|
||||
|
||||
- match only AICSemi `368b:8d81`;
|
||||
- set `URB_ZERO_PACKET` on Bluetooth ACL bulk OUT transfers;
|
||||
- leave every other `btusb` device and code path unchanged.
|
||||
|
||||
The test installer downloads the standard `btusb` source matching the running
|
||||
kernel's upstream version, applies the patch, and installs the resulting
|
||||
`btusb.ko` through DKMS. The distribution module is not overwritten and can be
|
||||
restored by removing the DKMS test package.
|
||||
|
||||
## Install the test module
|
||||
|
||||
On Fedora, make sure the test build dependencies are installed:
|
||||
|
||||
```bash
|
||||
sudo dnf install dkms gcc make kernel-devel-$(uname -r) curl patch
|
||||
```
|
||||
|
||||
Stop Bluetooth scanning and disconnect Bluetooth devices, then run:
|
||||
|
||||
```bash
|
||||
cd tests/issue63-btusb-zlp
|
||||
sudo ./btusb-zlp-test.sh install
|
||||
./btusb-zlp-test.sh status
|
||||
```
|
||||
|
||||
`modinfo -n btusb` should point to an `updates/dkms` path. Secure Boot systems
|
||||
may require the DKMS module to be signed or enrolled before it can load.
|
||||
|
||||
Select AAC again and play audio for at least one hour:
|
||||
|
||||
```bash
|
||||
bluetoothctl scan off
|
||||
pactl set-card-profile bluez_card.28_6F_40_46_AB_B1 a2dp-sink-aac
|
||||
```
|
||||
|
||||
Please capture `sudo btmon -w issue63-zlp.btsnoop` and relevant `dmesg` lines if
|
||||
the connection still stalls.
|
||||
|
||||
## Restore the distribution module
|
||||
|
||||
```bash
|
||||
sudo ./btusb-zlp-test.sh remove
|
||||
./btusb-zlp-test.sh status
|
||||
```
|
||||
|
||||
After removal, `modinfo -n btusb` should point back to the distribution's
|
||||
`kernel/drivers/bluetooth/btusb.ko` path.
|
||||
|
||||
## Scope
|
||||
|
||||
This is an A/B diagnostic patch, not a production workaround. If AAC remains
|
||||
stable, the small kernel patch can be submitted upstream. If it still fails,
|
||||
the next isolated experiment should add an AIC-specific runtime-PM quirk rather
|
||||
than replacing the standard Bluetooth driver.
|
||||
Reference in New Issue
Block a user