Skip to content

Latest commit

 

History

History
32 lines (26 loc) · 1.55 KB

File metadata and controls

32 lines (26 loc) · 1.55 KB

Audio — il fix delle casse interne

Il problema

Il codec Cirrus Logic CS8409 (subsystem Apple 0x106b3900) è supportato a metà dal driver kernel standard: le cuffie funzionano, ma l'autoconfig riporta speaker_outs=0 — gli amplificatori delle casse non vengono mai inizializzati.

Il fix

davidjo/snd_hda_macbookpro patcha snd-hda-codec-cs8409 con l'inizializzazione degli ampli Apple (I²C). Installato via DKMS (snd_hda_macbookpro/0.1): si ricompila da solo a ogni aggiornamento kernel. Script: scripts/04-audio-cs8409.sh.

⚠ Il trucco del mini-tarball HWE (serve di nuovo a ogni nuova linea kernel HWE)

Lo script di build esige /usr/src/linux-source-<ver>.tar.bz2. Ubuntu non pubblica i sorgenti dei kernel HWE. Lo script di questa repo risolve così:

  1. clone sparso di solo sound/hda dal git ufficiale del kernel Ubuntu, al tag esatto del kernel in esecuzione (pochi MB invece di ~250);
  2. impacchettamento in un mini-tarball con la struttura attesa dalla build;
  3. copia in /usr/src e build DKMS.

Se dopo un aggiornamento kernel le casse tornano mute: rilanciare sudo scripts/04-audio-cs8409.sh (ricava tag e percorsi da uname -r).

Verifica

pw-play /usr/share/sounds/alsa/Front_Center.wav   # una voce dice "front center"

Il modulo patchato in uso si conferma con modinfo -F filename snd-hda-codec-cs8409 che punta a updates/dkms/, e dal modulo extra snd_hda_scodec_component in lsmod — il driver standard non lo carica mai.