fp6-img/aports/device/soc-fairphone-fp6-audio
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 01ee20ddba
aports: extract vendor blobs before udev coldplug so first-boot audio fully works
The preset fix (6ecc1dc) makes the unit run, but multi-user is too late: the
sound card probes at ~21 s, hard-fails (-2, no retry) on the missing ACF, and
the extractor's amp rebind at ~60 s cannot re-form a card whose machine
driver already failed. Re-probing the machine driver does re-form it, but a
late-formed card has a dead capture path - the wcd9378 TX sequencer refuses
PS0 (act_ps 0x3) until the next boot. So rebinding after the fact can never
fully win; extraction has to happen before the drivers probe.

- fp6-vendor-blobs.service: DefaultDependencies=no, run after remount-fs and
  before systemd-udev-trigger, so blobs exist before module coldplug.
  multi-user stays a second Wants as a post-udev retry if the early run
  failed (by-partlabel/make-dynpart-mappings fallbacks need udev).
- aw88261-acf.manifest: add 'rebind platform sound' so the fallback path at
  least recovers playback the same boot (capture then heals on reboot).
- fp6-vendor-blobs.post-upgrade (pkgrel 1): systemctl preset + immediate
  extract, so installs of the 2026-08-24 image (unit shipped disabled, no
  version bump to deliver the preset) finally heal via plain apk upgrade.
- soc-fairphone-fp6-audio pkgrel 1: carries the manifest change.

Verified on the dev phone with the exact staged bytes (sha256-compared):
simulated fresh install (ACF removed, reboot) extracts at 13.3 s, coldplug
probes the amps at 15.1 s, card init at 20.9 s loads the ACF cleanly, and a
1 kHz speaker-to-mic loopback passes on that same first boot with zero TX
sequencer warnings; next boot takes the all-dests-present fast path in 25 ms.
Evidence: fp6 repo journal/blobs/, 2026-08-29.

Assisted-by: Claude:claude-fable-5
2026-09-15 22:36:12 +02:00
..
50-echo-cancel.conf audio: select the pipewire backend explicitly and ban the pulse one 2026-08-09 00:32:11 +02:00
APKBUILD aports: extract vendor blobs before udev coldplug so first-boot audio fully works 2026-09-15 22:36:12 +02:00
aw88261-acf.manifest aports: extract vendor blobs before udev coldplug so first-boot audio fully works 2026-09-15 22:36:12 +02:00
fp6-tplg.bin aports: add soc-fairphone-fp6-audio (topology, amp config, UCM) 2026-08-08 20:48:28 +02:00
HiFi.conf aports: add soc-fairphone-fp6-audio (topology, amp config, UCM) 2026-08-08 20:48:28 +02:00
soc-fairphone-fp6-audio.post-install aports: extract aw88261_acf.bin on-device instead of shipping it 2026-08-24 21:00:34 +02:00
soc-fairphone-fp6-audio.post-upgrade aports: extract aw88261_acf.bin on-device instead of shipping it 2026-08-24 21:00:34 +02:00
ucm-milos-fp6.conf aports: add soc-fairphone-fp6-audio (topology, amp config, UCM) 2026-08-08 20:48:28 +02:00