
                             Alsa-sound-mini-HOWTO

Valentijn Sessink valentyn@alsa-project.org

   v2.0-pre1, 12 Novembre 1999
     _________________________________________________________________

   Descrive l'installazione dei driver audio ALSA per Linux. Questi
   driver audio possono essere utilizzati al posto dei normali driver
   sonori vista la loro completa compatibilit. Traduzione a cura di
   Elisabetta Galli. Revisione di Giulio Daprel.
     _________________________________________________________________

1. [1]Introduzione

     * 1.1 [2]Riconoscimenti
     * 1.2 [3]Storia delle revisioni
     * 1.3 [4]Nuove versioni di questo documento
     * 1.4 [5]Commenti
     * 1.5 [6]Regole di distribuzione

2. [7]NOWTO - guida all'installazione rapida

     * 2.1 [8]Installare ALSA con i kernel 2.2.x
     * 2.2 [9]Riprodurre e registrare audio
     * 2.3 [10]Installare ALSA con i kernel 2.0
     * 2.4 [11]Riprodurre e registrare audio

3. [12]Prima di cominciare

     * 3.1 [13]Introduzione
     * 3.2 [14]Informazioni generali sui driver ALSA
     * 3.3 [15]Hardware supportato
     * 3.4 [16]Altri HOWTO

4. [17]Come installare i driver audio ALSA

     * 4.1 [18]Cosa serve
     * 4.2 [19]Come ottenere i driver
     * 4.3 [20]Versioni di ALSA
     * 4.4 [21]Estrazione
     * 4.5 [22]Compilazione
     * 4.6 [23]Preparazione dei dispositivi

5. [24]Caricamento del driver

     * 5.1 [25]Caricamento con modprobe
     * 5.2 [26]Quale modulo per quale scheda?
     * 5.3 [27]modprobe per driver senza configurazione automatica
     * 5.4 [28]L'approccio con kerneld
     * 5.5 [29]Retrocompatibilit

6. [30]Test e uso

     * 6.1 [31]Il filesystem /proc
     * 6.2 [32]Il mixer
     * 6.3 [33]I dispositivi /dev/snd/
     * 6.4 [34]Informazioni aggiuntive

7. [35]Trucchi e risoluzione dei problemi

     * 7.1 [36]Compilare il driver
     * 7.2 [37]Caricare il driver
     * 7.3 [38]Driver caricato... ma nessun suono (o quasi)
     * 7.4 [39]Suggerimenti generici
     * 7.5 [40]Segnalazioni di bug
     * 7.6 [41]Suggerimento: riprodurre CD
     * 7.7 [42]Suggerimento: installare il driver seriale MIDI
     * 7.8 [43]Suggerimento: nuovo kernel? nuovi moduli!
     * 7.9 [44]Suggerimento: KDE e i driver ALSA
     * 7.10 [45]Suggerimento: uso dei dispositivi ALSA
     * 7.11 [46]Suggerimento: rimuovere tutti i moduli
     _________________________________________________________________

1. [47]Introduzione

   Questo  l'ALSA Sound driver mini-HOWTO. Fornisce informazioni
   sull'installazione e l'utilizzo dei driver audio ALSA per la propria
   scheda audio. I driver ALSA sono driver audio completamente modulari
   che supportano kerneld e kmod. Sono compatibili con le attuali API OSS
   e ne superano le possibilit. In altre parole: compatibili, ma
   migliori.

