Pagina 1 di 1

[RISOLTO] Audio: a volte sì, a volte no...

Inviato: sab nov 10, 2012 17:04
da daniele50
Ciao,
sulla Slackware64 14.0 stable ho un problema con l'audio (scheda audio integrata): normalmente funziona tutto bene, a volte invece accendo il pc e non c'è audio.
Se faccio partire un mp3 con Audacious mi esce il seguente errore:

Codice: Seleziona tutto

ALSA error: snd_mixer_find_selem failed.
ALSA error: snd_pcm_open failed: File o directory non esistente.

Allora riavvio il pc e funziona tutto...

La differenza tra quando non funziona e quando funziona è questa:
in dmesg quando ho il problema c'è questo:

Codice: Seleziona tutto

[    4.957679] input: HDA ATI SB Headphone as /devices/pci0000:00/0000:00:14.2/sound/card1/input7

quando invece funziona c'è questo:

Codice: Seleziona tutto

[    4.282503] input: HDA ATI SB Headphone as /devices/pci0000:00/0000:00:14.2/sound/card0/input3

Può essere questo il problema? Se sì, come risolvere? Se no, cos'altro posso controllare?

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 9:12
da sya54M
viene caricato prima il modulo di un'altra scheda audio e la vera scheda audio venendo caricata dopo rimane come secondaria.
puoi blacklistare il modulo dell'altra scheda audio e caricarlo manualmente per far si che si carichi dopo
o puoi compilare il modulo della vera scheda audio staticamente nell'immagine del kernel in modo che sia sempre caricato per primo (soluzione che preferisco io)
o creare un file in /etc/modprobe.d che carichi i moduli nell'ordine che vuoi tu

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 12:48
da daniele50
Eccoli:

Codice: Seleziona tutto

[    4.918595] input: HDA ATI SB Headphone as /devices/pci0000:00/0000:00:14.2/sound/card0/input6
[    5.125232] input: UVC Camera (046d:09a4) as /devices/pci0000:00/0000:00:13.5/usb1/1-4/1-4:1.0/input/input7

la scheda audio e la WebCam usb con il microfono inegrato.
Cercando in giro ho trovato diverse soluzioni:

1. creando il file /etc/modprobe.d/alsa-base così composto:

Codice: Seleziona tutto

options snd_hda_intel index = 0
options snd_usb_audio index = 1

però a qualcuno non funziona bene e ripiegano su altre soluzioni;

2. creando il file /etc/modprobe.d/blacklist.conf e "blacklistando" il modulo incriminato (che però non so come si chiama il modulo, forse snd_usb_audio?):

Codice: Seleziona tutto

lsmod | grep usb
snd_usb_audio          93339  1
snd_usbmidi_lib        18672  1 snd_usb_audio
snd_rawmidi            18825  1 snd_usbmidi_lib
usbhid                 35615  0
hid                    82876  1 usbhid
snd_hwdep               6324  2 snd_hda_codec,snd_usb_audio
snd_pcm                72864  4 snd_hda_codec,snd_hda_intel,snd_usb_audio,snd_pcm_oss
snd                    57796  18 snd_timer,snd_pcm,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_hda_codec_realtek,snd_seq_device,snd_rawmidi,snd_usbmidi_lib,snd_usb_audio,snd_mixer_oss,snd_pcm_oss,snd_seq,snd_seq_oss


3.
sya54M ha scritto:compilare il modulo della vera scheda audio staticamente nell'immagine del kernel in modo che sia sempre caricato per primo

che però non so come si fa...

Suggerimenti sui punti 2 o 3 ??

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 13:10
da sya54M
per blacklistare il modulo, crei un file con un nome a piacere, l'importante è che stia nella directory /etc/modprobe.d quindi meglio se ha un nome intuitivo che ricorda il nome del modulo stesso:
/etc/modprobe.d/snd_usb_audio.conf con questo contenuto:

Codice: Seleziona tutto

blacklist snd_usb_audio

