# Problema audio snd_hda_intel

## Cristian75

Salve io ho un problemino sulla scheda sonora.

Ogni tanto, a volte dopo 10 minuti, a volte dopo 4 ore, la scheda strippa e comincia ad emettere dei rumoracci.

Il problemino c'è sempre stato sulla mia gentoo, ho cercato di risolverlo con vani tentativi.

Allego alcune cose che ho notato e penso possano essere di aiuto.

```
cristian@Gentoo ~ $ sudo tail -8000 /var/log/messages|grep -Ei '(sound|alsa|hda)'

Password: 

Oct 16 20:01:29 Gentoo kernel: HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22

Oct 16 20:01:29 Gentoo kernel: HDA Intel 0000:00:1b.0: setting latency timer to 64

Oct 16 20:01:29 Gentoo kernel: hda_codec: ALC889: BIOS auto-probing.

Oct 16 20:02:14 Gentoo pulseaudio[21324]: alsa-util.c: Disabling timer-based scheduling because high-resolution timers are not available from the kernel.

Oct 16 20:02:15 Gentoo pulseaudio[21324]: alsa-util.c: Disabling timer-based scheduling because high-resolution timers are not available from the kernel.

Oct 16 20:02:20 Gentoo pulseaudio[21324]: alsa-sink.c: Attivazione da parte di ALSA per scrivere nuovi dati sul dispositivo, ma non c'era nulla da scrivere.

Oct 16 20:02:20 Gentoo pulseaudio[21324]: alsa-sink.c: Molto probabilmente si tratta di un bug nei driver ALSA "snd_hda_intel". Segnalare questo problema agli sviluppatori di ALSA.

Oct 16 20:02:20 Gentoo pulseaudio[21324]: alsa-sink.c: Attivazione avvenuta con POLLOUT impostato -- tuttavia, una successiva snd_pcm_avail() ha ritornato 0 o un altro valore < min_avail.

Oct 17 16:31:17 Gentoo kernel: HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22

Oct 17 16:31:17 Gentoo kernel: HDA Intel 0000:00:1b.0: setting latency timer to 64

Oct 17 16:31:17 Gentoo kernel: hda_codec: ALC889: BIOS auto-probing.

Oct 17 16:32:02 Gentoo pulseaudio[21321]: alsa-util.c: Disabling timer-based scheduling because high-resolution timers are not available from the kernel.

Oct 17 16:32:02 Gentoo pulseaudio[21321]: alsa-util.c: Disabling timer-based scheduling because high-resolution timers are not available from the kernel.

Oct 17 16:33:21 Gentoo pulseaudio[21321]: alsa-sink.c: Attivazione da parte di ALSA per scrivere nuovi dati sul dispositivo, ma non c'era nulla da scrivere.

Oct 17 16:33:21 Gentoo pulseaudio[21321]: alsa-sink.c: Molto probabilmente si tratta di un bug nei driver ALSA "snd_hda_intel". Segnalare questo problema agli sviluppatori di ALSA.

Oct 17 16:33:21 Gentoo pulseaudio[21321]: alsa-sink.c: Attivazione avvenuta con POLLOUT impostato -- tuttavia, una successiva snd_pcm_avail() ha ritornato 0 o un altro valore < min_avail.

Oct 18 09:02:02 Gentoo kernel: HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22

Oct 18 09:02:02 Gentoo kernel: HDA Intel 0000:00:1b.0: setting latency timer to 64

Oct 18 09:02:02 Gentoo kernel: hda_codec: ALC889: BIOS auto-probing.

Oct 18 09:02:47 Gentoo pulseaudio[21319]: alsa-util.c: Disabling timer-based scheduling because high-resolution timers are not available from the kernel.

Oct 18 09:02:47 Gentoo pulseaudio[21319]: alsa-util.c: Disabling timer-based scheduling because high-resolution timers are not available from the kernel.

Oct 18 09:02:52 Gentoo pulseaudio[21319]: alsa-sink.c: Attivazione da parte di ALSA per scrivere nuovi dati sul dispositivo, ma non c'era nulla da scrivere.

Oct 18 09:02:52 Gentoo pulseaudio[21319]: alsa-sink.c: Molto probabilmente si tratta di un bug nei driver ALSA "snd_hda_intel". Segnalare questo problema agli sviluppatori di ALSA.

Oct 18 09:02:52 Gentoo pulseaudio[21319]: alsa-sink.c: Attivazione avvenuta con POLLOUT impostato -- tuttavia, una successiva snd_pcm_avail() ha ritornato 0 o un altro valore < min_avail.

```

Premetto che ho ricompilato il kernel, attivando il timer ad alta risoluzione (credo di aver attivato la funzione giusta anche se non sembra)

