docs: audio root causes found; WiFi narrowed to the modem's own RF path

Audio: Fedora has never built CONFIG_SND_SOC_WSA881X, the speaker-amp
driver the in-tree DTS requires; with it built out of tree the card
registers and plays. The din-ports message is a harmless warning. Also
record the S24_LE format defect and the sink-stealing traps (AirPlay,
Bluetooth, phantom headphone jack) that masqueraded as broken audio.

WiFi: every published modem firmware build (five distinct across nine
WOA versions) and kernel 6.12 all fail identically at QLINK, the link to
the SDR845 RF transceiver. This unit is an LTE SKU with working modem
history under Windows, fsg/fsc are blank, and the modem asks rmtfs for
unknown fsg_oem partitions. Fedora's tqftpserv also serves different
paths than the old aarch64-laptops one — the earlier instructions here
were wrong for it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XgGF5wfxLDAybVnNz6eNQ
This commit is contained in:
2026-07-28 12:02:19 +03:00
parent 9b28150c86
commit 7585c5f147
2 changed files with 163 additions and 46 deletions

View File

@@ -33,9 +33,10 @@ login. Root is locked.
| Works | Works once you supply firmware | Does not work |
|---|---|---|
| UFS storage, USB, keyboard, touchpad, touchscreen | Adreno 630 initialises — see mesa note below | Audio — kernel driver, not firmware |
| Display (unaccelerated), battery, charging | Sensor hub — accelerometer, auto-rotate | Onboard WiFi — loaded by the modem, which does not stay up |
| USB WiFi dongles, USB phone tethering | Hardware video decode (venus, `/dev/video0-3`) | LTE modem — crashes at RF init, cause unknown |
| UFS storage, USB, keyboard, touchpad, touchscreen | Adreno 630 initialises — see mesa note below | Onboard WiFi — loaded by the modem, which does not stay up |
| Display (unaccelerated), battery, charging | Sensor hub — accelerometer, auto-rotate | LTE modem — crashes at RF init; see docs/firmware.md for what has been ruled out |
| USB WiFi dongles, USB phone tethering | Hardware video decode (venus, `/dev/video0-3`) | |
| Bluetooth — the controller has no burned-in address; `c630-bt-addr.service` reads the factory one off the DPP partition at boot | Audio — needs `qcadsp850.mbn` plus one kernel module Fedora does not build; see docs/firmware.md | |
Verified on hardware. `docs/firmware.md` has the evidence for each, including
the things that look like they should help and do not.
@@ -153,9 +154,13 @@ installed packages as missing — see [docs/install.md](docs/install.md).
With the per-model firmware supplied, the GPU initialises, the ADSP, CDSP and
SLPI all run, sensors appear as IIO devices and venus registers `/dev/video0-3`.
Audio and onboard WiFi remain broken for reasons unrelated to firmware — see
[docs/firmware.md](docs/firmware.md), which records both the evidence and the
several plausible fixes that turn out not to work.
Audio additionally needs one kernel module Fedora does not build
(`CONFIG_SND_SOC_WSA881X`); with it compiled out of tree, the sound card
registers and the speakers play. Onboard WiFi remains broken: the modem that
hosts the WLAN firmware dies at RF init, and firmware versions, userspace
services and kernel 6.12-vs-7.1 have all been eliminated as the cause — see
[docs/firmware.md](docs/firmware.md), which records the evidence and the many
plausible fixes that turn out not to work.
The internal drive needs `build/install-to-disk.sh` rather than `dd`: its UFS
uses 4096-byte logical sectors, which the 512-byte image geometry cannot be