Se trovi utile il mio blog sostienimi con una piccola donazione. GRAZIE

Linux e scheda audio Intel (poppling audio)

Ormai da diverso tempo il mio portatile soffriva di un problema con la scheda audio che mi obbligava ad evitare come la peste le distribuzioni basate su Ubuntu o Debian testing (stesso problema con Bodhi Linux).
L’accoppiata nuovi kernel con la mia Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller era diabolico trasformando il mio PC in uno snervante metronomo che generava un click circa al secondo. (poppling audio)
Dopo un bel pò di test ho scoperto che il problema e’ generato dal gestore dell’energia che , quando il portatile funziona da batteria , mi spegne la scheda audio che , non so’ per quale motivo , non ne vuole sapere di spegnersi e si riaccende.

Dando da terminale i seguenti comandi il problema si risolve :

echo 0 > /sys/module/snd_hda_intel/parameters/power_save
echo N > /sys/module/snd_hda_intel/parameters/power_save_controller

Ma alla connessione e successiva disconnessione dell’alimentatore il tutto ritorna ad essere un metronomo.

A questo punto ho trovato la soluzione creando un file script eseguibile chiamato 00-offaudiops all’interno della cartella \etc\pm\power.d .

Lo script deve essere creato come utente root e ovviamente essere eseguibile.
Tutti gli script messi all’interno di questa cartella vengono eseguito se viene generato un’evento dal gestore dell’alimentazione.

Il contenuto dello script è il seguente:

#!/bin/bash
case $1 in
 true)
   # Disable audio power saving
   echo 0 > /sys/module/snd_hda_intel/parameters/power_save"
   echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
   ;;
 false)
   # Disable audio power saving
   echo 0 > /sys/module/snd_hda_intel/parameters/power_save"
   echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
 ;;
esac

XUBUNTU

in Xubuntu il metodo sopra descritto non funziona siccome prima viene eseguito lo script messo nella directory power.d e poi vengono eseguite le impostazioni dal manager dell’energia andando ovviamente a sovrascrive le nostre impostazioni .

La soluzione è quindi spostare lo script 00-offaudiops in una directory in /opt per esempio /opt/snd modificandolo come sotto :

#!/bin/bash
sleep 5
# Disable audio power saving
echo 0 > /sys/module/snd_hda_intel/parameters/power_save
echo N > /sys/module/snd_hda_intel/parameters/power_save_controller

Ho quindi una pausa di 5 secondi (sleep 5) per attendere che vengano eseguite le impostazioni da parte del manager dell’energia per poi andarle a sovrascrivere.

In \etc\pm\power.d  dobbiamo creare un’altro script (io l’ho chiamato start) che richiamerà lo script delle impostazioni :

#!/bin/bash
/opt/snd/00-offaudiops

Potrebbe essere necessario aggiustare il tempo di attesa prima di sovrascrive le impostazioni eseguite dal sistema.

 

Comments are closed.