Grazie se serve altro chiedete che allego il tutto.

----------

## darkmanPPT

beh, innanzitutto potresti postare il problema agli sviluppatori di ALSA.

secondo, secondo me potresti mettere il driver della scheda audio come modulo. se va in crash, ricarica il modulo  :Wink: 

Terzo, cosa intendi con

 *Quote:*   

> Premetto che ho ricompilato il kernel, attivando il timer ad alta risoluzione

  ?

posta l'opzione che hai attivato

( cat /usr/src/linux/.config | grep <quelcheèchehaiattivato> )

riavviare alsasound sistema le cose?

vedo che usi pulseaudio. la faccenda si ripete anche senza usare pulseaudio?

----------

## Cristian75

 *darkmanPPT wrote:*   

> beh, innanzitutto potresti postare il problema agli sviluppatori di ALSA.
> 
> secondo, secondo me potresti mettere il driver della scheda audio come modulo. se va in crash, ricarica il modulo 
> 
> Terzo, cosa intendi con
> ...

 

il modulo non crasha, la scheda continua a suonare ma suona male molto male, praticamente non si riescono più a capire che canzone si stia ascoltando.

per farsi che la scheda torni ad andare bene basta chiudere il programma che la stava usando, dopo di che aspetti 20 secondi e riapri il programma.

l'opzione che ho attivato nel kernel dovrebbe essere questa

```
CONFIG_HIGH_RES_TIMERS=y
```

  domani la cerco attentamente al limite posto uno screen del menuconfig 

posto il config intero in caso possa servire.

link---> http://pastebin.com/Fqk8vgR5

----------

## darkmanPPT

allora, non credo che tale opzione possa in qualche modo compromettere alsa.

anche io ce l'ho attivata.

hai per caso attivato

dento Device Drivers -> Real Time Clock

CONFIG_RTC_DRV_CMOS

CONFIG_RTC_INTF_SYSFS

CONFIG_RTC_INTF_PROC

CONFIG_RTC_INTF_DEV

??

se no, prova. non so perchè, ma il tuo errore, su internet, è spesso correlato a gente che sta lavorando con pulseaudio (che in qualche modo cerca di accedere ad un clock soft-realtime).

 *Quote:*   

> Oct 16 20:01:29 Gentoo kernel: HDA Intel 0000:00:1b.0: setting latency timer to 64 

 

anche da te, infatti, sta cercando di impostare una determinata latenza (ergo device realtime)

fai sapere

----------

## Cristian75

 *darkmanPPT wrote:*   

> allora, non credo che tale opzione possa in qualche modo compromettere alsa.
> 
> anche io ce l'ho attivata.
> 
> hai per caso attivato
> ...

 

allora il problema lo sempre avuto anche prima di mettere pulseaudio.

nel kernel alla voce Real Time Clock non c'è nulla di settato.

http://img168.imageshack.us/img168/3006/kernelgentoooooooooo.jpg

questa è una opzione che avevo attivato ---> http://img249.imageshack.us/img249/1458/kernelgentoooooooooo2.jpg

questa è una altra modifica mia ---> http://img233.imageshack.us/img233/5240/kernelgentoooooooooo3.jpg

poi ho settato sotto la voce processore il mio processore del resto e un genkernel come mamma gentoo lo fa.

grazie

----------

## darkmanPPT

ma quindi, non ho capito...

ma ora ti funziona o non è cambiato nulla?

perchè, pensavo, se si verificava anche prima di usare pulseaudio, beh.... allora, probabilmente, è un problema di alsa e tu non ci puoi fare niente, se non segnalare il bug agli sviluppatori.

altro non so dirti. sorry

----------

## Cristian75

 *darkmanPPT wrote:*   

> ma quindi, non ho capito...
> 
> ma ora ti funziona o non è cambiato nulla?
> 
> perchè, pensavo, se si verificava anche prima di usare pulseaudio, beh.... allora, probabilmente, è un problema di alsa e tu non ci puoi fare niente, se non segnalare il bug agli sviluppatori.
> ...

 

Scusa forse mi sono spiegato male io, cmq si ho sempre avuto questo problema anche prima di pulseaudio.

il problema non si è risolto.

provo a segnalare il problema agli sviluppatori alsa 

spero di riuscire a fare una segnalazione decente.

mi devo documentare, non so come contattarli.

----------

## Cristian75

Segnalato il problema.

cmq se avete qualche prova da poter fare ditelo.

grazie.

----------

## Cristian75

Forse ho parzialmente risolto, vi faro sapere con certezza fra qualche giorno.

grazie a tutti.

----------

