Dopo l'aggiornamento del mio sistema Debian, da debian 11 (bullseye) a debian 12 (bookworm), ho avuto problemi con il pacchetto alsa-utils che gestisce l'audio.
Il mio pc è un portatile HP; mentre la versione di alsa-utils
giorgio@hp:~$ apt show alsa-utils Package: alsa-utils Version: 1.2.8-1
Ho provato ad impostare l'audio che era completamente muto con alsamixer:
root@hp:~# alsamixer
Vedo che la scheda audio (card) è HDMI. Premo F6 o s per vedere le schede audio presenti nel pc...
Seleziono la seconda scheda audio. Abilito e aumento i volumi:
Ora provo l'audio usando strumenti e file messi a disposizione da alsa, con:
root@hp:~# aplay /usr/share/sounds/alsa/Noise.wav ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave aplay: main:831: audio open error: File o directory non esistente
Niente da fare. Guardo l'ordine delle schede audio con:
La scheda PCH che vorrei andasse al primo posto è ancora al quarto posto.
A questo punto controllo quali driver usa la scheda PCH con:
root@hp:~# lspci -knngrep -iA2 audio 00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06) Subsystem: Hewlett-Packard Company Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [103c:1967] Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel -- 00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05) Subsystem: Hewlett-Packard Company 8 Series/C220 Series Chipset High Definition Audio Controller [103c:1967] Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel
Bene, ora so che il kernel usa il modulo snd_hda_intel, devo solo metterlo di default nella lista dei moduli. Quindi entro nella cartella: root@hp:~# cd /etc/modprobe.d/
Ora con un editor di testo, io uso vim, scrivo questa riga nel file default.conf, se non c'è lo creo:
options snd_hda_intel index=1
Salvo e chiudo il file. Vedo come è composta questa cartella:
root@hp:/etc/modprobe.d# ls -l totale 24 -rw-r--r-- 1 root root 169 8 nov 23.03 alsa-base.conf -rw-r--r-- 1 root root 479 18 ott 18.52 bumblebee.conf -rw-r--r-- 1 root root 30 9 nov 18.07 default.conf -rw-r--r-- 1 root root 127 25 ott 2016 dkms.conf -rw-r--r-- 1 root root 58 15 nov 2019 nobeep.conf -rw-r--r-- 1 root root 20 23 lug 2017 qemu-blacklist.conf
Ora devo dare la possibilità al kernel di caricare questa istruzione con un reboot del pc:
root@hp:~# reboot
Ora una controllata all'ordine delle schede audio:
giorgio@hp:~$ aplay /usr/share/sounds/alsa/Noise.wav Playing WAVE '/usr/share/sounds/alsa/Noise.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
OK Per curiosità provo alsamixer:
giorgio@hp:~$ alsamixer
Si apre subito sulla scheda PCH.
NOTE: 1) l'utente deve appartenere al gruppo audio 2) non deve essere installato il server audio pulseaudio perchè questo programma prende il sopravvento su alsa.