Ricerca tra la vecchia roba

Alsa e schede HDA (ICH7 Family) su Debian

Posted: Agosto 26th, 2007 | Author: | Filed under: General | 2 Comments »

Uno dei problemi più irrisolvibili e misteriosi è sempre stato quello delle schede audio e della non corretta assegnazione dei canali ed in particolare al non corretto funzionamento del microfono; dopo aver fatto funzionare su un Fujitsu Siemens Amilo Pa 1510 il microfono frontale ho forse capito come funge la storia.In pratica anche se alsa è configurato e alsamixer restituisce i canali (benché molto strani) in realtà la scheda non è stata correttamente riconosciuta (spesso succede che la scheda si autoconfigura da sola prendendo i dati dal BIOS, ma la gran parte delle volte in cui ci ho avuto a che fare si è sempre sbagliata), e quindi dobbiamo passare al modulo snd-hda-intel i parametri corretti all'avvio, in particolare impostare correttamente il modello tramite l'opzione model.

Ma come fare per trovare il valore corretto? prima di  tutto troviamo il codec tramite

grep '^Codec' /proc/asound/card0/codec#0

e poi apriamo il file Documentation/sound/alsa/ALSA-Configuration.txt (di solito in /usr/src/linux altrimenti installate linux-doc-2.6) cercando il valore trovato precedentemente, nel mio caso era  Codec: Analog Devices AD1986A, ma ovviamente (?) a noi interessa solo AD1986A e lo cerchiamo appunto nella documentazione; sempre nel mio caso ottengo delle righe del tipo

         AD1986A
          6stack        6-jack, separate surrounds (default)
          3stack        3-stack, shared surrounds
          laptop        2-channel only (FSC V2060, Samsung M50)
          laptop-eapd   2-channel with EAPD (Samsung R65, ASUS A6J)

 dove individuo come 3stack il valore che fa per me, quindi apro il file /etc/modprobe.d/alsa-base ed inserisco le righe 

options snd-hda-intel model=3stack

e quindi riavvio il computer per vedere se il tutto funge (lo so che su linux non bisognerebbe mai riavviare, ma il modulo in questione si tira dietro talmente tante dipendenze che un rmmod solo non basta, quindi faccio prima a riavviare… se qualcuno ha un metodo migliore si faccia avanti…) 

Nel caso non si senta lo stesso cioccate un minimo con alsamixer e provate varie impostazioni; per capirci, a me funziona con le seguenti impostazioni 

 

Alsamixer setting for capture on ICH7.

(usate TAB per passare da playback a capture ad all e SPACE per selezionare la periferica di capture indicata in rosso).

 


2 Comments on “Alsa e schede HDA (ICH7 Family) su Debian”

  1. 1 pierpa said at 10:13 pm on Settembre 13th, 2007:

    Ottimo post…

    per non dover riavviare il pc si può usare

    /etc/init.d/alsa force-unload

    e poi ricaricare il modulo con l’opzione desiderata,
    nel mio caso (Sony Vajo VGN-TZ11MN)

    modprobe snd-hda-intel model=hippo

    o semplicemente
    modprobe snd-hda-intel

    se avete modificato /etc/modprobe.d/alsa-base

    e bravo packs senza questo fungeva tutto sulla mia scheda
    ma non potevo regolare distintamente i volumi delle casse
    e della uscita delle cuffie ed i 2 microfoni incorporato e non
    e soprattutto il pc mi partiva con solo l’uscita cuffie abilitata e dovevo a mano inserire e togliere un jack
    dentro la presa delle cuffie se volevo usare le casse
    altrimenti non c’era verso

  2. 2 packz said at 5:00 pm on Gennaio 6th, 2008:

    usando “zcat /usr/share/doc/alsa-base/NEWS.Debian.gz | less” nella versione 10.0.15-3 si scopre che hanno spostato il comando ‘alsa’ da /etc/init.d/ a /usr/sbin perché

    “[…] This script isn’t used in any rc?.d sequence. It doesn’t conform to Debian Policy §9.3.2, which mandates {start|stop|restart|reload|force-reload}. If one wants to unload, reload sound modules, i.e. for a user-script, /usr/sbin/alsa can be used. It is not needed for any configuration of alsa. […]”