1.1 [48]Riconoscimenti

   Questo documento contiene informazioni prese dalle pagine del driver
   ALSA. La struttura  basata su quella dell'SB-mini-HOWTO,
   principalmente perch assomigliava molto a quella che stavo cercando.
   Grazie al pacchetto [49]SGML Tools, questo HOWTO  disponibile in
   diversi formati, tutti generati da un solo file sorgente. Grazie a
   Erik Warmelink per la correzione delle bozze, grazie a Alfred Munnikes
   per un paio di domande e di suggerimenti di grande aiuto. Grazie a
   Yamahata Isaku per la traduzione in giapponese, grazie a Miodrag
   Vallat per quella in francese. Steve Crowder ha fatto un ottimo lavoro
   nel leggere e revisionare l'intero testo. Grazie a Cserna Zsolt per la
   traduzione in ungherese e a Marco Meloni per quella in italiano.
   Grazie a Mohamed Ismail Mohamed-Ibrahim per aver mandato un documento
   relativo alla scheda audio Trident 4DWave DX/NX con molte informazioni
   utili, grazie a Gerard Haagh per le molte informazioni utili e per
   aver fatto notare alcune sezioni poco chiare. Grazie a Marc-Aur`ele
   Darche, Piotr Ingling, Juergen Kahrs, Tim Pearce, Patrick Stoddard,
   Rutger de Graaf Shuly Wintner, Jyrki Saarela, Jonas Lofwander, Kumar
   Sankaran e molti altri per i loro utili suggerimenti e contributi.

1.2 [50]Storia delle revisioni

   Versione 2.0-pre1 - 12 novembre 1999. Aggiornate ad ALSA 0.4.1e un
   paio di sezioni, aggiunti vari link.

   Versione 1.7 - 29 luglio 1999. Qualche correzione.

   Versione 1.6 - 26 luglio 1999. Aggiunta una sezione sulle versioni
   ALSA.

   Versione 1.5 - 21 maggio 1999. Modificata la sezione sul mixer,
   aggiunta una sezione di installazione rapida.

   Versione 1.4 - 18 maggio 1999. Incluso l'URL alla versione francese,
   cambiati altri URL.

   Versione 1.3 - 16 maggio 1999. Grazie a Jaroslav questo HOWTO ha
   trovato casa nel sito web del progetto ALSA. Come risultato, sono
   stati modificati indirizzi web e di email.

   Versione 1.2 - 11 maggio 1999. Diversi aggiornamenti.

   Versione 1.1 - 11 marzo 1999. Aggiunte un paio di schede audio dalla
   nuova versione 0.3 dei driver, scritto qualcosa sul kernel versione
   2.2.

   Versione 1.0 - 8 febbraio 1999. Aggiunte alcune cose alla sezione di
   risoluzione dei problemi, ma sembra quasi completa.

   Versione 0.3 beta - 20 gennaio 1999. Link sulla pagina principale di
   ALSA. Ah, siamo ufficiali!

   Versione 0.2 alpha - Met gennaio 1999, prima versione .sgml.

   Versione 0.1 alpha - Gennaio 1999, prima versione, pi che altro HTML.

   Ancora: i madrelingua inglesi sono pregati di inviare qualsiasi patch
   in Inglese semplice.

   Ora  necessario aggiungere alcune informazioni a questo HOWTO. In
   particolare, Mohamed Ismail Mohamed-Ibrahim e Gerard Haagh hanno
   scritto stupende aggiunte all'HOWTO, che mi terranno lontano dal mio
   normale lavoro per qualche tempo. Questa versione  la 2.0-pre1 e
   seguiranno molte altre pre.

1.3 [51]Nuove versioni di questo documento

   L'ultima versione pu essere trovata su
   [52]http://www.alsa-project.org./~valentyn

   Altri formati (html, sgml, txt) sono nella directory
   [53]other-formats. Sfortunatamente non  stato possibile compilare una
   versione Postscript poich lo script sgml2latex fallisce con molti
   errori.

   Yamahata Isaku ha tradotto in giapponese questo documento, che sar
   disponibile sul sito giapponese del progetto ALSA
   [54]http://plaza21.mbn.or.jp/~momokuri/alsa/index.html

   Miodrag Vallat ha tradotto in francese questo documento, traduzione
   disponibile su
   [55]http://www.freenix.fr/unix/linux/HOWTO/mini/Alsa.html.

   Cserna Zsolt ha tradotto in ungherese questo documento, che si trova
   su [56]http://kib4.vein.hu/~zsolt/alsa.html.

   La versione italiana di Marco Meloni si trova su
   [57]http://pluto.linux.it/ildp/index.html.

   Chi effettua una traduzione di questo documento me lo faccia sapere,
   verr incluso qui un riferimento. Ook een Nederlandse versie is
   welkom, ik heb zelf geen tijd om deze te schrijven. Leve de koningin!

1.4 [58]Commenti

   Mi affido ai lettori per rendere utile questo HOWTO. Suggerimenti,
   correzioni o commenti possono essere inviati a (
   [59]alsa-howto@alsa-project.org), verranno aggiunti alla revisione
   seguente.

   Nota bene: non ricevo molte mail riguardo i driver ALSA e quindi ogni
   aggiunta  benvenuta. Anche un "grazie per"  apprezzato: magari non
   sar troppo faticoso aggiungere una sezione "mi  piaciuto di pi" o
   "questo o quello non erano molto chiari".

   Se si pubblica questo documento su CD-ROM o stampandolo, una copia di
   cortesia sar apprezzata. Scrivetemi un'email per avere l'indirizzo
   postale. Si consideri anche l'opportunit di effettuare una donazione
   al Linux Documentation Project per supportare la documentazione libera
   per Linux. Contattare il coordinatore dei Linux HOWTO, Tim Bynum
   [60]linux-howto@metalab.unc.edu, per maggiori informazioni.

1.5 [61]Regole di distribuzione

   Copyright 1998/1999 Valentijn Sessink

   This HOWTO is free documentation; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   This document is distributed in the hope that it will be useful, but
   without any warranty; without even the implied warranty of
   merchantability or fitness for a particular purpose. See the GNU
   General Public License for more details.

   You can obtain a copy of the GNU General Public License by writing to
   the [62]Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
   02139, USA.

2. [63]NOWTO - guida all'installazione rapida

   Se si vuole l'audio e lo si vuole ADESSO! e non dopo aver letto questo
   HOWTO, questa piccola panoramica dei driver ALSA potrebbe essere di
   aiuto. Si noti che ci sono alcune differenze tra le versioni ALSA che
   supportano i kernel versione 2.0 e quelle che supportano i kernel 2.2.

2.1 [64]Installare ALSA con i kernel 2.2.x

   Probabilmente si vorr usare la versione 0.4.1e di ALSA (o successiva)
   se si usa il kernel 2.2.x. Se il kernel  pi vecchio, si usi la
   versione 0.3.0-pre4 e si veda sotto.

   La procedura  la solita: ``./configure - make - make install'', da
   ripetere per ogni driver, libreria e utilit. Serviranno tutte e tre
   le cose, perch le utilit aiutano a togliere il "muto" alla scheda
   audio. Nei kernel 2.2.x deve essere compilato il supporto generico per
   il suono (senza scegliere una precisa scheda audio).

   I driver ALSA usano i propri dispositivi, che possono essere creati
   con lo script ./snddevices.

   Si dovr caricare il modulo per la propria scheda (o usare kmod), e se
   si vuole che il supporto per l'audio sia retrocompatibile con i driver
   audio del kernel di Linux (s, si vuole) ci vorranno altri due moduli
   chiamati snd-pcm1-oss e snd-mixer-oss. Si veda la sezione [65]Quale
   modulo per quale scheda per scoprire quale modulo caricare. Dopo il
   caricamento, si veda /proc/asound per trovare varie informazioni sui
   driver ALSA.

2.2 [66]Riprodurre e registrare audio

   Qualche osservazione. ALSA utilizza i propri dispositivi in /dev/snd,
   per esempio /dev/snd/pcmC0D1 indica la scheda 0, dispositivo 1. Se 
   stato caricato il modulo di retrocompatibilit snd-pcm1-oss si possono
   usare i vecchi dispositivi /dev/pcmXY . Per poter usare /dev/mixer
   bisogner caricare anche snd-mixer-oss. Prima di poter riprodurre
   qualsiasi suono si dovr togliere il "muto" alla scheda con "amixer".
   Digitare "amixer groups", quindi provare qualcosa come:

   amixer set PCM 100 unmute

   Generalmente si possono usare le opzioni "mute" o "unmute", "capture"
   o "nocapture" e numeri. Ecco fatto! Adesso, se funziona, bene.
   Altrimenti ci sar veramente bisogno di leggere questo HOWTO...

2.3 [67]Installare ALSA con i kernel 2.0

   Le versioni 0.3.0, 0.3.1 e 0.3.2 dei driver ALSA hanno diversi
   problemi dovuti alla ristrutturazione dell'interfaccia mixer. Versioni
   successive non supportano i kernel 2.0.x, dunque certamente si vorr
   usare la versione 0.3.0-pre4 con un kernel versione 2.0.

   La procedura  la solita: ``./configure - make - make install'', da
   ripetere per ogni driver, libreria e utilit. Serviranno tutte e tre
   le cose, perch le utilit aiutano a togliere il "muto" alla scheda
   audio. I kernel 2.0.x devono essere configurati con il supporto per il
   suono disabilitato.

   I driver ALSA usano i propri dispositivi, che possono essere creati
   con lo script ./snddevices.

   Si dovr caricare il modulo per la propria scheda (o usare kmod), e se
   si vuole il supporto per l'audio compatibile con i driver audio del
   kernel di Linux (s, si vuole) ci vorr un altro modulo chiamato
   snd-pcm1-oss. Si veda la sezione [68]Quale modulo per quale scheda per
   scoprire quale modulo caricare. Dopo il caricamento, si veda
   /proc/asound per trovare varie informazioni sui driver ALSA.

2.4 [69]Riprodurre e registrare audio

   Qualche osservazione. ALSA utilizza i propri dispositivi in /dev/snd,
   per esempio /dev/snd/pcmC0D1 indica la scheda 0, dispositivo 1. Se 
   stato caricato il modulo di retrocompatibilit snd-pcm1-oss si possono
   usare i vecchi dispositivi /dev/pcmXY. Prima di poter riprodurre
   qualsiasi suono si dovr togliere il "muto" alla scheda con "amixer".
   Digitare "amixer", quindi provare qualcosa come:

   amixer pcm 100 unmute

   Generalmente si possono usare le opzioni "mute" o "unmute, "rec" o
   "norec", numeri o sinistra:destra. Ecco fatto! Adesso, se funziona,
   bene. Altrimenti ci sar veramente bisogno di leggere questo HOWTO...

3. [70]Prima di cominciare

3.1 [71]Introduzione

   Questo documento cerca di aiutare ad installare e usare i driver audio
   ALSA in un sistema Linux. Il sistema di riferimento  formato da una
   distribuzione Linux Slackware 4.0 su un computer AMD/K6 (compatibile
   x86), ma quanto qui esposto dovrebbe funzionare con qualsiasi altra
   distribuzione Linux. Non si sa se i driver ALSA funzionino anche su
   altre piattaforme ma, stando a quanto dice la documentazione, sono
   stati testati con successo su Alpha. Io dispongo solo di PC x86,
   quindi ogni altra informazione aggiuntiva  bene accetta.

   Potrebbe tornare utile la lettura del Linux Sound HOWTO (si veda la
   sezione Altri HOWTO), anche se questo HOWTO  focalizzato sui driver
   incorporati nel kernel.

3.2 [72]Informazioni generali sui driver ALSA

   Il driver audio ALSA fu originariamente scritto in sostituzione
   dell'audio del kernel per le schede Gravis Ultrasound (GUS). Visto che
   questo driver sostitutivo per la GUS si rivel un successo, l'autore
   fece partire il progetto ALSA per realizzare un driver generico per
   diversi chip audio, con impostazione completamente modulare.

    compatibile con i driver audio OSS/Free e OSS/Linux (i driver del
   kernel), ma ha una sua interfaccia che  anche migliore di quella dei
   driver OSS. Un elenco delle funzioni  disponibile su
   [73]http://www.alsa-project.org/intro.html

   Si noti che i driver ALSA sono ancora in fase di sviluppo. Le cose
   potrebbero cambiare nel tempo, e alcuni programmi che fanno
   affidamento sui driver ALSA funzionano solo con specifiche versioni
   dei driver. A parte questo penso che siano grandi! Sto usando ALSA da
   10 mesi e non torner all'et oscura dei driver audio "closed source"
   (suggerimento ;). La pagina principale del progetto ALSA 
   [74]http://www.alsa-project.org/

3.3 [75]Hardware supportato

   I driver ALSA supportano solo un sottoinsieme delle schede audio
   esistenti. Attualmente le seguenti schede audio sono supportate.
     * Schede con chipset Trident 4D Wave DX/NX, grazie alla Trident
       Microsystems che ha offerto i driver ALSA di ``prima mano'' sotto
       GPL (solo dispositivi MIXER e PCM) e la documentazione per il loro
       chipset audio 4D Wave PCI. Si veda
       http://www.tridentmicro.com/HTML/products%20folder/audio.htm per
       maggiori informazioni. Schede che usano questo chipset sono: Best
       Union Miss Melody 4DWave PCI, HIS 4DWave PCI, Warpspeed ONSpeed
       4DWave PCI, AzTech PCI 64-Q3D, Addonics SV 750, CHIC True Sound
       4Dwave, Shark Predator4D-PCI e Jaton SonicWave 4D.
     * Gravis Ultrasound (GUS): ``PnP'',  Extreme, Classic/ACE, MAX
     * Schede con chipset GUS: Dynasonic 3-D, STB Sound Rage 32,
       UltraSound 32-Pro (STB), ExpertColor MED3201 e altre basate sul
       chip AMD InterWave(TM), in particolare alcune schede STB della
       Compaq.
     * Soundblaster: 1.0, 2.0, Pro, 16, AWE32/64, PCI64
     * ESS AudioDrive ESx688
     * Schede basate sul chip ESS ES968 (solo PnP).
     * ESS ES18xx (chipset).Si noti che ho sperimentato personalmente
       molti problemi con l'ESS1888. Lo sviluppatore del driver di questa
       scheda audio ha fatto del suo meglio, ma invano.
     * ESS Solo-1 ES1938 e ES1946. Uno solo dei due canali funziona, il
       che vuole dire che non  possibile registrare. L'autore del codice
       per la ES1938 " al corrente del problema e lo sta analizzando".
     * Yamaha: OPL3-SA2, OPL3-SA3 (chipset)
     * OAK Mozart
     * Schubert 32 PCI (PINE, S3 SonicVibes PCI chipset)
     * Schede audio Ensoniq AudioPCI ES1370/1371 PCI (Soundblaster PCI64)
     * Schede audio SonicVibes PCI (PINE Schubert 32 PCI)
     * Schede basate su ForteMedia FM801 (nel 0.3.2)
     * Schede audio basate sul chipset OPTi 82C9xx
     * Schede basate sui chipset AD1847, AD1848 e CS4248
     * Schede audio basate sul chip AZT2320 (solo PnP).
     * Schede basate sulla Advance Logic ALS100/ALS120
     * Schede basate sulla C-Media CMI8330

   Oltre a queste sono supportate un gran numero di schede audio basate
   su Crystal Semiconductors. Questo chip si pu trovare su molto
   hardware, su schede indipendenti (qualche scheda serie PCA della
   Philips) e sulle schede madri (ad es. IBM Aptiva, Dell computers).
   Sono supportate le schede basate sui seguenti chipset:
     * 4231
     * 4232
     * 4232A
     * 4235
     * 4236B
     * 4237B
     * 4238B
     * 4239
     * 4280
     * 4610
     * 4612
     * 4614
     * 4615
     * 4680

   La buona notizia  che ALSA ora supporta i computer senza una scheda
   audio nella produzione di video. Questo si ottiene tramite un driver
   dummy, che fa credere a programmi come RealPlayer che ci sia una
   scheda audio disponibile. Un elenco pi aggiornato pu essere trovato
   nel pacchetto dello stesso driver, in doc/SOUNDCARDS.

3.4 [76]Altri HOWTO

   Questo ALSA-sound-mini-HOWTO  solo un mini, anche se sta crescendo in
   fretta. Altri HOWTO possono essere d'aiuto nel caso che questo sia
   troppo conciso. Verranno indicati alcuni aspetti che si possono
   incontrare cercando di installare i driver ALSA. Gli HOWTO possono
   generalmente essere trovati sui mirror di Metalab (il vecchio
   Sunsite). Si dia un'occhiata su
   [77]http://metalab.unc.edu/LDP/mirrors.html per scegliere il sito
   mirror pi vicino. Si possono trovare gli HOWTO nella directory
   LDP/HOWTO/. Nota bene: i collegamenti in questo documento saranno
   tutti relativi a /LDP/HOWTO/mini. Se questo documento  stato trovato
   in un sito mirror ragionevolmente buono, si troveranno anche gli
   HOWTO.

   Ora una nota per i kernel della serie 2.2.x. Per i kernel della serie
   2.2.x il supporto audio  uguale ad ogni altro tipo di supporto:
   funziona, ma in maniera diversa rispetto a quella a cui si era
   abituati. Questo HOWTO (come ogni altro HOWTO) dalla versione 2.0pre1
   si concentrer sui kernel della serie 2.2, anche se cercher di far
   notare le differenze.

  Schede audio

   Forse  gi stata comprata una scheda audio o forse  da tempo
   installata nel computer. E adesso si sta per utilizzarla! Si dia
   un'occhiata al [78]Sound-HOWTO per vedere se ne vale la pena (si
   potrebbe prima voler comprare la nuova Mega-Rumble-Blaster, poi
   provare i driver ALSA).

  Schede Plug and Play

   Molte schede audio moderne per la piattaforma Intel sono schede ISA
   PnP, che  l'abbreviazione di "Plug and Play". Questo significa che la
   scheda deve essere configurata dal sistema operativo. Ci deve essere
   fatto attraverso una routine di inizializzazione all'avvio.
   Probabilmente ci sar bisogno di configurare la scheda con il
   pacchetto PnP-utils. Ogni distribuzione Linux recente include questi
   strumenti. Per l'utilizzo si veda il [79]Plug-and-Play-HOWTO

   Sembra che i driver ALSA abbiano un loro supporto ISA-PnP interno per
   diverse schede. Sfortunatamente non posso dire come funzioni, non
   avendo trovato documentazione su questo aspetto. Se qualcuno vuole
   provare ad usare il supporto audio ALSA deliberatamente senza usare lo
   strumento ISA-PnP per favore mi mandi due righe al riguardo.

  Moduli caricabili

   I driver ALSA sono compilati come moduli. Si possono trovare maggiori
   informazioni sui moduli nel [80]Kernel-HOWTO. C' anche un
   Module-HOWTO ma al momento  senza un curatore; si dia un'occhiata
   alla sezione 'unmaintained' del HOWTO-HOWTO. C' un
   [81]Modules-mini-HOWTO che comunque potrebbe essere utile.

  Kerneld

   Un altro HOWTO che potrebbe essere utile per qualcuno  il
   [82]Kerneld-mini-HOWTO. Kerneld  un demone che installa e rimuove i
   moduli del kernel a seconda delle necessit. (Io ho zero esperienza al
   riguardo, quindi ogni informazione aggiuntiva sull'argomento  la
   benvenuta. La documentazione del driver ALSA contiene alcune
   informazioni sulla configurazione di kerneld, che sono state incluse
   nel presente mini-HOWTO.)

   Le cose sono cambiate con il kernel 2.2, che include il caricatore dei
   moduli del kernel. Non ci sono informazioni al riguardo, poich
   preferisco usare modprobe anzich avere un demone che si occupi dei
   moduli.

4. [83]Come installare i driver audio ALSA

4.1 [84]Cosa serve

     * un sistema Linux funzionante (ad es. la distribuzione Slackware)
       con i pacchetti "Development" ("di sviluppo", ndt) installati (ad
       es. gcc, make ecc.)
     * una qualche conoscenza di Linux (che significa saper usare "ls",
       "cd", "tar" ecc.)
     * un account come utente root

   La buona notizia  che non serve pi avere una scheda audio
   supportata, perch ALSA ora contiene un driver "dummy" che non fa
   niente! (In realt non fa davvero niente, ci sono solo alcuni
   programmi che ora funzionano perch credono che ci sia una scheda
   disponibile). Se si ha una scheda PnP, si avr anche bisogno di:
     * il pacchetto software isapnptools.

   Il file di testo INSTALL nella directory dei driver suggerisce che,
   per alcune schede, il supporto PnP  implementato in maniera nativa.
   Anche Jaroslav mi ha detto la stessa cosa. Quando avr maggiori
   informazioni su questo argomento le aggiunger a questo mini-HOWTO.

   Si noti che non dovrebbero esserci driver audio attivi quando si usano
   i driver ALSA. Se il proprio kernel ha i driver audio incorporati,
   dovr essere ricompilato. Se il vecchio modulo "sound.o"  attivo
   dovr essere disattivato. Se si usa kerneld, questo significa
   cancellare sound.o dalla directory /lib/modules/<kernel_version>/misc.
   I nuovi sistemi RedHat hanno un diverso approccio al suono, che
   comporta l'attivit contemporanea di diversi moduli audio. Dovranno
   essere tutti disattivati.

   I kernel della serie 2.2 hanno un nuovo approccio all'audio. Il
   supporto sonoro dovr essere incluso. S,  cos: si dovr aggiungere
   il supporto per l'audio al kernel ma senza includere alcuna scheda
   audio. Quindi si dovr compilare ed installare il kernel e, solo dopo,
   compilare i driver ALSA.

4.2 [85]Come ottenere i driver

   I driver ALSA sono disponibili su [86]ftp://ftp.alsa-project.org/pub/
   e sui siti mirror:
     * Stati Uniti: [87]ftp://ftp.silug.org/pub/alsa
     * Stati Uniti: [88]ftp://ftp.eecs.umich.edu/pub/linux/alsa
     * Paesi Bassi: [89]ftp://linux.a2000.nl/alsa
     * Polonia: [90]ftp://ftp.task.gda.pl/pub/linux/misc/alsa
     * Germania: [91]ftp://ftp.tu-clausthal.de/pub/linux/alsa
     * Slovacchia: [92]ftp://ftp.phacka.sk/pub/alsa
     * Australia: [93]ftp://ftp.suburbia.com.au/pub/alsa

   Per una installazione completa di ALSA si avr bisogno del driver,
   delle librerie e delle utilit; ad es. scegliendo il sito mirror A2000
   si dovranno prendere
   ftp://linux.a2000.nl/alsa/driver/alsa-driver-0.3.0-pre4.tar.gz,
   ftp://linux.a2000.nl/alsa/lib/alsa-lib-0.3.0pre4.tar.gz e
   ftp://linux.a2000.nl/alsa/utils/alsa-utils-0.3.0-pre4.tar.gz

4.3 [94]Versioni di ALSA

   I driver ALSA hanno percorso un lungo cammino. Lo sviluppo 
   cominciato durante la versione 2.0 del kernel, poi sono arrivati i
   kernel 2.2 (con il loro kernel audio).

   Le versioni 0.4 sembrano funzionare perfettamente per me, quindi
   dovrebbe essere sicuro usare la 0.4.1e (o una pi recente, volendo).
   Con un kernel 2.0.x non si vorr certamente usare la versione 0.3.0 o
   successive. Invece, si usino alsa-driver-0.3.0-pre4,
   alsa-lib-0.3.0-pre4 e alsa-utils-0.3.0-pre3.

   Le vecchie versioni 0.2.0-pre10p3 e precedenti funzionano sotto 2.0.x,
   ma non sotto 2.2.x (probabilmente a causa della mancanza di
   interfacciamento con il modulo soundcore del kernel).

4.4 [95]Estrazione

   I driver possono essere estratti con comandi standard, per esempio il
   solito tar -zxf <file>. Solitamente l'estrazione avviene nella
   directory /usr/src, dunque saranno necessari i privilegi di root. Si
   digiti "su" seguito dalla password di root per diventare root. Si noti
   che non  saggio usare il sistema come "root" se non  necessario.
   Quindi:

cd /usr/src

tar -zxf ~/alsa-driver-0.4.1e.tar.gz

tar -zxf ~/alsa-lib-0.4.1d.tar.gz

tar -zxf ~/alsa-utils-0.4.1.tar.gz

   Ugualmente funzionante e pi divertente: find ~ -name alsa* -exec tar
   -zxf {} \; (non lo si faccia,  solo un esempio). Si noti che se si
   sono scaricati i driver con Netscape, si potrebbe accidentalmente
   avere il file dei driver decompressi con l'estensione ".tgz". Se tar
   si lamenta del formato del file, si potranno avere migliori risultati
   togliendo la "z" dalle opzioni di tar.

4.5 [96]Compilazione

   Ci sar bisogno dei driver prima di poter compilare ed utilizzare le
   librerie. Ci sar bisogno delle librerie prima di poter compilare o
   usare i programmi di utilit. Quindi si parte da:

cd alsa-driver-0.4.1e

   (e per chi non ha molta esperienza: si provi a premere <tab> (il tasto
   "tab") dopo "alsa-d".  quello che si chiama command line completion.)
   (completamento della riga di comando, ndt).

./configure

   Se si vuole usare l'interfaccia PnP incorporata si dovr aggiungere

./configure --with-isapnp=yes

make

   Per installare il tutto bisogna ora essere "root" (probabilmente lo si
    gi).

make install

   Se questo comando dice qualcosa del tipo ``version.h'' cannot be
   found, probabilmente mancano i sorgenti appropriati per il kernel.
   Sar necessario avere diversi file sorgenti del kernel per compilare i
   driver ALSA. Estrarre l'archivio linux-2.x.y.tar.gz preferito in
   /usr/src e dare il comando make menuconfig (in effetti potrebbe
   bastare make symlinks). Adesso compilare le librerie:

cd ../alsa-lib-0.4.1d

./configure

make

make install

   OK, adesso i programmi di utilit:

cd ../alsa-utils-0.4.1

./configure

make

make install

   Si noti che si potrebbe anche, sulle prime, non dare "make install"
   per i programmi di utilit. Si potrebbe addirittura tralasciare
   l'intero processo di compilazione per le librerie e per i programmi di
   utilit, solo per controllare se i driver funzionano.

4.6 [97]Preparazione dei dispositivi

   C' uno script nella directory dei driver che installer i dispositivi
   sonori ALSA nella directory /dev. Si dia il comando

./snddevices

   dalla directory dei driver. Ci dovrebbe ora essere una sottodirectory
   /dev/snd (si controlli se esiste. Se non si ha familiarit nemmeno con
   il comando "ls", si prenda in considerazione la lettura di altri
   HOWTO. Si dovrebbe avere una qualche conoscenza di base di Linux per
   installare questi driver).

   Ora si pu caricare il driver, quindi si passi pure al prossimo
   paragrafo.

5. [98]Caricamento del driver

   Ci sono due metodi per utilizzare i moduli sonori ALSA. Io
   personalmente preferisco adottare la soluzione manuale, nel senso che
   inserisco i moduli all'avvio. I driver ALSA sono stati progettati come
   moduli caricabili/scaricabili, per esempio non reimpostano il mixer
   dopo essere stati caricati, quindi si pu facilmente utilizzare un
   approccio basato su kerneld. Si legga la sezione
   [99]Retrocompatibilit. Ce ne sar bisogno per avere il supporto
   sonoro "alla vecchia maniera".

5.1 [100]Caricamento con modprobe

   Si noti che, avendo una scheda audio PnP, essa dovr prima essere
   impostata sui corretti (o almeno conosciuti) IO/IRQ/DMA. Si consulti
   il Plug-and-Play-HOWTO. La scheda audio Plug-and-Play  stata
   configurata? Ok, allora si continui a leggere. La cosa principale 
   dare il comando "modprobe snd-card-<soundcard>". Questo dovrebbe
   mettere le cose a posto. Si noti che non tutte le distribuzioni
   includono /sbin nel proprio percorso. Se il comando restituisce "bash:
   modprobe: command not found", questo molto probabilmente significa che
   modprobe non  nel proprio percorso. Si provi "/sbin/modprobe
   snd-sb16", o provare a trovare modprobe da qualche altra parte.

   Le maggiori difficolt risiedono nella configurazione dei chipset
   Crystal, per i quali i driver ALSA non prevedono la configurazione
   automatica. Informazioni pi recenti possono essere trovate nel file
   INSTALL nella directory dei driver. Due esempi, poi una lista: Gravis
   UltraSound (GUS) e compatibili:

/sbin/modprobe snd-card-gusclassic

   Per tutte le schede audio SoundBlaster a 16 bit (SoundBlaster 16
   (PnP), SoundBlaster AWE 32 (PnP), SoundBlaster AWE 64 (PnP):

/sbin/modprobe snd-card-sb16

   Comunque, con il pacchetto 0.3.0-pre4, il driver GUS Classic si chiama
   "snd-gusclassic" e il modulo per la SoundBlaster 16 si chiama
   "snd-sb16" (scritto cos, senza la scritta "card").

5.2 [101]Quale modulo per quale scheda?

   Si noti che qualche volta le versioni di ALSA precedenti alla 0.4.x
   usano nomi diversi. Per questi driver si dovr tralasciare la parte
   "card". Questi casi sono indicati da un asterisco (*).

  Gravis UltraSound Extreme [102](*)

   modprobe snd-card-gusextreme

  Gravis UltraSound MAX [103](*)

   modprobe snd-card-gusmax

  ESS AudioDrive [104](*)

   Schede audio ESS AudioDrive ES-1688 e ES-688

   modprobe snd-card-audiodrive1688

  ESS AudioDrive 18xx [105](*)

   Schede audio basate sulla ESS AudioDrive ES-18xx

   modprobe snd-card-audiodrive18xx

  Gravis UltraSound PnP [106](*)

   Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32,
   ExpertColor MED3201 e altre schede audio basate sul chip AMD
   InterWave(TM).

   modprobe snd-card-interwave

  UltraSound 32-Pro [107](*)

   UltraSound 32-Pro (scheda audio della STB usata da Compaq) e altre
   schede audio basate sul chip AMD InterWave (tm) con il circuito
   TEA6330T per il controllo esteso dei bassi, degli alti e del volume

   modprobe snd-card-interwave-stb

  Soundblaster [108](*)

   Schede Soundblaster a 8 bit (SoundBlaster 1.0, SoundBlaster 2.0,
   SoundBlaster Pro)

   modprobe snd-card-sb8

  Soundblaster 16 [109](*)

   Schede SoundBlaster a 16 bit (SoundBlaster 16 (PnP), SoundBlaster AWE
   32 (PnP), SoundBlaster AWE 64 (PnP). Si noti che questo modulo non
   supporta la scheda audio SoundBlaster VibraX16.

   modprobe snd-card-sb16

  OAK Mozart [110](*)

   modprobe snd-mozart

  OPTi 82C9xx [111](*)

   Diverse schede audio che usano il chipset OPTi 82C9xx, come la Audio
   16 Pro EPC-SOUN9301 (basata su 82C930), ExpertColor MED-3931 v2.0
   (basata su 82C931), ExpertMedia Sound 16 MED-1600 (basata su 82C928 -
   AD1848), Mozart S601206-G (basata su OPTI601 - CS4231) e Sound Player
   S-928

   modprobe snd-card-opti9xx

  AD1847/48 e CS4248

   modprobe snd-card-ad1848

  Schede audio Yamaha OPL3-SA2/SA3 [112](*)

   Il solo "modprobe snd-opl3sa" non funzioner, per la mancanza della
   configuraione automatica. Si veda pi avanti.

  S3 SonicVibes [113](*)

   Schede audio PCI S3 SonicVibes. (PINE Schubert 32 PCI)

   modprobe snd-card-sonicvibes

  Ensoniq/Soundblaster PCI64 [114](*)

   Schede audio PCI Ensoniq AudioPCI ES1370/1371. (SoundBlaster PCI 64)

   modprobe snd-card-audiopci

  CS4231

   Il solo "modprobe snd-card-cs4231" non funzioner, per la mancanza
   della configurazione automatica. Si veda pi avanti.

  CS4232/4232A

   Tutte le schede audio basate sul chip CS4232/CS4232A. Il solo
   "modprobe snd-card-cs4232" non funzioner, per la mancanza della
   configurazione automatica. Si veda pi avanti.

  4235 e successive

   Tutte le schede audio basate sui chip
   CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239. Il solo "modprobe
   snd-card-cs4236" non funzioner, per la mancanza della configurazione
   automatica. Si veda pi avanti.

  4610/4612/4615 e 4680

   modprobe snd-card-cs461x

  ESS Solo 1 [115](*)

   Scheda ESS Solo-1, 128iPCI (es1938, ESS-SOLO-1). Jonas Lofwander ha
   inviato il collegamento a un documento che aiuta ad installare questa
   scheda che , sostanzialmente, nulla pi di un modprobe
   snd-card-esssolo1 ... ma [116]http://dice.shopcenter.nu/alsa/ potr
   essere d'aiuto.

   Chi avesse un Thinkpad 1412 dell'IBM pu anche consultare
   [117]http://www.geocities.com/SiliconValley/Peaks/3649/1412.html,
   grazie a Kumar Sankaran.

  Trident 4DWave DX/NX [118](**)

   Best Union Miss Melody 4DWave PCI, HIS 4DWave PCI, Warpspeed ONSpeed
   4DWave PCI, AzTech PCI 64-Q3D, Addonics SV 750, CHIC True Sound
   4Dwave, Shark Predator4D-PCI, Jaton SonicWave 4D.

   modprobe snd-card-trident

  ForteMedia FM801

   Queste sono schede PCI basate sul chip FM801.

   modprobe snd-card-fm801

   (*) Con la versione 0.3.0-pre4 di ALSA, si dovr tralasciare la parte
   "card-" nella maggior parte dei nomi dei driver (non in tutti). Cos
   "snd-card-sb16" diventa "snd-sb16"; tuttavia, "snd-card-cs4232" rimane
   "snd-card-cs4232" (modprobe snd-cs4232 far qualcosa, ma non si
   otterr alcun suono!)

   (**) Nelle vecchie versioni di ALSA questo driver si chiamava
   "snd-card-trid4wave" e "snd-trid4wave".

5.3 [119]modprobe per driver senza configurazione automatica

   Se si usa un driver senza configurazione automatica, si dovranno
   fornire delle indicazioni aggiuntive all'avvio perch il driver possa
   funzionare. Si possono trovare altre informazioni nel file INSTALL
   presente nella directory del driver.

  OPL3-SA2 e OPL3-SA3

   Stando a quanto dice il file INSTALL si dovranno specificare tutte le
   informazioni per permettere a questo driver di funzionare. Se la
   scheda  stata inizializzata con gli strumenti isapnp probabilmente si
   potranno ottenere informazioni dal file /etc/isanp.conf per i seguenti
   valori:

snd_port - porta di controllo # per il chip OPL3-SA
snd_wss_port - porta WSS # per il chip OPL3-SA (0x530,0xe80,0xf40,0x604)
snd_midi_port - porta # per MPU-401 UART (0x300,0x330), -1 = disabilitata
snd_fm_port - porta FM # per il chip OPL3-SA (0x388), -1 = disabilitata
snd_irq - IRQ # per il chip OPL3-SA (5,7,9,10)
snd_dma1 - primo DMA # per il chip Yamaha OPL3-SA (0,1,3)
snd_dma1_size - dimensione massima del primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA # per il chip Yamaha OPL3-SA (0,1,3), -1 = disabilitata
snd_dma2_size - dimensione massima del secondo DMA in kB (4-64kB)

   Si potrebbe dare il comando "modprobe snd-card-opl3sa snd_port=0xNNN
   snd_wss_port=0x530 snd_midi_port=-1 snd_fm_port=0x388 snd_irq=5
   snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" per caricare
   questo driver (senza supporto per il midi. Sono ancora convinto del
   fatto che il supporto per il midi serva solo quando si hanno dei
   sintetizzatori e altre cose da collegare al proprio sistema Linux. A
   me non  mai servito il supporto per il midi neanche per riprodurre
   dei file midi). Si noti che devono essere specificati i valori "NN",
   solo che non si sa quale potrebbe essere un valore ragionevole. Non 
   certo se la dimensione del dma sia veramente richiesta.

   Chi possiede un Thinkpad della IBM con questo chipset pu trovare
   aiuto presso [120]http://www.cirs.org/patrick/index.html. Usando il
   driver della versione 0.3.0-pre4 si dovr tralasciare la parte "card-"
   nel nome.

  Chip CS4231

   Stando a quanto dice il file INSTALL si dovr specificare la porta
   principale usata da questa scheda. Si noti che al driver per le schede
   3235/6/7/8/9, quello descritto qui sotto, sono state fornite tutte le
   informazioni (tranne la dimensione del DMA), altrimenti il driver si
   sarebbe rifiutato di funzionare. Quindi si potrebbe provare a
   utilizzare l'intera linea di comando per caricare il driver. Se si
   inizializza la scheda con gli strumenti isapnp probabilmente si
   potranno ottenere informazioni dal file /etc/isapnp.conf per i
   seguenti valori:

snd_port - porta # per il chip CS4232 (impostazione PnP - 0x534)
snd_mpu_port - porta # per l'UART MPU-401 (impostazione PnP - 0x300), -1 = disa
bilitata
snd_irq - IRQ # per il chip CS4232 (5,7,9,11,12,15)
snd_mpu_irq - IRQ # per l'UART MPU-401 (9,11,12,15)
snd_dma1 - primo DMA # per il chip CS4232 (0,1,3)
snd_dma1_size - dimensione massima del primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA # per il chip Yamaha CS4232 (0,1,3), -1 = disabilitata
snd_dma2_size - dimensione massima del secondo DMA in kB (4-64kB)

   Si potrebbe dare il comando "modprobe snd-card-cs4231 snd_port=0x534
   snd_mpu_port=-1 snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1
   snd_dma2_size=NN" per caricare il driver in modo da ottenere una
   scheda audio in "configurazione standard". (Senza supporto per il
   MIDI, si veda la nota al chip Yamaha OPL-3). Se sono stati utilizzati
   valori differenti in /etc/isapnp.conf dovranno essere usati gli stessi
   anche qui. (Nota:  saggio comunque usare il cervello.) Si noti che
   devono essere specificati i valori "NN", solo che non si sa quale
   potrebbe essere un valore ragionevole. Non  certo se la dimensione
   del dma sia veramente richiesta.

  Chip CS4232/CS4232A

   Stando a quanto dice il file INSTALL si dovr specificare la porta
   principale usata da questa scheda. Si noti che al driver per le schede
   3235/6/7/8/9, quello descritto qui sotto, sono state fornite tutte le
   informazioni (tranne la dimensione del DMA), altrimenti il driver si
   sarebbe rifiutato di funzionare. Quindi si potrebbe provare a
   utilizzare l'intera linea di comando per caricare il driver. Se si
   inizializza la scheda con gli strumenti isapnp probabilmente si
   potranno ottenere informazioni dal file /etc/isapnp.conf per i
   seguenti valori:

snd_port - porta # per il chip CS4232 (impostazione PnP - 0x534)
snd_cport - porta di controllo # per il chip CS4232 (impostazione PnP - 0x120)
snd_mpu_port - porta # per l'UART MPU-401 (impostazione
PnP - 0x300), -1 = disabilitata
snd_fm_port - porta FM # per il chip CS4232 (impostazione
PnP - 0x388), -1 = disabilitata
snd_jport - porta joystick per il chip CS4232 (impostazione PnP - 0x200), -1 =
disabilitata
snd_irq - IRQ # per il chip CS4232 (5,7,9,11,12,15)
snd_mpu_irq - IRQ # per l'UART MPU-401 (9,11,12,15)
snd_dma1 - primo DMA # per il chip CS4232 (0,1,3)
snd_dma1_size - dimensione massima del primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA # per il chip Yamaha CS4232 (0,1,3), -1 = disabilitata
snd_dma2_size - dimensione massima del secondo DMA in kB (4-64kB)

   Si potrebbe dare il comando "modprobe snd-card-cs4232 snd_port=0x534
   snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1
   snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" per
   caricare il driver in modo da ottenere una scheda audio in
   "configurazione standard". (Senza supporto per il MIDI, si veda la
   nota al chip Yamaha OPL-3, e senza supporto per il joystick). Se sono
   stati utilizzati valori differenti in /etc/isapnp.conf dovranno essere
   usati gli stessi anche qui. (nota:  saggio comunque usare il
   cervello). Si noti che devono essere specificati i valori "NN", solo
   che non si sa quale potrebbe essere un valore ragionevole. Non  certo
   se la dimensione del dma sia veramente richiesta.

  Chip CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239

   Stando a quanto dice il file INSTALL si dovranno specificare la porta
   principale e la porta di controllo usate da questa scheda. Si noti che
   al driver per le schede CS4237B sono state fornite tutte le
   informazioni (tranne la dimensione del DMA), altrimenti il driver si
   sarebbe rifiutato di funzionare. Quindi si potrebbe provare ad
   utilizzare l'intera linea di comando per caricare il driver, e non
   specificare solamente i valori snd_port e snd_cport. Se si inizializza
   la scheda con gli strumenti isapnp probabilmente si potranno ottenere
   informazioni dal file /etc/isapnp.conf per i seguenti valori:

snd_port - porta # per il chip CS4232 (impostazione PnP - 0x534)
snd_cport - porta di controllo # per il chip CS4232 (impostazione PnP - 0x120)
snd_mpu_port - porta # per l'UART MPU-401 (impostazione
PnP - 0x300), -1 = disabilitata
snd_fm_port - porta FM # per il chip CS4232 (impostazione
PnP - 0x388), -1 = disabilitata
snd_jport - porta joystick per il chip CS4232 (impostazione PnP - 0x200),
-1 = disabilitata
snd_irq - IRQ # per il chip CS4232 (5,7,9,11,12,15)
snd_mpu_irq - IRQ # per l'UART MPU-401 (9,11,12,15)
snd_dma1 - primo DMA # per il chip CS4232 (0,1,3)
snd_dma1_size - dimensione massima del primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA # per il chip Yamaha CS4232 (0,1,3), -1 = disabilitata
snd_dma2_size - dimensione massima del secondo DMA in kB (4-64kB)

   Si potrebbe dare il comando "modprobe snd-card-cs4236 snd_port=0x534
   snd_cport=0x120 snd_mpu_port=-1 snd_fm_port=0x388 snd_jport=-1
   snd_irq=5 snd_dma1=0 snd_dma1_size=NN snd_dma2=1 snd_dma2_size=NN" per
   caricare il driver (senza supporto per il MIDI, si veda la nota al
   chip Yamaha OPL-3, e senza supporto per il joystick). Note:
     * devono essere specificati i valori "NN", solo che non si sa quale
       potrebbe essere un valore ragionevole.
     * la mia CS4237B funziona bene senza specificare la dimensione del
       DMA.

5.4 [121]L'approccio con kerneld

   kerneld  un demone che carica i moduli su richiesta, e li scarica
   quando non vengono utilizzati. Poich non ho alcuna esperienza
   sull'uso di kerneld, non  possibile sapere se le informazioni
   riportate sono accurate. Le informazioni provengono dal file INSTALL
   del pacchetto ALSA-drivers. Informazioni eccellenti sul kerneld
   possono essere trovate nel kerneld-mini-HOWTO.

   Si seguano questi passi:
     * Modificare il file /etc/conf.modules (si vedano pi avanti gli
       esempi)
     * Eseguire 'modprobe snd-card' dove 'card'  il nome della propria
       scheda [ Il che sembra abbastanza strano, non dovrebbe occuparsi
       kerneld di caricarli? VS]

   Esempio di /etc/conf.modules per una scheda audio PnP Gravis
   UltraSound:

alias char-major-14 snd
alias snd-minor-oss-0 snd-interwave
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-interwave
options snd snd_major=14 snd_cards_limit=1
options snd-interwave snd_index=1 snd_id="guspnp" snd_port=0x220
snd_irq=5 snd_dma1=5 snd_dma2=6

   Esempio per l'uso di pi schede audio nella stessa macchina (la
   configurazione che segue  pensata per una Sound Blaster 16 e per una
   Gravis Ultrasound Classic):

alias char-major-14 snd
alias snd-minor-oss-0 snd-mixer
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-sb16
alias snd-card-1 snd-gusclassic
options snd snd_major=14 snd_cards_limit=2
options snd-sb16 snd_index=1 snd_port=0x220 snd_irq=5
snd_dma8=1 snd_dma16=5
options snd-gusclassic snd_index=2 snd_irq=11 snd_dma1=6
snd_dma2=7

   Esempio per l'uso di due schede audio Gravis UltraSound Classic nello
   stesso sistema:

alias char-major-14 snd
alias snd-minor-oss-0 snd-mixer
alias snd-minor-oss-3 snd-pcm1-oss
alias snd-minor-oss-4 snd-pcm1-oss
alias snd-minor-oss-5 snd-pcm1-oss
alias snd-minor-oss-12 snd-pcm1-oss
alias snd-card-0 snd-gusclassic
alias snd-card-1 snd-gusclassic
options snd snd_major=14 snd_cards_limit=2
options snd-gusclassic snd_index=1,2 snd_port=0x220,0x260
snd_irq=5,11 snd_dma1=5,6 snd_dma2=7,3

5.5 [122]Retrocompatibilit

   Per assicurarsi la compatibilit con OSS/Free e OSS/Linux si dovr
   caricare un ulteriore driver: il driver snd-pcm1-oss per la
   compatibilit con OSS. Si dia il comando

modprobe snd-pcm1-oss

   Questo metter a disposizione /dev/audio e /dev/dsp-support, come
   fanno i driver OSS/Free (kernel) e OSS/Linux (quello da $25). Si noti
   che questa  solo un'emulazione.

6. [123]Test e uso

   Ora si dovr verificare se il driver audio  stato realmente caricato
   e quindi provare a usarlo.

6.1 [124]Il filesystem /proc

   Si possono trovare molte informazioni utili sul proprio sistema nella
   sottodirectory /proc. /proc  un filesystem "virtuale": ci significa
   che non esiste veramente, ma che semplicemente  una mappatura dei
   vari processi e task del proprio computer. Affinch /proc funzioni
   dovr esserci il supporto necessario compilato nel kernel. Molte
   distribuzioni di Linux lo fanno in maniera predefinita, ma se  stato
   compilato un kernel lasciando fuori il supporto per /proc, ovviamente
   non vi sar nulla in /proc.

   /proc/modules fornisce informazioni sui moduli caricati. Una volta che
   i driver audio ALSA sono stati caricati, dando il comando cat
   /proc/modules si dovrebbe vedere qualcosa come:

snd-pcm1-oss      4            0
snd-sb16          1            1
snd-sb-dsp        4    [snd-sb16]      0
snd-pcm1          4    [snd-pcm1-oss snd-sb-dsp]      0
snd-pcm           3    [snd-pcm1-oss snd-sb16 snd-sb-dsp snd-pcm1]    0
snd-mixer         3    [snd-pcm1-oss snd-sb16 snd-sb-dsp]      1
snd-mpu401-uart   1    [snd-sb16]      0
snd-midi          4    [snd-sb16 snd-sb-dsp snd-mpu401-uart]   0
snd-opl3          1    [snd-sb16]      0
snd-synth         1    [snd-sb16 snd-opl3]     0
snd-timer         1    [snd-opl3]      0
snd               8    [snd-pcm1-oss snd-sb16 snd-sb-dsp snd-pcm1 snd-pcm snd-m
ixer snd-mpu401-uart snd-midi snd-opl3 snd-synth snd-timer]    0

   Se qualcosa  andato storto durante l'installazione del driver si
   vedranno un paio di dispositivi "snd", ma il supporto per l'audio non
   sar attivo.

   Per esempio (si noti che non si dovr mai dare questo comando cos
   come segue, il driver cs4236 ha bisogno delle opzioni):

win3:~# modprobe snd-card-cs4236
/lib/modules/2.0.35/misc/snd-card-cs4236.o: init_module: Device or resource bus
y
snd-mixer: Device or resource busy
win3:~# cat /proc/modules
snd-cs4236        2           0
snd-cs4231        3    [snd-cs4236]    0
snd-timer         1    [snd-cs4231]    0
snd-pcm1          4    [snd-cs4236 snd-cs4231] 0
snd-mixer         3    [snd-cs4236 snd-cs4231] 0
snd-pcm           3    [snd-cs4236 snd-cs4231 snd-pcm1]       0
snd-mpu401-uart   1           0
snd-midi          4    [snd-mpu401-uart]       0
snd-opl3          1           0
snd-synth         1    [snd-opl3]      0
snd-timer         1    [snd-cs4231 snd-opl3]   0
snd               8    [snd-cs4231 snd-timer snd-pcm1 snd-mixer snd-pcm]     0

   Si pu controllare l'esistenza di una scheda audio guardando in
   /proc/asound/cards. Per esempio:

bash$ cat /proc/asound/cards
0 [card1          : SB16 - Sound Blaster 16
                    Sound Blaster 16 at 0x220, irq 5, dma 1&5

   Nell'esempio precedente (dove le opzioni sono state dimenticate)
   l'output sarebbe dovuto essere:

win3:~# cat /proc/asound/cards
--- no soundcards ---

   Una scheda CS4236 funzionante produrrebbe

0 [card1         ]: CS4236 - CS4237B
                    CS4237B at 0x534, irq 7, dma 1&0

   Se sono state controllate e ricontrollate le impostazioni ed ancora
   non si vede nessuna scheda, si dia un'occhiata alla sezione
   risoluzione dei problemi.

   La directory virtuale /proc/asound fornisce molte altre informazioni
   sul driver. Si noti che /proc/asound esister solo dopo aver caricato
   il primo modulo ALSA. Se /proc/asound non c', significa semplicemente
   che il modulo "snd" non  stato correttamente caricato. Si possono
   identificare le schede installate in /proc/asound/cards, e trovare le
   informazioni sulla scheda0 in /proc/asound/0, quelle sulla scheda1 in
   /proc/asound/1 ecc.

   Se cat /proc/asound/card1/pcm0 mostra qualcosa come

      ES1370 DAC2/ADC
      Playback isn't active.
      Record isn't active.

   significa che il driver  pronto a funzionare, ma in questo momento
   non sta facendo nulla (quindi  andato tutto bene).

   Per chi usa un kernel 2.0 c' un terzo metodo per trovare informazioni
   sui dispositivi audio, vale a dire che se  stato caricato il driver
   OSS compatibile vi sar un dispositivo /dev/sndstat. I driver ALSA
   chiedono gentilmente di non fare affidamento su queste informazioni,
   poich il dispositivo  presente solo per compatibilit con i driver
   OSS e informazioni pi attendibili possono essere ottenute da
   /proc/asound/. Nei kernel 2.2.x ALSA utilizza il soundcore del kernel
   e quindi non pu emulare /dev/sndstat, poich potrebbe interferire con
   i driver OSS.

6.2 [125]Il mixer

   Una volta che i driver per la scheda audio sono stati installati e il
   filesystem /proc assicura che tutto  andato a buon fine si pu
   provare a produrre qualche suono.

   Per farlo si dovranno impostare i volumi del mixer ad un valore
   ragionevole: ci sar bisogno del programma "amixer", dal pacchetto
   alsa-utils.

   Prima di tutto si installi il pacchetto dei programmi di utilit, o
   almeno si metta il comando "amixer" in qualche posto accettabile (come
   /usr/local/bin).

   La versione 0.3.2 e successive hanno un'interfaccia diversa da quelle
   dei driver OSS. Digitando "amixer" verranno mostrati i vari elementi
   del mixer e i relativi valori. Uno di questi elementi potrebbe essere
   "volume master", per esempio, e potrebbe presentarsi cos:

Group 'Master',0
  Capabilities: volume
  Channels: Front-Left Front-Right
  Limits: min = 0, max = 31
  Front-Left: 31 [100%] [on] [---]
  Front-Right: 26 [84%] [on] [---]

   Sfortunatamente non si sa come impostare indipendentemente i volumi
   sinistro e destro. Con amixer si possono cambiare i volumi con il
   comando "amixer set". Per esempio, per cambiare il volume Master, si
   pu dare il comando

amixer set Master 15

   Si noti che i nomi degli elementi possono essere diversi per diversi
   tipi di schede audio. Si noti anche che amixer fa differenza tra
   maiuscolo e minuscolo, perci "amixer set masteR 10" non funzioner.
   Per maggiori informazioni si veda la pagina di manuale di amixer.

   Con la versione 0.3.0-pre4 di ALSA, amixer funziona come i normali
   programmi di mixer.

   Si pu dare un'occhiata alle impostazioni del mixer digitando
   "amixer". Questo comando mostra le impostazioni del mixer o, come
   vengono normalmente chiamate, le impostazioni del volume delle diverse
   parti della scheda audio. L'output di amixer pu variare molto da
   scheda a scheda. Per la mia Soundblaster 16 dice:

Master         0  % (-14.00dB) : 0  % (-14.00dB)
Bass           0  % (-14.00dB) : 0  % (-14.00dB)
Treble         0  % (-14.00dB) : 0  % (-14.00dB)
Synth          0  % (-62.00dB) : 0  % (-62.00dB)
PCM            0  % (-62.00dB) : 0  % (-62.00dB)
Line-In        0  % (-62.00dB) : 0  % (-62.00dB) Mute
MIC            0  % (-62.00dB) : 0  % (-62.00dB) Mute
CD             0  % (-62.00dB) : 0  % (-62.00dB) Mute
In-Gain        0  % (-18.00dB) : 0  % (-18.00dB)
Out-Gain       0  % (-18.00dB) : 0  % (-18.00dB)
PC Speaker     0  % (-18.00dB) : 0  % (-18.00dB)

   Se si ottiene solo un messaggio del tipo "amixer: Specify command..."
   si stanno utilizzando i programmi di utilit di ALSA 3.2. Il
   suggerimento  aggiornare le utilit alla versione 0.4.1e o
   successive, oppure ritornare alla versione 0.3.0-pre4.

  Impostazioni del mixer per la riproduzione

   Sar stata notata la voce "Mute" su qualche dispositivo. Questa
   significa che quel particolare dispositivo sar escluso, qualunque sia
   il suo livello di volume. Alcune schede (la CS4237B dell'esempio)
   azzerano il volume anche sul canale principale. Nel caso della CS4237B
   si dovrebbe digitare

   amixer set "Master d" unmute

   per riuscire anche solo ad udire qualche suono. La Soundblaster non ha
   il volume azzerato sul canale di output ma

   amixer set Master 100 unmute

   imposter il volume al 100% e toglier il "muto" al canale principale.
    possibile usare un numero, una parola come "mute" o "unmute" o
   entrambi. Digitando

   amixer set "Master d" 100; amixer set PCM 100 unmute

   si imposta la scheda CS4237B al massimo volume del canale principale e
   si toglie il "muto" al canale PCM portandolo al massimo volume.

   Usando una versione di amixer pi vecchia, si dovr tralasciare la
   parte "set" del comando, dunque baster digitare

   amixer "master d" 100

  Componenti del mixer

   I vari componenti del mixer possono confondere se non si hanno
   conoscenze sulla produzione di audio digitale. Il Sound-HOWTO potrebbe
   essere d'aiuto, qui si trover una introduzione molto breve.

   Probabilmente si avr bisogno solo di pochi elementi del mixer: uno di
   questi  l'impostazione "CD" (cio il suono analogico proveniente dal
   lettore CD; quasi tutti i lettori di CD sono connessi con un cavo
   rosso/bianco/nero a 3 o 4 fili).

   L'impostazione "PCM"  usata per quasi tutte le applicazioni.
   Programmi come mpg123, xmms, speakfreely, realplayer ed altri usano il
   canale PCM.

   "MIC" sta per microfono, "line-in"  un ingresso extra (opzionale)
   posto in fondo alla scheda audio.

   I vari componenti "gain" ("guadagno" ndt) permettono di avere una
   ulteriore amplificazione per diversi usi e sono facilmente
   comprensibili. (per esempio record-gain  una ulteriore amplificazione
   del canale di registrazione, che pu tornare utile se si utilizza un
   microfono).

  Impostazioni del mixer per la registrazione

   Si pu impostare il canale CD per la registrazione digitando

   amixer set CD capture

   e fermare la registrazione con

   amixer set CD nocapture.

   Si noti che programmi amixer pi vecchi usano "amixer CD rec" e
   "amixer CD norec" a questo scopo.

   Per registrare qualcosa dal microfono si user

   amixer set "Input Gain" 100; amixer set Mic 100 capture mute.

   (l'uso dell'input dal microfono senza volume azzerato potrebbe
   generare del rumore ad alta frequenza se il microfono captasse il suo
   stesso suono dagli altoparlanti). Molti microfoni dispongono di una
   impostazione di "gain"per amplificarne il volume; probabilmente si
   dovr agire su questa per riuscire ad udire i suoni provenienti dal
   microfono.

   Di nuovo, programmi amixer pi vecchi useranno mixer ``"input gain"
   100; amixer mic 100 rec mute''.

  Altre impostazioni del mixer

   Sfortunatamente non sono riuscito a modificare il volume delle
   impostazioni "3d center" e "3d space" con amixer 0.3.0-pre4. Non ho
   ancora provato la versione 0.4.1e (questa particolare macchina usa
   ancora 2.0.38). Se qualcuno ci riuscisse  pregato di farmelo sapere.
   A questo scopo pu essere utilizzato alsamixer, per il quale per non
    ancora stato fatto il port alla versione 0.4.1e.

   Le FAQ di ALSA dicono che  possibile ripristinare le impostazioni del
   mixer con cat <file> > /proc/asound/#/mixerC0D0, dove <file> 
   l'output di /proc/asound/#/mixerC0D0. Non sono riuscito a far
   funzionare questo metodo perch il suo sistema si lamenta riguardo a
   dei dispositivi inesistenti. Inoltre c' il programma "alsactl", che
   non uso. Siete invitati (s, voi) a scrivere questa sezione.

6.3 [126]I dispositivi /dev/snd/

   I driver ALSA dispongono di dispositivi audio nativi nella directory
   /dev/snd. Se si dispone di una scheda si potranno vedere i seguenti
   dispositivi:

/dev/snd/pcmC0D0 - il dispositivo raw audio della scheda
/dev/snd/mixerC0D0 - il mixer per la scheda 0
/dev/snd/controlC0D0 - il dispositivo di controllo per la scheda 0

   Il primo numero indica il numero della scheda audio, il secondo numero
   (se c')  il numero del dispositivo. Una scheda audio con due
   dispositivi PCM dovrebbe avere un dispositivo pcmC0D0 e uno pcmC0D1.
   Si noti che i dispositivi ALSA sono cambiati rispetto alle precedenti
   versioni. I vecchi dispositivi ALSA usavano /dev/snd/pcm00 (il primo
   numero  la scheda, il secondo il dispositivo). Se questo HOWTO usa la
   vecchia notazione scrivetemi, cos potr essere corretto.

   Ora si pu provare a mettere un file audio qualunque nel dispositivo
   PCM della prima scheda. Si provi quindi a fare un cat di un qualsiasi
   file di testo (un file qualunque) in /dev/snd/pcmC0D0, per esempio cat
   <filename> > /dev/snd/pcmC0D0. <nomefile> pu essere un file
   qualsiasi, purch sia abbastanza lungo. Se c' un file audio da
   qualche parte si pu provare con quello. Si pu anche prendere il file
   presente su [127]http://www.ldp.org/sounds/english.au,  Linus
   Torvalds che fa sentire come si pronuncia Linux.

   L'impostazione predefinita del dispositivo audio  8000 Hz, 8 bit.
   Questo significa che il file "english.au" di cui sopra riprodurr il
   discorso, gli altri file di testo produrranno semplicemente del
   rumore. Se non si sente nulla si controllino gli altoparlanti, si
   provi di nuovo con "amixer" o si consulti un medico (pi avanti si
   potr facilmente utilizzare la propria scheda a 48 Khz e 16 bit con il
   proprio riproduttore preferito, tipo sox o mpg123).

   Se  stato caricato il modulo "snd-pcm1-oss" si pu anche usare la
   compatibilit con OSS per accedere alla scheda. Sono utilizzate le
   seguenti mappature:

/dev/snd/pcmC0D0 -> /dev/audio0 (/dev/audio) -> minor 4
/dev/snd/pcmC0D0 -> /dev/dsp0 (/dev/dsp) -> minor 3
/dev/snd/pcmC0D1 -> /dev/adsp0 (/dev/adsp) -> minor 12
/dev/snd/pcmC1D0 -> /dev/audio1 -> minor 4+16 = 20
/dev/snd/pcmC1D0 -> /dev/dsp1 -> minor 3+16 = 19
/dev/snd/pcmC1D1 -> /dev/adsp1 -> minor 12+16 = 28
/dev/snd/pcmC2D0 -> /dev/audio2 -> minor 4+32 = 36
/dev/snd/pcmC2D0 -> /dev/dsp2 -> minor 3+32 = 35
/dev/snd/pcmC2D1 -> /dev/adsp2 -> minor 12+32 = 44

   Probabilmente si vorr anche usare il modulo "snd-mixer-oss", per
   poter sfruttare il mixer con la retrocompatibilit.

6.4 [128]Informazioni aggiuntive

   Il file INSTALL nella directory del driver ALSA menziona alcuni
   accorgimenti per dire al driver quale impostazioni usare. L'avere o
   meno bisogno di questi comandi dipender dall'applicazione che verr
   usata per riprodurre l'audio. Le normali applicazioni di riproduzione
   audio, come mpg123, sox (frequentemente richiamato col comando
   "play"), o le applicazioni per X11 come RealPlayer probabilmente
   funzioneranno correttamente comunque. In ogni caso non li ho mai
   utilizzati.

  /proc/asound/#/pcm#0

"Playback erase" - cancella tutte le informazioni aggiuntive
sulle applicazioni OSS "Playback <app_name> <fragments>
<fragment_size> [<options>]"
"Record erase" - cancella tutte le informazioni aggiuntive sulle applicazioni O
SS
"Record <app_name> <fragments> <fragment_size>
[<options>]"

   <app_name> - nome dell'applicazione con (priorit pi alta) o senza
   percorso

   <fragments> - numero dei frammenti o zero in modalit automatica

   <fragment_size> - dimensione dei frammenti in byte o zero in modalit
   automatica

   <options> - parametri opzionali

   WR_ONLY - se l'applicazione prova ad accedere al dispositivo pcm con
   O_RDWR il driver lo cambia in O_WRONLY (riproduzione). Ottimo per
   Quake ecc.

   Esempi:

echo "Playback x11amp 128 16384" > /proc/asound/0/pcm0o
echo "Playback squake 0 0 WR_ONLY" > /proc/asound/0/pcm0o

  /proc/asound/#card#/sb16

"Playback 8" -> il driver user sempre il canale DMA a
8-bit per la riproduzione.
"Playback 16" -> il driver user sempre il canale DMA a 16 bit per la
riproduzione.
"Playback auto" (predefinito) -> il driver user la configurazione
automatica (il primo canale aperto utilizzer il canale DMA a 16 bit).
"Record 8" -> il driver user sempre il canale DMA a 8 bit per la
registrazione.
"Record 16" -> il driver user sempre il canale DMA a 16 bit per la
registrazione.
"Record auto" (predefinito) -> il driver utilizzer la configurazione
automatica (il primo canale aperto utilizzer il canale DMA a 16 bit).

   Esempio: echo "Record 16" > /proc/asound/0/sb16

   Per altre informazioni si consulti il file INSTALL.

7. [129]Trucchi e risoluzione dei problemi

   Si dia un'occhiata al file FAQ nella directory del driver audio.
   Questa sezione  ancora in lavorazione.

7.1 [130]Compilare il driver

  Sorgenti del kernel linux

   Se i driver ALSA non si compilano correttamente e fanno qualche
   riferimento a "version.h" o altri file header che non possono essere
   trovati, potrebbe significare che non si dispone dei file header del
   kernel. Si veda il Kernel HOWTO, si estragga un kernel recente in
   /usr/src e si dia il comando make config.

  Impossibile creare eseguibili

   Le utilit contengono codice scritto in c++. Quasi tutti hanno un
   compilatore c++ contenuto in gcc o egcs, ma ci si assicuri di aver
   installato il pacchetto libstdc++-devel, altrimenti, lanciando lo
   script di configurazione delle utilit il sistema lascer sconcertati
   con un messaggio di errore del tipo "il compilatore c++ non pu creare
   eseguibili".

7.2 [131]Caricare il driver

   Si controllino le seguenti voci.

  Dispositivi audio

   ALSA usa alcuni dispositivi speciali contenuti nella directory /dev.
   Ci si assicuri di aver lanciato lo script ./snddevices nella directory
   dei sorgenti dei driver ALSA.

  Compatibilit della scheda audio

   Si  sicuri al 100% che la scheda audio SIA supportata? Si controlli
   di nuovo. A volte una X123 non  uguale ad una X123b e si potrebbe
   solo perdere del tempo. D'altra parte anche una scheda supportata pu
   dare problemi: a me sono servite due ore per capire l'installazione di
   una CS4237B che, dopo tutto, si  dimostrata solo un esempio di RTFM
   (Acronimo di "Read The Fine Manual" (leggi il bel manuale) ndt).

  "Device busy" o "unresolved symbols"

   Si potrebbe avere un kernel 2.0.x con supporto per l'audio compilato
   nel kernel, o potrebbe essere caricato il driver audio OSS/Lite (del
   kernel) (si controlli con il comando cat /proc/modules). Si rimuova il
   driver o si ricompili il kernel (si dia un'occhiata al Kernel-HOWTO).

   Il modulo audio nella serie 2.0 del kernel si chiama "sound.o" e non
   dovrebbe essere attivo (il driver ALSA "snd.o"  comunque OK).

   Avendo un kernel della serie 2.2.x senza driver audio compilato nel
   kernel i driver ALSA comunque non funzioneranno.

  Kernel 2.0

   So che non  molto chiaro, quindi verr spiegato una volta ancora. Con
   un kernel della serie 2.0.x (il comando ``uname -a'' dice qualcosa del
   tipo "Linux penguin 2.0.35 #6 Wed Sep 23 10:19:16 CEST 1998 i686
   unknown") i driver dovranno essere lasciati fuori dal kernel. ALSA
   0.4.x e successivi non funzionano con i kernel della serie 2.0

  Kernel 2.2

   Con un kernel della serie 2.2.x si avr bisogno dei driver audio. Un
   kernel della serie 2.2 dovr essere compilato con il supporto per il
   suono ma senza il driver della scheda audio. Quindi si selezioni il
   supporto per l'audio ma ci si assicuri che nessuno specifico driver di
   scheda audio sia compilato.

  Riferimenti ad altri driver

   Un'altra ragione per la quale i driver potrebbero lamentarsi del fatto
   che il dispositivo sia occupato potrebbe essere che il file
   /etc/conf.modules contenga ancora dei riferimenti ai driver della
   scheda audio. Questi riferimenti dovranno essere cancellati lasciando
   solo tutto ci che si riferisce ai driver ALSA (sarebbe bene lasciare
   come sono i riferimenti a driver che non siano di dispositivi audio).

  Unresolved symbols rivisitato

   Un'altra sorgente di messaggi "unresolved symbols" potrebbe essere un
   nuovo kernel con i vecchi driver. Si  pregati di ricompilare i driver
   ALSA dopo aver ricompilato un nuovo kernel. Questo assicurer la
   compatibilit tra i driver ed il nuovo kernel.

  Controllare le impostazioni PnP

   Si + sicuri che la scheda audio sia attiva? Si dia un'ulteriore
   occhiata al PnP-HOWTO e si controlli di aver attivato correttamente la
   scheda audio.

  Sono corretti i parametri?

   Controllare e ricontrollare i parametri della propria scheda audio. Si
   noti che 534 non  come 543 e neppure 0x534  uguale a 534.

   Inoltre qualche scheda audio potrebbe richiedere un driver diverso da
   quello che ci si aspetta. Si faccia una pausa con una birra o
   qualcos'altro e si dia ancora un'occhiata al comando "modprobe". Per
   esempio il driver per la Crystal 4232 dovrebbe essere caricato da
   modprobe snd-card-cs4232, e non "snd-cs4231", e la SoundBlaster PCI 64
   dovrebbe essere caricata con "snd-audiopci", non con snd-es1370 (
   tutto scritto nella documentazione ed anche avendo un HOWTO una volta
   ho perso un intero pomeriggio cercando di persuadere snd-cs4231 a
   produrre suoni).

7.3 [132]Driver caricato... ma nessun suono (o quasi)

  Togliere il "muto"

   I driver ALSA possono sfruttare la funzione di ``muting'' di cui molte
   schede audio dispongono. Se i driver audio sono stati caricati e tutto
    andato bene ma non si sente altro che silenzio, probabilmente ci si
    dimenticati di togliere il "muto" alla scheda. Ci sar bisogno di
   "amixer" o "alsamixer" per farlo, sono tutti e due nel pacchetto
   ALSA-utilities. Si digiti solamente

amixer set -c 1 Master 70 unmute
amixer set -c 1 PCM 70 unmute
amixer set -c 1 CD 70 unmute

   che dovrebbe funzionare per la maggior parte delle applicazioni. Si
   noti che usando programmi amixer pi vecchi sar necessario
   tralasciare la parte "set" nella riga di comando.

  Gain

   Quasi tutte le schede audio dispongono di un componente del mixer a
   parte per l'amplificazione degli input/output aggiuntivi. Questo
   componente  spesso chiamato "gain", "in-gain" per l'input ed
   "out-gain" per l'output. L'impostazione di questo componente ad un
   livello adeguato permetter di ottenere il massimo volume dai propri
   altoparlanti (si pensi comunque ai propri genitori/vicini/orecchie).
   Quindi un comando come

amixer set out-gain 100 unmute

   probabilmente sar di aiuto.

  Compatibilit con OSS/Linux

   Se questa  la prima volta che si usano i driver ALSA e prima si
   usavano i driver audio del kernel, probabilmente si vorr avere un
   driver audio compatibile con quello precedente (ad esempio per usare i
   dispositivi /dev/pcmX). Si dovr caricare il "driver di compatibilit
   OSS" per ottenere questo risultato. Si dia il comando modprobe
   snd-pcm1-oss && modprobe snd-mixer-oss (si veda la sezione che
   riguarda il caricamento del driver). Si noti che snd-pcm1-oss non  la
   stessa cosa di snd-pcm1, ci sar bisogno di snd-pcm1-oss per ottenere
   il supporto audio vecchio stile e di snd-mixer-oss per il mixer.

  Impossibile aprire il mixer

   Provando ad installare diverse versioni di ALSA a volte il mixer
   diventa inaccessibile. Accade se si  provata la versione 0.3.2 e si 
   tentato di ritornare alla 0.3.0-pre4 (IIRC). Si dovranno cancellare
   tutti i file libasound ed i collegamenti ad essi da /usr/lib e quindi
   ricompilare librerie e programmi di utilit:

rm /usr/lib/libasound.*

   Solo per sicurezza cancellare tutti i driver ALSA quindi ricompilare,
   installare e caricare i driver.

7.4 [133]Suggerimenti generici

  Provare con "insmod"

    sempre utile partire con il comando "insmod" invece che con kerneld.
   Si avr cos modo di vedere gli errori sullo schermo.

  Leggere il file INSTALL

   Si possono trovare molte informazioni nel file INSTALL presente nella
   directory dei driver. Se il driver si rifiuta di funzionare si
   controlli se sono disponibili informazioni aggiuntive.

  Messaggi di debug

   Come ultima risorsa  possibile ricompilare il driver in modo da
   fargli inviare le informazioni di debug su /var/log/messages. Andare
   nella directory del driver con cd /usr/src/alsa-driver-.... e
   digitare:

./configure --with-debug=detect; make clean; make

   Si rimuova il driver (se esso  attivo si veda pi avanti un comando
   generico per la rimozione). Si usi il comando "modprobe" usato prima
   per caricare il driver appena compilato. Si veda /var/log/messages per
   controllare se ci sono messaggi.

  Se tutto il resto fallisce...

   Se questi messaggi non sono di aiuto, mandare un messaggio alla
   mailing list degli utenti di ALSA, [134]alsa-user@alsa-project.org.

   Includere le seguenti informazioni:
     * nome della scheda audio + chip presenti sulla scheda audio
     * sezioni pertinenti del file isapnp.conf per chi ha una scheda ISA
       PnP
     * il file conf.modules o la riga usata per attivare i driver ALSA
     * tutti i messaggi di /var/log/messages di pertinenza del driver
       ALSA

7.5 [135]Segnalazioni di bug

   Se si trova un bug, gli sviluppatori di ALSA vorranno sapere (al
   minimo) le seguenti cose:

    1. versioni del driver e del kernel : 'cat /proc/asound/version'
    2. informazioni sulla scheda audio
          + nome con il quale la scheda audio viene chiamata dal
            fabbricante
          + lista dei chip che compongono la scheda audio
          + contenuto di 'cat /proc/asound/cards'
    3. tutti i messaggi di /var/log/messages di pertinenza del driver
       ALSA
    4. descrizione del problema

7.6 [136]Suggerimento: riprodurre CD

   Se si usa kmod/kerneld ed i driver ALSA per riprodurre i CD,
   probabilmente kmod/kerneld non carica i driver come dovrebbe. Questo 
   dovuto al fatto che un riproduttore di CD dice solo al CD di
   cominciare a riprodurre senza utilizzare alcuno dei dispositivi che
   avvisano kmod/kerneld della necessit del suono. Usare modprobe
   potrebbe essere l'unica soluzione a questo problema.

7.7 [137]Suggerimento: installare il driver seriale MIDI

   Normalmente la porta di IO del dispositivo seriale  di propriet del
   driver del dispositivo seriale standard. Quindi prima di dare il
   comando "modprobe snd-serial" si dovr dire al driver di rilasciare il
   dispositivo seriale.

   Questa  la procedura.

setserial /dev/ttyS0 uart none
modprobe snd-serial

   (Si sostituisca /dev/ttyS0 con l'opportuno dispositivo /dev/ttySx se
   il MIDI usa un diverso dispositivo seriale).

7.8 [138]Suggerimento: nuovo kernel? nuovi moduli!

   Dopo aver aggiornato il kernel probabilmente ci sar bisogno di
   ricompilare i driver ALSA. Se sono ancora nella directory originaria
   /usr/src, non ci si dimentichi di dare un make clean prima di
   ./configure, make, make install.

   Ah, c' una anomalia nella numerazione dei kernel: lo script di
   configurazione dice che un kernel "2.2.0ac1"  un "not a number" (non
   un numero, ndt). Penso che sia stato risolto nei nuovi script di
   configurazione altrimenti si dovr cambiare la versione del kernel nei
   sorgenti.

7.9 [139]Suggerimento: KDE e i driver ALSA

   Supponiamo di avere KDE funzionante e di non riuscire a far funzionare
   i suoni di sistema, quelli usati all'apertura delle finestre, o
   cambiando desktop ecc. L'audio in generale funziona. Se il
   riproduttore cd e mp3 ed il mixer funzionano normalmente probabilmente
   quello che non funziona  solo "kwmsound".

   Quindi ci si assicuri che "kwmsound" sia nello script di avvio
   ($KDEDIR/bin/startkde)

7.10 [140]Suggerimento: uso dei dispositivi ALSA

   Se si aveva gi precedentemente il supporto per il suono nel proprio
   sistema Linux  probabile che tutte le applicazioni puntino a
   /dev/pcm0, /dev/audio e /dev/mixer. Questo va bene se si usa il modulo
   di compatibilit con OSS, snd-pcm1-oss. Potrebbe essere meglio,
   comunque, usare i dispositivi ALSA veri, quelli che si trovano in
   /dev/snd/.

7.11 [141]Suggerimento: rimuovere tutti i moduli

   La rimozione di 10 o pi moduli uno ad uno non  la cosa giusta da
   fare. Fortunatamente tutti i moduli iniziano con il prefisso "snd-",
   quindi un po' di programmazione da riga di comando potrebbe fare al
   caso nostro. Si potranno facilmente rimuovere i driver ALSA con un
   comando di questo tipo:

cat /proc/modules|gawk '/^snd-/{print $1}'|xargs -i rmmod {}

   Juergen Kahrs ha scritto: "Ho uno script che rimuove anche soundcore,
   soundlow e sound se sono presenti e se non sono utilizzati. Lo script
   processa /proc/modules tre volte quindi non dovrebbero restare troppi
   moduli dopo la sua esecuzione". Ecco la sua soluzione:

awk '/^snd/||/^sound/&&($3==0){system("rmmod "
$1)}' /proc/modules /proc/modules /proc/modules

   Si noti che se qualche modulo dipende da qualche altro modulo non si
   pu semplicemente rimuovere il modulo "pi alto". Questo significa che
   si potrebbe aver bisogno di una seconda esecuzione del comando di
   rimozione (comunque non ho mai incontrato questa situazione, sembra
   che i moduli ALSA possano essere rimossi nell'ordine in cui appaiono
   nel file /proc/modules).

Riferimenti

   1. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#s1
   2. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss1.1
   3. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss1.2
   4. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss1.3
   5. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss1.4
   6. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss1.5
   7. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#s2
   8. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss2.1
   9. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss2.2
  10. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss2.3
  11. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss2.4
  12. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#s3
  13. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss3.1
  14. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss3.2
  15. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss3.3
  16. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss3.4
  17. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#s4
  18. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss4.1
  19. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss4.2
  20. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss4.3
  21. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss4.4
  22. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss4.5
  23. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss4.6
  24. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#s5
  25. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss5.1
  26. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss5.2
  27. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss5.3
  28. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss5.4
  29. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss5.5
  30. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#s6
  31. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss6.1
  32. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss6.2
  33. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss6.3
  34. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss6.4
  35. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#s7
  36. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.1
  37. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.2
  38. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.3
  39. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.4
  40. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.5
  41. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.6
  42. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.7
  43. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.8
  44. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.9
  45. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.10
  46. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#ss7.11
  47. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc1
  48. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc1.1
  49. http://www.sgmltools.org/
  50. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc1.2
  51. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc1.3
  52. http://www.alsa-project.org/~valentyn
  53. http://www.alsa-project.org/~valentyn/other-formats
  54. http://plaza21.mbn.or.jp/~momokuri/alsa/index.html
  55. http://www.freenix.fr/unix/linux/HOWTO/mini/Alsa.html
  56. http://kib4.vein.hu/~zsolt/alsa.html
  57. http://pluto.linux.it/ildp/index.html
  58. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc1.4
  59. mailto:alsa-howto@alsa-project.org
  60. mailto:linux-howto@metalab.unc.edu
  61. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc1.5
  62. http://www.fsf.org/
  63. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc2
  64. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc2.1
  65. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#which-modul
  66. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc2.2
  67. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc2.3
  68. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#which-modul
  69. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc2.4
  70. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc3
  71. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc3.1
  72. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc3.2
  73. http://www.alsa-project.org/intro.html
  74. http://www.alsa-project.org/
  75. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc3.3
  76. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc3.4
  77. http://metalab.unc.edu/LDP/mirrors.html
  78. file://localhost/home/giulio/ILDP/howto/Sound-HOWTO.html
  79. file://localhost/home/giulio/ILDP/howto/Plug-and-Play-HOWTO.html
  80. file://localhost/home/giulio/ILDP/howto/Kernel-HOWTO.html
  81. file://localhost/home/giulio/ILDP/howto/temp/Modules.html
  82. file://localhost/home/giulio/ILDP/howto/temp/Kerneld.html
  83. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc4
  84. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc4.1
  85. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc4.2
  86. ftp://ftp.alsa-project.org/pub/
  87. ftp://ftp.silug.org/pub/alsa
  88. ftp://ftp.eecs.umich.edu/pub/linux/alsa
  89. ftp://linux.a2000.nl/alsa
  90. ftp://ftp.task.gda.pl/pub/linux/misc/alsa
  91. ftp://ftp.tu-clausthal.de/pub/linux/alsa
  92. ftp://ftp.phacka.sk/pub/alsa
  93. ftp://ftp.suburbia.com.au/pub/alsa
  94. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc4.3
  95. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc4.4
  96. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc4.5
  97. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc4.6
  98. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc5
  99. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#backw-compat
 100. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc5.1
 101. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc5.2
 102. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 103. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 104. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 105. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 106. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 107. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 108. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 109. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 110. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 111. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 112. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 113. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 114. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 115. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#no-card
 116. http://dice.shopcenter.nu/alsa/
 117. http://www.geocities.com/SiliconValley/Peaks/3649/1412.html
 118. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#trident
 119. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc5.3
 120. http://www.cirs.org/patrick/index.html
 121. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc5.4
 122. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc5.5
 123. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc6
 124. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc6.1
 125. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc6.2
 126. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc6.3
 127. http://www.ldp.org/sounds/english.au
 128. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc6.4
 129. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7
 130. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.1
 131. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.2
 132. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.3
 133. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.4
 134. mailto:alsa-user@alsa-project.org
 135. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.5
 136. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.6
 137. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.7
 138. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.8
 139. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.9
 140. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.10
 141. file://localhost/home/giulio/ILDP/howto/temp/Alsa-sound.html#toc7.11