questa soluzione però ha per contro che se per esempio vuoi usare un telefono usb (perchè usa lo stesso driver) che è più utile dell'audio della webcam, devi caricare il modulo a mano con modprobe.

per la soluzione che preferisco io invece, immagono che non hai mai compilato il kernel, il che merita una spiegazione a parte

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 14:50
da pino
Io ho avuto lo stesso problema dopo l'acquisto della webcam e lo ho risolto col tuo punto 1
Funziona perfettamente. Hai già provato?


[
daniele50 ha scritto:1. creando il file /etc/modprobe.d/alsa-base così composto:Codice: Seleziona tutto
options snd_hda_intel index = 0
0options snd_usb_audio index = 1

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 15:01
da sya54M
pino ha scritto:Io ho avuto lo stesso problema dopo l'acquisto della webcam e lo ho risolto col tuo punto 1
Funziona perfettamente. Hai già provato?


[
daniele50 ha scritto:1. creando il file /etc/modprobe.d/alsa-base così composto:Codice: Seleziona tutto
options snd_hda_intel index = 0
0options snd_usb_audio index = 1

questo è il terzo metodo che avevo citato anch'io, però può capitare che il modulo venga caricato ancor prima di leggere le impostazioni e non avrebbe effetto

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 16:47
da daniele50
sya54M ha scritto:
pino ha scritto:Io ho avuto lo stesso problema dopo l'acquisto della webcam e lo ho risolto col tuo punto 1
Funziona perfettamente. Hai già provato?

Ora provo, e se funziona evito di usare il blacklist.
sya54M ha scritto:per la soluzione che preferisco io invece, immagono che non hai mai compilato il kernel, il che merita una spiegazione a parte

Ho già ricompilato il kernel più volte: dalla slackware 12 alla 13.37 ero in currente, e quindi quando veniva aggiornata la versione del kernel ricompilavo. Ora con la 14 sono partito da zero formattando tutto (volevo fare un po' di pulizia perché col tempo ho fatto un po' di cavolate...).
Quello che mi chiedo è: come si chiamano e dove si trovano i moduli che devo includere nel kernel (in modo che siano già presenti al suo interno e che non vengano caricati appunto come moduli aggiontivi)?

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 16:48
da rik70
Si può fare la stessa cosa passando le opzioni come parametri di avvio, se ci sono dubbi che quanto messo in /etc/modprobe.d/ possa essere ignorato.

La sintassi è questa (o dovrebbe essere):
nome-modulo-del-kernel.opzione=<valore>

Nel caso specifico:

Codice: Seleziona tutto

snd-hda-intel.index=0 snd-usb-audio.index=1

Ciao

P.s.
Si dovrebbe evitare così la "rogna" di ricompilarsi il kernel.

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 17:21
da daniele50
rik70 ha scritto:Si può fare la stessa cosa passando le opzioni come parametri di avvio, se ci sono dubbi che quanto messo in /etc/modprobe.d/ possa essere ignorato.

La sintassi è questa (o dovrebbe essere):
nome-modulo-del-kernel.opzione=<valore>

Nel caso specifico:

Codice: Seleziona tutto

snd-hda-intel.index=0 snd-usb-audio.index=1

Ciao

P.s.
Si dovrebbe evitare così la "rogna" di ricompilarsi il kernel.

Come si fa? Si tratta di modificare lilo.conf?

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 17:28
da rik70
Si, esatto: dei mettere tutto in append=""

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 18:48
da daniele50
rik70 ha scritto:Si, esatto: dei mettere tutto in append=""

Ho "appeso" le opzioni come parametri di avvio, ho fatto un paio di riavvii e per ora funziona.
Per esserne sicuro ovviamente dovrò aspettare un po'...
Per ora grazie :thumbright:

Re: Audio: a volte sì, a volte no...

Inviato: dom nov 11, 2012 20:42
da sya54M
giusto per completezza del topic, bisogna compilare staticamente:
Sound card support >> Advanced Linux Sound Architecture >> PCI sound devices >> Intel HD audio
e lasciare come moduli gli altri driver audio