Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1372

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Alsa-sound-mini-HOWTO</TITLE>


</HEAD>
<BODY>
<H1>Alsa-sound-mini-HOWTO</H1>

<H2>Valentijn Sessink <CODE>valentyn@alsa-project.org</CODE></H2>v1.7, 29 luglio 1999
<P><HR>
<EM>Descrive l'installazione del driver audio ALSA per Linux.
Questo driver audio pu&ograve; essere utilizzato al posto dei normali driver
sonori vista la sua completa compatibilit&agrave;. Suggerimenti e critiche alla
traduzione italiana di questo documento possono essere inviati al suo curatore:
Marco Meloni (
<A HREF="mailto:tonno@stud.unipg.it">tonno at stud.unipg.it</A>). </EM>
<HR>
<H2><A NAME="s1">1. Introduzione</A></H2>

<P>Questo &egrave; l'ALSA Sound driver mini-HOWTO. Vi fornisce informazioni
sull'installazione e l'utilizzo dei driver audio ALSA per la vostra
scheda audio.  I driver ALSA sono driver audio completamente modulari
che supportano kerneld o kmod. Sono compatibili con le API OSS e ne
superano le possibilit&agrave;. In altre parole: compatibili, ma migliori.
<P>
<H2>1.1 Riconoscimenti</H2>

<P>Questo documento contiene delle informazioni che ho preso dalle pagine
del driver ALSA. La struttura &egrave; stata presa dal SB-mini-HOWTO,
semplicemente perch&eacute; assomigliava molto a quella che stavo cercando.
Grazie al pacchetto 
<A HREF="http://www.sgmltools.org">SGML</A>
Tools, questo HOWTO &egrave; disponibile in diversi formati, tutti generati da un
solo file sorgente. Grazie a Erik Warmelink per la rilettura, grazie a
Alfred Munnikes per le sue domande ed i suoi suggerimenti sempre d'aiuto.
Grazie a Yamahata Isaku per la traduzione Giapponese, Miodrag Vallat per la
traduzione in Francese. Steve Crowder ha fatto un ottimo lavoro nella lettura
e nella composizione dell'intero testo. Grazie a Marc-Aurele Darche, Piotr Ingling,
Juergen Kahrs, Tim Pearce Patrick Stoddard, Rutger de Graaf, Shuly Wintner, Jyrki Saarela,
Jonas Lofwander, Kumar Sankaran
per i loro suggerimenti ed i loro contributi.
<P>
<H2>1.2 Storia delle Revisioni</H2>

<P>Versione 1.7 - Luglio 29, 1999. Qualche correzione.
<P>Versione 1.6 - Luglio 26, 1999. Aggiunta una sezione sulle versioni di ALSA.
<P>Versione 1.5 - Maggio 21, 1999. Modificata la sezione sul mixer, aggiunta una
sezione di installazione rapida.
<P>Versione 1.4 - Maggio 18, 1999. Inclusa la URL della versione Francese,
cambiate altre URL.
<P>Versione 1.3 - Maggio 16, 1999. Grazie a Jaroslav questo HOWTO ha trovato
casa nel sito web del progetto ALSA. A causa di questo avvenimento sono
stati modificati indirizzi web e di email.
<P>Versione 1.2 - Maggio 11, 1999. Diversi aggiornamenti.
<P>Versione 1.1 - Marzo 11, 1999. Aggiunte molte schede audio della nuova versione
0.3 dei driver, scritto qualcosa sul kernel versione 2.2.
<P>Versione 1.0 - Febbraio 8, 1999. Aggiunte diverse cosa alla sezione di
risoluzione dei problemi, ma sembra quasi completo.
<P>Versione 0.3 beta - Gennaio 20, 1999. Link sulla homepage ALSA. Ah, siamo
ufficiali!
<P>Versione 0.2 alfa - Met&agrave; Gennaio 1999, prima versione .sgml.
<P>Versione 0.1 alfa - Gennaio 1999, prima versione, pi&ugrave; che altro HTML.
<P>Ancora: vi prego di inviare qualsiasi patch in Inglese, you native speakers!
<P>
<H2>1.3 Nuove versioni di questo documento</H2>

<P>L'ultima versione pu&ograve; essere trovata su 
<A HREF="http://www.alsa-project.org/~valentyn">http://www.alsa-project.org./~valentyn</A><P>Altri formati (html, sgml, txt) sono nella directory  
<A HREF="http://www.alsa-project.org/~valentyn/other-formats">other-formats</A>. Sfortunatamente non sono riuscito a compilare una
versione Postscript poich&eacute; lo script sgml2latex esce con un sacco di errori.
<P>Yamahata Isaku ha tradotto in Giapponese questo documento che
sar&agrave; disponibile sul sito giapponese del progetto ALSA
<A HREF="http://plaza21.mbn.or.jp/~momokuri/alsa/index.html">http://plaza21.mbn.or.jp/~momokuri/alsa/index.html</A><P>Miodrag Vallat ha tradotto in Francese questo documento, traduzione
che &egrave; disponibile su
<A HREF="http://www.freenix.fr/unix/linux/HOWTO/mini/Alsa.html">http://www.freenix.fr/unix/linux/HOWTO/mini/Alsa.html</A>.
<P>Se effettuate una traduzione di questo documento fatemelo
sapere e includer&ograve; qui un riferimento alla traduzione.
<H2>1.4 Commenti e critiche</H2>

<P>Mi affido a te, lettore, per rendere utile questo HOWTO. Se avete suggerimenti,
correzioni o commenti inviatemeli (
<A HREF="mailto:alsa-howto@alsa-project.org">alsa-howto@alsa-project.org</A>),
e cercher&ograve; di inglobarli nella prossima revisione. 
<P>Nota bene: non ricevo molte mail riguardo i driver ALSA e quindi ogni cosa &egrave;
benvenuta. anche un ``grazie per'' sar&agrave; apprezzato - magari non vi sar&agrave; di
troppa fatica aggiungere una sezione ``mi &egrave; piaciuto di pi&ugrave;'' o ``questo o 
quello non erano molto chiari''.
<P>Se pubblicate questo documento su un CDROM o su altro supporto, una copia di
cortesia sarebbe apprezzata. Scrivetemi per l'indirizzo postale. Considerate
anche l'opportunit&agrave; di effettuare una donazione per il Linux Documentation
Project per aiutare la documentazione libera per Linux. Contattare il
coordinatore dei Linux HOWTO, Tim Bynum 
<A HREF="mailto:linux-howto@metalab.unc.edu">linux-howto@metalab.unc.edu</A>,
per maggiori informazioni. 
<P>
<H2>1.5 Regole di distribuzione</H2>

<P>Copyright 1998/1999 Valentijn Sessink
<P>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.
<P>This document is distributed in the hope that it will be useful, but
<B>without
any warranty</B>; without even the implied warranty of
<B>merchantability</B>
or <B>fitness for a particular purpose</B>. See the GNU General Public
License for more details.
<P>You can obtain a copy of the GNU General Public License by writing to
the 
<A HREF="http://www.fsf.org">Free Software Foundation</A>, Inc., 675
Mass Ave, Cambridge, MA 02139, USA.
<P>
<H2><A NAME="s2">2. NOWTO - guida all'installazione rapida</A></H2>

<P>Se volete l'audio e lo volete ADESSO! e non dopo aver letto questo HOWTO,
questa piccola panoramica dei driver ALSA potrebbe esservi di aiuto.
<H2>2.1 Installazione</H2>

<P>Le versioni 0.3.0, 0.3.1 e 0.3.2 dei driver ALSA hanno diversi problemi dovuti
alla ristrutturazione dell'interfaccia mixer. Utilizzatene una versione
differente (leggete la nota sulle versioni). Probabilmente vorrete utilizzare
la versione 0.3.0-pre4.
<P>&Egrave; la solita roba ``./configure - make - make install''. Ripeterla per 
<B>driver, librerie e programmi di utilit&agrave;</B>. Avrete bisogno di tutte e
tre le cose, poich&eacute; le utilit&agrave; vi aiuteranno a togliere il muting alla vostra
scheda audio. I kernel 2.2.x <B>devono avere</B> compilato il supporto
generico per il suono (senza specificare per quale scheda audio), mentre i
kernel 2.0.x devono avere il <B>supporto per il suono disabilitato</B>.
<P>I driver ALSA utilizzano i loro dispositivi, potete crearli con lo script
<B>./snddevices</B>. 
<P>Dovrete caricare il modulo per la vostra scheda audio (o utilizzare kmod) e se
volete che il supporto per l'audio sia compatibile con i driver audio del
kernel di Linux (s&igrave; che lo volete) avrete bisogno di un altro modulo che si
chiama <B>snd-pcm1-oss</B>. Si veda la sezione 
<A HREF="#which-modul">Quale modulo per quale scheda</A> per sapere quale modulo caricare. Dopo
il caricamento potete dare un'occhiata in /proc/asound per avere diverse
informazioni sui driver ALSA.
<P>
<H2>2.2 Riprodurre e registrare audio</H2>

<P>Qualche nota: ALSA utilizza i suoi dispositivi in /dev/snd, per esempio
/dev/snd/pcmC0D1 &egrave; la scheda 0, dispositivo 1. Potrete usare i vecchi
dispositivi /dev/pcmXY solo se avete caricato il modulo di compatibilit&agrave;
snd-pcm1-oss. Prima di poter riprodurre qualsiasi suono dovrete togliere il
"mute" alla scheda con "amixer". Digitate "amixer", quindi provate qualcosa
tipo:
<P><CODE>amixer pcm 100 unmute</CODE>
<P>Generalmente potete utilizzare le opzioni ``mute'' o ``unmute'',
``rec'' o ``norec'', valori numerici o left:right.
<P>Ecco fatto! Adesso, se funziona, bene. Altrimenti avrete veramente bisogno di
leggere questo HOWTO...
<P>
<H2><A NAME="s3">3. Prima di cominciare</A></H2>

<P>
<P>
<H2>3.1 Introduzione</H2>

<P>
<P>Lo scopo di questo documento &egrave; quello di rendere pi&ugrave; semplice l'installazione
dei driver audio ALSA nel vostro sistema Linux. Il sistema di riferimento &egrave;
quello formato dalla distribuzione Slackware 4.0 di Linux su un computer
AMD/K6 (compatibile x86), ma dovrebbe funzionare con qualsiasi altra
distribuzione di Linux. Non so se i driver ALSA funzionano anche su altre
piattaforme ma, come dice la documentazione, sono stati testati con successo
su Alpha. Io qui dispongo solo di PC x86, quindi ogni altra informazione
aggiuntiva &egrave; bene accetta.
<P>Potrebbe tornare utile la lettura del Linux Sound HOWTO (si veda la sezione
Altri HOWTO), sebbene questo HOWTO si&agrave; focalizzato sui driver sonori
distribuiti assieme al kernel.
<P>
<H2>3.2 Informazioni generali sui driver ALSA.</H2>

<P>
<P>Il driver audio ALSA &egrave; stato originariamente scritto come sostituzione del
driver audio del kernel per le schede audio Gravis Ultrasound (GUS). Visto
che questo driver di sostituzione per la GUS si &egrave; rivelato un successo,
l'autore ha cominciato il progetto ALSA per un driver generico per diversi
chip audio, con impostazione completamente modulare.
<P>&Egrave; compatibile con i driver audio OSS/Free e OSS/Linux (i driver del
kernel), ma ha la sua propria interfaccia che &egrave; anche migliore di quella
dei driver OSS. Un elenco delle funzioni presenti &egrave; disponibile su
<A HREF="http://www.alsa-project.org/intro.html">http://www.alsa-project.org/intro.html</A><P>Si noti che i driver ALSA sono ancora in fase di sviluppo. Le cose potrebbero
cambiare nel tempo i programmi che si affidano ai driver ALSA funzionano solo
con specifiche versioni dei driver. Al di l&agrave; di questo, io credo che siano
grandi! Li sto utilizzando da circa 10 mesi e non torner&ograve; all'oscurantismo dei
driver audio "closed source" (suggerimento) ;)
<P>La pagina principale del progetto ALSA &egrave; 
<A HREF="http://www.alsa-project.org/">http://www.alsa-project.org/</A> 
<P>
<H2>3.3 Hardware supportato</H2>

<P>I driver ALSA supportano solo un sottoinsieme delle schede audio esistenti.
Al momento in cui scrivo le schede audio seguenti sono supportate:
(si noti che qualcuna fra queste pu&ograve; non essere disponibile nella versione
0.3.0-pre4, in questo caso dovrete usarel a 0.3.2 o successive).
<UL>
<LI>Schede con chipset Trident 4D Wave DX/NX chipset, 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 chipset
4D Wave PCI audio.  Si veda
http://www.tridentmicro.com/HTML/products%20folder/audio.htm 
per maggiori informazioni. I driver sono adesso nel cvs, e saranno inclusi
nella versione ALSA 0.3.0-pre5.
</LI>
<LI> Gravis Ultrasound (GUS):
"PnP",&nbsp; Extreme, Classic/ACE, MAX</LI>
<LI>Schede con un chipset GUS: Dynasonic 3-D, STB Sound Rage 32, UltraSound
32-Pro (STB), ExpertColor MED3201 e le altre basate sul chip AMD
InterWave&trade;</LI>
<LI>Soundblaster: 1.0, 2.0, Pro, 16, AWE32/64, PCI64</LI>
<LI>ESS AudioDrive ESx688</LI>
<LI>ESS ES18xx (chipset). Si noti che ho avuto molti problemi con il ESS1888.
Lo sviluppatore del driver di questa scheda audio ha fatto il suo meglio,
ma non &egrave; bastato.
</LI>
<LI>ESS Solo-1 ES1938. Uno solo dei canali &egrave; funzionante. Questo significa che la
registrazione non &egrave; possibile. L'autore del codice per la ES1938 &egrave; "al
corrente del problema e lo sta analizzando".</LI>
<LI>Yamaha: OPL3-SA2, OPL3-SA3 (chipsets)</LI>
<LI>OAK Mozart</LI>
<LI>Schubert 32 PCI (PINE, S3 SonicVibes PCI chipset)</LI>
<LI>Schede audio Ensoniq AudioPCI ES1370/1371 PCI (Soundblaster PCI64)</LI>
<LI>Schede audio SonicVibes PCI (PINE Schubert 32 PCI)</LI>
</UL>

Sono supportate un gran numero di schede audio basate su Crystal
Semiconductors. Questo chip lo si pu&ograve; trovare su diverso hardware, su
schede (qualche scheda serie PCA Philips) e sulle schede madri (ad
es. IBM Aptiva, Dell computers). Sono supportate le schede basate sui
seguenti chipset: 
<UL>
<LI>4231</LI>
<LI>4232</LI>
<LI>4232A</LI>
<LI>4235</LI>
<LI>4236B</LI>
<LI>4237B</LI>
<LI>4238B</LI>
<LI>4239</LI>
<LI>4610 (nella 0.3.2)</LI>
<LI>4612 (nella 0.3.2)</LI>
<LI>4615 (nella 0.3.2)</LI>
<LI>4680 (nella 0.3.2)</LI>
</UL>

Una lista pi&ugrave; aggiornata pu&ograve; essere consultata nel pacchetto dello stesso
driver, in doc/SOUNDCARDS
<H2>3.4 Altri HOWTO</H2>

<P>Questo ALSA-sound-mini-HOWTO &egrave; solo un mini. Vi sono altri HOWTO che possono
aiutarvi nel caso che questo sia troppo blando. Vi sono diversi aspetti
che potreste incontrare durante l'installazione dei driver ALSA. Gli HOWTO
possono generalmente essere trovati sui mirror di Metalab (il vecchio
Sunsite). Date un'occhiata su 
<A HREF="http://metalab.unc.edu/LDP/mirrors.html">http://metalab.unc.edu/LDP/mirrors.html</A> e cercate il sito mirror a voi
pi&ugrave; vicino. Potrete trovare gli HOWTO nella directory LDP/HOWTO/.
Nota bene: i collegamenti in questo documento saranno tutti relativi a
/LDP/HOWTO/mini. Se avete trovato questo documento in un discreto sito mirror
vi troverete anche gli HOWTO. 
<P>Adesso una nota per i kernel della serie 2.2.x. Per i kernel 2.2.x il supporto
dell'audio &egrave; uguale ad ogni altro tipo di supporto: funziona, ma &egrave; differente
da ci&ograve; che eravate abituati a fare. Questo HOWTO (come ogni altro HOWTO) si
concentrer&agrave; sui kernel della serie 2.0, anche se cercher&ograve; di rimarcare le
differenze. Sar&ograve; felice di aggiungere qualsiasi cosa posso aiutare questo
HOWTO ad essere aggiornato con i kernel della serie 2.2.
<P>
<H3>Schede audio</H3>

<P>Forse avete gi&agrave; comprato una scheda audio o forse &egrave; da tempo installata nel
vostro computer. E adesso state per utilizzarla! Date un'occhiata al 
<A HREF="../Sound-HOWTO.html">Sound-HOWTO</A> per vedere se avrete dei
problemi (potreste prima volere comprare la nuova Mega-Rumble-Blaster,
poi provare i driver ALSA).
<P>
<H3>Schede Plug and Play </H3>

<P>Molte moderne schede audio per la piattaforma Intel sono schede ISA PnP, che
&egrave; l'abbreviazione di ''Plug and Play''. Questo significa che la scheda deve
essere configurata dal sistema operativo. Ci&ograve; deve essere fatto attraverso
una routine di inizializzazione al boot. Probabilmente avrete bisogno di
configurare le vostre schede con il pacchetto PnP-utils. Ogni distribuzione
di Linux recente include questi tool. Per l'utilizzo date un'occhiata al
<A HREF="../Plug-and-Play-HOWTO.html">Plug-and-Play-HOWTO</A><P>Sembra che i driver ALSA abbiano un loro supporto interno per diverse schede
ISA-PnP. Sfortunatamente non avendo trovato documentazione su questo aspetto,
non posso dirvi come funziona. Se qualcuno vuole provare ad usare ALSA senza
il tool ISA-PnP me lo faccia sapere.
<P>
<H3>Moduli caricabili</H3>

<P>I driver ALSA sono compilati come moduli. Qui potrete trovare maggiori
informazioni sui moduli: 
<A HREF="../Kernel-HOWTO.html">Kernel-HOWTO</A>.
Vi &egrave; anche un Module-HOWTO ma al momento &egrave; senza un curatore; date un'occhiata
alla sezione 'unmaintained' del Howto-HOWTO. Vi &egrave; un 
<A HREF="Modules.html">Modules-mini-HOWTO</A> che comunque potrebbe essere utile.
<P>
<H3>Kerneld</H3>

<P>Un altro HOWTO che potrebbe essere utile a qualcuno &egrave; il 
<A HREF="Kerneld.html">Kerneld-mini-HOWTO</A>. Kerneld &egrave; un demone che
installa e rimuove i moduli del kernel a seconda delle necessit&agrave;. (Ho zero
esperienza con questa cosa quindi ogni informazione aggiuntiva al riguardo
&egrave; la benvenuta. La documentazione del driver ALSA contiene qualche
informazione sulla configurazione di kerneld, queste sono state incluse nel
presente mini-HOWTO.)
<P>
<H2><A NAME="s4">4. Come installare i driver audio ALSA</A></H2>

<P>
<P>
<H2>4.1 Cosa vi serve</H2>

<P>
<P>
<UL>
<LI>un sistema Linux funzionante (ad es. la distribuzione Slackware), con i
pacchetti "Development" ("di sviluppo", ndt) installati (ad es. gcc, make ecc.)</LI>
<LI>una scheda audio supportata</LI>
<LI>una qualche conoscenza di Linux (che significa saper usare "ls", "cd", "tar"
ecc.)</LI>
<LI>un account come utente root</LI>
</UL>
<P>Se avete una scheda PnP, avrete anche bisogno di:
<UL>
<LI>pacchetto software isapnptools.</LI>
</UL>

Il file INSTALL nella directory dei driver suggerisce che, per alcune schede,
il supporto PnP &egrave; implementato in maniera nativa. Anche Jaroslav mi ha detto
la stessa cosa. Quando avr&ograve; maggiori informazioni su questa faccenda le
aggiunger&ograve; a questo mini-HOWTO.
<P>Si noti che non devono esserci driver audio attivi se volete usare i driver
ALSA. Se avete un kernel che ha i driver audio compilati monoliticamente,
dovrete ricompilarlo. Se avete il vecchio modulo "sound.o" attivo, dovrete
disattivarlo. Se utilizzate kerneld, questo significa cancellare sound.o dalla
directory /lib/modules/&lt;kernel_version&gt;/misc. I nuovi sistemi RedHat 
hanno un approccio al suono differente, che comporta l'attivit&agrave;
contemporanea di diversi moduli audio. Dovrete disattivarli tutti.
<P>I kernel della serie 2.2 hanno un nuovo approccio all'audio. Dovrete
compilarli includendo il supporto sonoro! S&igrave;, &egrave; cos&igrave;: aggiungete il supporto
per l'audio al kernel ma non aggiungete supporto per alcuna scheda audio.
Quindi compilate ed installate il kernel e, fatto questo, compilate i driver
ALSA.
<P>
<H2>4.2 Come ottenere i driver</H2>

<P>I driver ALSA sono disponibili su  
<A HREF="ftp://ftp.alsa-project.org/pub/">ftp://ftp.alsa-project.org/pub/</A> 
e sul sito mirror 
<A HREF="ftp://linux.a2000.nl/alsa">ftp://linux.a2000.nl/alsa</A>. Per una installazione di ALSA
completa avrete bisogno del driver, delle librerie e dei
programmi di utilit&agrave;; ad es. se scegliete il sito mirror dovrete prendere
<A HREF="ftp://linux.a2000.nl/alsa/driver/">ftp://linux.a2000.nl/alsa/driver/</A>alsa-driver-0.3.0-pre4.tar.gz,
<A HREF="ftp://linux.a2000.nl/alsa/lib/">ftp://linux.a2000.nl/alsa/lib/</A>alsa-lib-0.3.0pre4.tar.gz e 
<A HREF="ftp://linux.a2000.nl/alsa/utils/">ftp://linux.a2000.nl/alsa/utils/</A>alsa-utils-0.3.0-pre4.tar.gz (NO,
questi collegamenti non sono assoluti, meglio che diate un'occhiata sul sito
principale per sapere quali versioni sono disponibili. Leggete la prossima
sezione).
<P>
<H2>4.3 Versioni di ALSA</H2>

<P>I driver ALSA hanno percorso un lungo cammino. Lo sviluppo &egrave; cominciato
durante la versione 2.0 del kernel, poi sono arrivati i kernel 2.2 (con il
loro kernel audio).
<P>La versione attuale di ALSA sta subendo una ampia riscrittura dell'interfaccia
mixer. Il vecchio mixer era la solita roba volume-in, bass/treble, volume-out
mentre la nuova interfaccia consente di controllare l'entrata e l'uscita di
ogni singolo elemento. In altre parole un programma dispone di un metodo per
sapere se "l'uscita del CD &egrave; collegata all'entrata di registrazione". Il mixer
&egrave; pronto, ma i vari programmi che lo supportano sono ancora in fase di
costruzione.
<P>Se volete utilizzare subito ALSA probabilmente vi conviene scegliere alsa-driver-0.3.0-pre4, alsa-lib-0.3.0-pre4
ed alsa-utils-0.3.0-pre3.
<P>Le vecchie versioni, 0.2.0-pre10p3 e precedenti funzionano sotto 2.0.x, ma non
sono riuscito a farle funzionare sotto 2.2.x (probabilmente a causa della
mancanza di interfacciamento con il modulo soundcore del kernel).
<P>La nuova versione (3.2.0) funziona e si compila sotto 2.0.x e 2.2.x. Si noti
che questa sar&agrave; l'ultima versione che includer&agrave; il supporto per la serie 2.0
del kernel, quindi se vorrete usare una prossima versione dovrete fare il
salto verso il 2.2.
<P>Potete utilizzare la 0.3.2 se volete l'ultima e la pi&ugrave; aggiornata ma potrebbe
non essere la scelta migliore a causa della riscrittura dell'interfaccia
mixer. Ho ravvisato dei problemi con il mixer OSS ed amixer ha una interfaccia
completamente nuova che lo rende difficile da utilizzare.
<P>
<H2>4.4 Decompattazione </H2>

<P>I driver possono essere decompattati con comandi standard, tipo il
solito tar -zxf &lt;file>. Per i novellini e per chi soffre di amnesia:
<BLOCKQUOTE><CODE>
<PRE>
cd /usr/src
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
tar -zxf ~/alsa-driver-0.3.0-pre4.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>(se questo comando ha funzionato siete collegati come utente root, che non
&egrave; cosa buona, fermatevi qui e leggete il DOS/Win95-to-Linux-HOWTO, o avrete
gi&agrave; pensato che questa &egrave; una cosa di amministrazione per la quale avrete
bisogno dei privilegi di root. Quindi: vi servono i privilegi di root,
date "su" e la password).
<BLOCKQUOTE><CODE>
<PRE>
tar -zxf ~/alsa-lib-0.3.0pre4.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
tar -zxf ~/alsa-utils-0.3.0-pre4.tar.gz
</PRE>
</CODE></BLOCKQUOTE>

Ugualmente funzionante e pi&ugrave; divertente: find ~ -name alsa* -exec tar -zxf {} \;
(bambini, non fate questo a casa, &egrave; solo un esempio). Si noti che se si sono
scaricati i driver con Netscape, avreste potuto accidentalmente avere il file
dei driver decompressi con l'estensione ".tgz". Se tar si lamenta del formato
del file, forse avrete maggior fortuna togliendo la "z" dalle opzioni di tar.
<H2>4.5 Compilazione</H2>

<P>Avrete bisogno dei driver prima di poter compilare ed utilizzare le librerie.
Avrete bisogno delle librerie prima che possiate compilare o usare i
programmi di utilit&agrave;. Quindi andiamo a cominciare:
<BLOCKQUOTE><CODE>
<PRE>
cd alsa-driver-0.3.0-pre4
</PRE>
</CODE></BLOCKQUOTE>
<P>(e per coloro senza molta esperienza: provate a premere &lt;tab> (il tasto
"tab") dopo "alsa-d". &Egrave; la cosa chiamata <I>command line
completion</I>). ("completamento della riga di comando", ndt.).
Se volete utilizzare l'interfaccia PnP interna dovrete dare il comando
<BLOCKQUOTE><CODE>
<PRE>
./configure --with-isapnp=yes
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
./configure
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
make
</PRE>
</CODE></BLOCKQUOTE>

Adesso dovete essere 'root' per installare il tutto (probabilmente siete
gi&agrave; "root")
<BLOCKQUOTE><CODE>
<PRE>
make install
</PRE>
</CODE></BLOCKQUOTE>

Se questo comando vi dice qualcosa del tipo ``version.h'' cannot be found,
probabilmente i sorgenti del vostro kernel non sono del tutto a posto.
Avrete bisogno di diversi file sorgenti del kernel per compilare i driver
ALSA. Decompattate il vostro linux-2.x.y.tar.gz preferito in /usr/src e date
il comando <CODE>make menuconfig</CODE> (in effetti potrebbe bastare
<CODE>make symlinks</CODE>). Adesso compilate le librerie:
<BLOCKQUOTE><CODE>
<PRE>
cd ../alsa-lib-0.3.0-pre4
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
./configure
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
make
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
make install
</PRE>
</CODE></BLOCKQUOTE>

OK, adesso passiamo ai programmi di utilit&agrave;:
<BLOCKQUOTE><CODE>
<PRE>
cd ../alsa-utils-0.3.0-pre4
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
./configure
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
make
</PRE>
</CODE></BLOCKQUOTE>
<P>
<BLOCKQUOTE><CODE>
<PRE>
make install
</PRE>
</CODE></BLOCKQUOTE>

Nota: potete anche non dare "make install" per i programmi di
utilit&agrave; dapprima. Potreste anche tralasciare l'intero processo di
compilazione per le librerie e per i programmi di utilit&agrave; per
controllare se i driver funzionano.
<H2>4.6 Preparazione dei dispositivi</H2>

<P>Vi &egrave; uno script nella directory dei driver che installer&agrave; i dispositivi
sonori ALSA nella vostra directory /dev. Si dia il comando
<BLOCKQUOTE><CODE>
<PRE>
./snddevices
</PRE>
</CODE></BLOCKQUOTE>

nella directory dei driver. Vi dovrebbe essere una sottodirectory /dev/snd
adesso (si controlli se esiste. Se non avete familiarit&agrave; nemmeno con il
comando "ls", prima prendete in considerazione la lettura degli altri
HOWTO. Dovreste avere una qualche conoscenza di Linux per installare questi
driver).
<P>Adesso siete pronti a caricare il driver, quindi passate pure al
prossimo paragrafo.
<H2><A NAME="s5">5. Caricamento del driver</A></H2>

<P>Vi sono due metodi per utilizzare i moduli sonori ALSA. Io
personalmente preferisco adottare la soluzione manuale, nel senso che
carico i moduli all'avvio. I driver ALSA sono stati progettati come
moduli caricabili/scaricabili - non effettuano un reset del mixer dopo
essere stati caricati - quindi si pu&ograve; facilmente utilizzare un
approccio basato su kerneld.
<P>Si legga la sezione 
<A HREF="#backw-compat">Compatibilit&agrave; all'indietro</A>. Ne avrete bisogno per avere il supporto sonoro ``alla
vecchia maniera''.
<P>
<H2>5.1 Caricamento con modprobe</H2>

<P>Nota: se avete una scheda audio PnP, dovrete prima impostarla sui giusti
(o almeno conosciuti) IO/IRQ/DMA. Si consulti il Plug-and-Play-HOWTO. Avete
configurato la vostra scheda audio Plug-and-Play ? Ok, allora continuate a
leggere. La cosa principale &egrave; dare il comando "modprobe snd-&lt;soundcard>".
Questo dovrebbe mettere le cose a posto. Si noti che non tutte le distribuzioni
includono /sbin nel vostro path. Se il comando restituisce "bash: modprobe:
command not found", questo molto probabilmente significa che modprobe non &egrave;
nel vostro path. Provate "/sbin/modprobe snd-sb16", o provate a cercare
modprobe da qualche altra parte.
<P>Le maggiori difficolt&agrave; risiedono nella configurazione dei chipset Crystal, per
i quali i driver ALSA non prevedono l'impostazione automatica. Informazioni
pi&ugrave; attuali possono essere trovate nel file INSTALL nella directory dei
driver. Due esempi ed una lista: 
Gravis UltraSound (GUS) e compatibili:
<BLOCKQUOTE><CODE>
<PRE>
/sbin/modprobe snd-gusclassic
</PRE>
</CODE></BLOCKQUOTE>

Per tutte le schede audio SoundBlaster a 16 bit (SoundBlaster 16 (PnP), SoundBlaster
AWE 32 (PnP), SoundBlaster AWE 64 (PnP):
<BLOCKQUOTE><CODE>
<PRE>
/sbin/modprobe snd-sb16
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="which-modul"></A> 5.2 Quale modulo per quale scheda?</H2>

<P>
<H3>Gravis UltraSound Extreme</H3>

<P>
<P><CODE>modprobe snd-gusextreme</CODE>
<H3>Gravis UltraSound MAX</H3>

<P>
<P><CODE>modprobe snd-gusmax</CODE>
<P>
<H3>ESS AudioDrive</H3>

<P>Schede audio ESS AudioDrive ES-1688 e ES-688
<P><CODE>modprobe snd-audiodrive1688</CODE>
<P>
<H3>ESS AudioDrive 18xx</H3>

<P>ESS AudioDrive ES-18xx 
<P><CODE>modprobe snd-audiodrive18xx</CODE>
<P>
<H3>Gravis UltraSound PnP</H3>

<P>Gravis UltraSound PnP, Dynasonic 3-D/Pro, STB Sound Rage 32,  ExpertColor MED3201 altre
schede audio basate sul chip AMD InterWave (R)
<P><CODE>modprobe snd-interwave</CODE>
<H3>UltraSound 32-Pro</H3>

<P>UltraSound 32-Pro (scheda audio della  STB usata da Compaq) ed altre schede
basate sul chip AMD InterWave (tm) con il circuito TEA6330T per il controllo
dei bassi, alti e del volume.
<P><CODE>modprobe snd-interwave-stb</CODE>
<H3>Soundblaster</H3>

<P>Schede Soundblaster a 8 bit (SoundBlaster 1.0, SoundBlaster 2.0,
SoundBlaster Pro)
<P><CODE>modprobe snd-sb8</CODE>
<H3>Soundblaster 16</H3>

<P>Schede SoundBlaster a 16 bit (SoundBlaster 16 (PnP), SoundBlaster AWE
32 (PnP), SoundBlaster AWE 64 (PnP). Nota bene: questo modulo non supporta la
scheda audio SoundBlaster VibraX16.
<P><CODE>modprobe snd-sb16</CODE>
<H3>OAK Mozart</H3>

<P>
<P><CODE>modprobe snd-mozart</CODE>
<H3>OPTi 82C9xx</H3>

<P>Diverse schede che utilizzano il chipset OPTi 82C9xx.
<P><CODE>modprobe snd-opti9xx</CODE>
<H3>AD1847/48 e CS4248</H3>

<P>
<P><CODE>modprobe snd-card-ad1848</CODE>
<H3>Schede audio Yamaha OPL3-SA2/SA3</H3>

<P>Il solo "modprobe snd-opl3sa" non funzioner&agrave;, questo driver non effettua
impostazioni automatiche. Si guardi pi&ugrave; avanti.
<H3>S3 SonicVibes</H3>

<P>Schede audio PCI S3 SonicVibes. (PINE Schubert 32 PCI)
<P><CODE>modprobe snd-sonicvibes</CODE>
<P>
<H3>Ensoniq/Soundblaster PCI64</H3>

<P>Schede audio PCI Ensoniq AudioPCI ES1370/1371. (SoundBlaster PCI 64)
<P><CODE>modprobe snd-audiopci</CODE>
<H3>CS4231</H3>

<P>Il solo ``modprobe snd-card-cs4231'' non funzioner&agrave;, questo driver non effettua
impostazioni automatiche. Si guardi pi&ugrave; avanti.
<P>
<H3>CS4232/4232A</H3>

<P>Tutte le schede audio basate sui chip CS4232/CS4232A.
Il solo "modprobe snd-card-cs4232" non funzioner&agrave;, a causa della mancanza
dell'impostazione automatica. Si guardi pi&ugrave; avanti.
<P>
<H3>4235 e successive</H3>

<P>Tutte le schede audio basate sui chip
CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239. Il solo "modprobe
snd-card-cs4236" non funzioner&agrave;, a causa della mancanza
dell'impostazione automatica. Si guardi pi&ugrave; avanti.  
<P>
<H3>4610/4612/4615 e 4680</H3>

<P>
<P><CODE>modprobe snd-card-cs461x</CODE>
<H3>ESS Solo 1</H3>

<P>Scheda ESS Solo-1, 128iPCI  (es1938, ESS-SOLO-1). Questa non &egrave; nel file
INSTALL presente nella directory dei driver. Jonas Lofwander mi ha inviato la
locazione di un documento che vi aiuter&agrave; ad installare questa scheda che &egrave;,
alla fine, nulla pi&ugrave; di una <CODE>modprobe snd-esssolo1</CODE>... ma 
<A HREF="http://195.163.39.4/~dice/alsa-solo1.txt">http://195.163.39.4/~dice/alsa-solo1.txt</A> potr&agrave; essere di aiuto
nell'utilizzo della versione 0.3.2 di amixer. Se avete un Thinkpad della IBM
potete anche consultare 
<A HREF="http://www.geocities.com/SiliconValley/Peaks/3649/1412.html">http://www.geocities.com/SiliconValley/Peaks/3649/1412.html</A>, grazie a
Kumar Sankaran. 
<H3>Trident 4DWave DX/NX</H3>

<P> 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. Questa scheda &egrave; supportata nella versione 0.3.2.
<P><CODE>modprobe snd-trid4dwave</CODE>
<H3>ForteMedia FM801</H3>

<P>Queste sono le scheda audio basate sul chip FM801.
<P><CODE>modprobe snd-card-fm801</CODE>
<H2>5.3 modprobe e driver senza impostazione automatica</H2>

<P>Se utilizzate un driver senza impostazione automatica, dovrete fornire delle
indicazioni aggiuntive al lancio del driver per permettergli di funzionare.
Altre informazioni possono essere trovate nel file INSTALL presente nella
directory dei driver.
<P>
<H3>OPL3-SA2 e OPL3-SA3</H3>

<P>Come dice il file INSTALL dovrete fornire tutte le indicazioni per permettere
a questo driver di funzionare. Se la scheda &egrave; stata inizializzata con i tool
isapnp, probabilmente potrete ottenere dal file /etc/isanp.conf maggiori
informazioni sui seguenti valori:
<BLOCKQUOTE><CODE>
<PRE>
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 del chip OPL3-SA (0x388),-1 = disabilitata
snd_irq - IRQ del chip OPL3-SA (5,7,9,10) 
snd_dma1 - primo DMA del chip Yamaha OPL3-SA (0,1,3)
snd_dma1_size - dimensione max primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA del chip Yamaha OPL3-SA (0,1,3), -1
=disabilitato snd_dma2_size - dimensione max secondo DMA in
kB(4-64kB) 
</PRE>
</CODE></BLOCKQUOTE>
 Potreste dare il comando "modprobe snd-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 vi serva solo quando avete dei sintetizzatori e altra roba e li
volete collegare al vostro sistema Linux. Non mi &egrave; mai servito il supporto per
il midi neanche quando riproduco dei file midi).
<P>Si noti che il valore "NN" deve essere fornito, solo che non so quale potrebbe
essere un valore ragionevole. Non so se il valore della dimensione del DMA sia
assolutamente richiesto.
<P>Se possedete un Thinkpad della IBM con questo chipset allora
<A HREF="http://www.cirs.org/patrick/index.html">http://www.cirs.org/patrick/index.html</A> potrebbe esservi di aiuto.
<P>
<P>
<H3>Chip CS4231</H3>

<P>In accordo con il file INSTALL avrete bisogno di inserire la porta principale
per questa scheda. Si noti che con il driver per le schede 3235/6/7/8/9,
quello descritto qui sotto, ho finito con il fornire tutte le informazioni
(tranne la dimensione del DMA), altrimenti il driver non avrebbe funzionato.
Quindi potreste provare ad utilizzare l'intera linea di comando per caricare
il driver. Se avete inizializzato la scheda con il tool isapnp probabilmente
potrete avere maggiori informazioni dal file /etc/isapnp.conf sui valori delle
seguenti impostazioni:
<BLOCKQUOTE><CODE>
<PRE>
snd_port - porta del chip CS4232 (PnP setup - 0x534)
snd_mpu_port - porta dell'UART MPU-401  (PnP setup - 0x300),
-1 = disable snd_irq - IRQ del chip CS4232 (5,7,9,11,12,15)
snd_mpu_irq - IRQ dell'UART MPU-401 (9,11,12,15)
snd_dma1 - primo DMA del chip CS4232 (0,1,3)
snd_dma1_size - dimensione max. primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA per chip Yamaha CS4232 (0,1,3), -1 = disabilita 
snd_dma2_size - dimensione max.  secondo DMA in kB (4-64kB)
</PRE>
</CODE></BLOCKQUOTE>
 Potete 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 configurazione
standard. (Senza supporto per il MIDI, si veda la nota al chip Yamaha OPL-3).
Se avete utilizzato valori differenti in /etc/isapnp.conf dovrete usarli anche
qui) Nota: &egrave; saggio comunque usare il proprio cervello ;)
<P>Si noti che il valore NN deve essere impostato, solamente che non so quali
possano essere dei valori ragionevoli. Non so se serve specificare la
dimensione del dma.
<P>
<H3>Chip CS4232/CS4232A</H3>

<P>Secondo quello che dice il file INSTALL dovrete indicare la porta principale
usata da questa scheda per farla funzionare. Si noti che con il driver per le
schede 3235/6/7/8/9, quello sotto, ho finito con il fornire tutte le
impostazioni (tranne il DMA-size), altrimenti il driver non ne voleva
sapere di funzionare. Perci&ograve; si pu&ograve; usare l'intera linea di comando per
caricare il driver. Se la scheda &egrave; stata inizializzata con il tool isapnp,
potrete probabilmente ottenere maggiori informazioni dal file /etc/isapnp.conf
sui seguenti valori:
<BLOCKQUOTE><CODE>
<PRE>
snd_port - porta del chip CS4232  (PnP setup - 0x534)
snd_cport - porta di controllo del chip CS4232 (PnP setup - 0x120)
snd_mpu_port - porta UART MPU-401 (PnP setup - 0x300),-1 =
disabilitata
snd_fm_port - porta FM del chip CS4232 (PnP setup - 0x388), -1
= disabilitata
snd_jport - porta joystick del chip CS4232 (PnP setup - 0x200), -1 =
disabilitata
snd_irq - IRQ chip CS4232 (5,7,9,11,12,15)
snd_mpu_irq - IRQ MPU-401 UART (9,11,12,15)
snd_dma1 - primo DMA chip CS4232 (0,1,3)
snd_dma1_size - dim. max primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA chip Yamaha CS4232  (0,1,3), -1 =
disable snd_dma2_size - dim. max secondo DMA in kB(4-64kB)
</PRE>
</CODE></BLOCKQUOTE>
 Potreste 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 per una
scheda audio in "configurazione standard" (senza supporto per il MIDI,
si veda la nota al driver Yamaha OPL-3 e senza supporto per il joystick).
Se avete utilizzato valori differenti nel file /etc/isapnp.conf, potreste
anche utilizzare queste impostazioni (nota: la cosa pi&ugrave; saggia da fare &egrave;
utilizzare il cervello ;).
<P>Si noti che il valore "NN" deve essere specificato, solo che non so quali
valori possono essere ragionevoli. Non so se &egrave; obbligatorio specificare la
dimensione del dma.
<H3>Chip CS4235/CS4236/CS4236B/CS4237B/CS4238B/CS4239</H3>

<P>In accordo con quanto asserisce il file INSTALL dovrete impostare il valore
della porta principale e di quella di controllo di questa scheda. Si noti che
con una scheda CS4237B ho finito con il fornire tutte le impostazioni
necessarie (tranne la dimensione del DMA), altrimenti il driver si rifiutava
di funzionare. Perci&ograve; dovreste utilizzare l'intera linea di comando per
caricare il driver, e non specificare solamente la porta principale e quella
di controllo. Se la scheda &egrave; stata inizializzata con i tool isapnp
probabilmente si possono ottenere maggiori informazioni dal file
/etc/isapnp.conf riguardo le seguenti impostazioni:
<P>
<BLOCKQUOTE><CODE>
<PRE>
snd_port - porta del chip CS4232 (PnP setup - 0x534)
snd_cport - porta di controllo del chip CS4232 (PnP setup - 0x120)
snd_mpu_port - porta; della UART MPU-401 (PnP setup - 0x300),
-1 = disabilitata 
snd_fm_port - porta FM del chip CS4232 (PnP setup - 0x388),
-1 = disabilitata 
snd_jport - porta joystick del chip CS4232 (PnP setup - 0x200),
-1 = disabilitata 
snd_irq - IRQ chip CS4232 (5,7,9,11,12,15)
snd_mpu_irq - IRQ della UART MPU-401 (9,11,12,15)
snd_dma1 - primo DMA del chip CS4232 (0,1,3)
snd_dma1_size - dim. max primo DMA in kB (4-64kB)
snd_dma2 - secondo DMA del chip Yamaha CS4232 (0,1,3), 
-1 = disabilitato 
snd_dma2_size - dim. max secondo DMA in kB (4-64kB)
</PRE>
</CODE></BLOCKQUOTE>
 
Potreste usare 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, se vedano le note al driver per Yamaha OPL-3, e senza supporto per
il joystick). Note:
<UL>
<LI>Il valore "NN" deve essere specificato, solamente che non
so quali valori possano essere ragionevoli. </LI>
<LI>la mia CS4237B funziona bene senza specificare la dimensione del DMA</LI>
</UL>
 
<P>
<H2>5.4 Utilizzo con kerneld</H2>

<P><CODE>kerneld</CODE> &egrave; un demone (daemon) che provvede al caricamento dei moduli su
richiesta, e al loro scaricamento dalla memoria quando essi non vengono
utilizzati. Poich&eacute; non ho alcuna esperienza sull'uso di kerneld, non so
se le informazioni che riporto sono accurate. Le informazioni provengono
dal file INSTALL del pacchetto ALSA-drivers. Informazioni eccellenti sul
kerneld possono essere trovate nel kerneld-mini-HOWTO.
<P>Seguite questi passi:
<UL>
<LI>Modificate il vostro file /etc/conf.modules (si vedano pi&ugrave; avanti gli
esempi)</LI>
<LI>Si esegua 'modprobe snd-card' dove card &egrave; il nome della vostra scheda 
[Cosa che trovo abbastanza strana, non era kerneld che se ne occupava
di caricarli? VS]</LI>
</UL>
<P>Esempio di file /etc/conf.modules per una scheda audio Gravis UltraSound PnP:
<BLOCKQUOTE><CODE>
<PRE>
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
</PRE>
</CODE></BLOCKQUOTE>
<P>Esempio per l'utilizzo di pi&ugrave; schede audio nella stessa macchina (la
configurazione che segue &egrave; pensata per una Sound Blaster 16 e per una
Gravis Ultrasound Classic):
<BLOCKQUOTE><CODE>
<PRE>
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
</PRE>
</CODE></BLOCKQUOTE>

Esempio per l'utilizzo di due schede Gravis UltraSound Classic:
<BLOCKQUOTE><CODE>
<PRE>
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
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="backw-compat"></A> 5.5 Compatibilit&agrave; all'indietro</H2>

<P>Se volete assicurarvi la compatibilit&agrave; con OSS/Free e OSS/Linux dovrete
caricare un ulteriore driver: il driver snd-pcm1-oss per la compatibilit&agrave;
con OSS.
Date il comando
<BLOCKQUOTE><CODE>
<PRE>
modprobe snd-pcm1-oss
</PRE>
</CODE></BLOCKQUOTE>

Questo vi dar&agrave; /dev/audio e /dev/dsp-support, come i driver OSS/Free (kernel)
e OSS/Linux (quello da $25). Si noti che questa &egrave; solo un'emulazione.
<P>
<H2><A NAME="s6">6. Test ed utilizzo</A></H2>

<P>Adesso dovrete verificare su il driver audio &egrave; stato realmente caricato e
quindi provare ad utilizzarlo.
<H2>6.1 Il filesystem /proc </H2>

<P>Potete trovare molte informazioni utili sul vostro sistema nella
sottodirectory /proc. /proc &egrave; un filesystem "virtuale", ci&ograve; significa che
non esiste veramente, ma si riferisce solo ai vari processi e task del
vostro computer. Affinch&eacute; /proc funzioni dovrete aver compilato il supporto
per esso nel kernel. Molte distribuzioni di Linux lo fanno in maniera 
predefinita, ma se avete compilato un kernel e lasciato fuori il supporto
per /proc, ovviamente non vi sar&agrave; nulla in /proc.
<P>/proc/modules vi fornisce informazioni su moduli in memoria. Una volta che
i driver audio ALSA sono stati caricati, se date il comando cat /proc/modules
dovreste vedere qualcosa tipo questo:
<BLOCKQUOTE><CODE>
<PRE>
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-mixer snd-mpu401-uart snd-midi snd-opl3 snd-synth snd-timer]    0
</PRE>
</CODE></BLOCKQUOTE>

Se qualcosa &egrave; andata male durante l'installazione del driver, vedrete
un sacco di dispositivi "snd", ma il supporto per l'audio non sar&agrave; attivo.
<P>Per esempio (Nota: non dovrete dare questo comando cos&igrave; come viene posto
adesso, il driver cs4236 abbisogna delle opzioni):
<BLOCKQUOTE><CODE>
<PRE>
win3:~# modprobe
snd-card-cs4236 /lib/modules/2.0.35/misc/snd-card-cs4236.o:
init_module: Device or resource busy 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
</PRE>
</CODE></BLOCKQUOTE>
<P>Potrete assicurarvi dell'esistenza di una scheda audio controllando
/proc/asound/cards. Per esempio:
<BLOCKQUOTE><CODE>
<PRE>
bash$ cat /proc/asound/cards
0 [card1          : SB16 - Sound Blaster 16
                    Sound Blaster 16 at 0x220, irq 5, dma 1&amp;5
</PRE>
</CODE></BLOCKQUOTE>

Nell'esempio precedente (dove ho dimenticato le opzioni) l'output sarebbe
dovuto essere:
<BLOCKQUOTE><CODE>
<PRE>
win3:~# cat /proc/asound/cards
--- no soundcards ---
</PRE>
</CODE></BLOCKQUOTE>

Una scheda CS4236 funzionante produrrebbe
<BLOCKQUOTE><CODE>
<PRE>
0 [card1         ]: CS4236 - CS4237B
                    CS4237B at 0x534, irq 7, dma 1&amp;0
</PRE>
</CODE></BLOCKQUOTE>

Se avete controllato e ricontrollato le vostre impostazioni ed ancora non
vedete nessuna scheda, date un'occhiata alla sezione Risoluzione dei problemi.
<P>La directory virtuale <CODE>/proc/asound</CODE> fornisce molte altre informazioni
sul driver. Si noti che /proc/asound esiste solo dopo aver caricato il primo
modulo ALSA. Se non vi &egrave; una /proc/asound questo significa semplicemente che
il modulo "snd" non &egrave; stato correttamente caricato. Potrete identificare le
schede installate in /proc/asound/cards, e trovare le informazioni sulla
scheda0 in /proc/asound/0, /proc/asound/1 per la scheda1 ecc.
<P>Se <CODE>cat /proc/asound/card1/pcm0</CODE> mostra qualcosa del tipo
<BLOCKQUOTE><CODE>
<PRE>
      ES1370 DAC2/ADC
      Playback isn't active.
      Record isn't active.
</PRE>
</CODE></BLOCKQUOTE>
 questo significa che il vostro
driver &egrave; pronto a funzionare, ma in questo momento non sta facendo nulla
(quindi &egrave; andato tutto bene).
<P>Per coloro che usano un kernel 2.0 vi &egrave; un terzo metodo per raccogliere
informazioni sui dispositivi audio, pi&ugrave; precisamente se avete caricato il
driver OSS compatibile vi sar&agrave; un dispositivo /dev/sndstat. Il driver ALSA vi
chiede gentilmente di non fare affidamento su queste informazioni poich&eacute; il
dispositivo &egrave; presente solo per compatibilit&agrave; con i driver OSS e informazioni
pi&ugrave; attendibili possono essere ottenute da /proc/asound/. Nei kernel 2.2.x
ALSA utilizza il soundcore del kernel e quindi non pu&ograve; emulare il
/dev/sndstat, poich&eacute; potrebbe interferire con i driver OSS.
<P>
<H2>6.2 Il mixer</H2>

<P>Una volta che i driver per la vostra scheda audio sono stati installati e il
vostro filesystem /proc vi assicura che tutto &egrave; andato a buon fine, potete
provare a produrre qualche suono. Prima di tutto si installi il pacchetto
dei programmi di utilit&agrave;, o almeno si metta il comando "amixer" in qualche
posto accettabile (tipo /usr/local/bin). Si dia un'occhiata alle impostazioni
del mixer digitando "amixer". Questo comando mostra le impostazioni del mixer
o, come vengono normalmente chiamate, i livelli di volume delle diverse parti
della scheda audio.
Per la mia Soundblaster 16 dice:
<BLOCKQUOTE><CODE>
<PRE>
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)
</PRE>
</CODE></BLOCKQUOTE>

La mia scheda basata sul Crystal 4237B ha molte altre opzioni: 
<BLOCKQUOTE><CODE>
<PRE>
Master D       0  % (-22.00dB) : 0  %
(-22.00dB) Mute 3D Center      0  % (-22.50dB) : 0  % (-22.50dB)
3D Space       0  % (-22.50dB) : 0  % (-22.50dB) Mute
Synth          0  % (-94.50dB) : 0  % (-94.50dB) Mute
FM             0  % (-94.50dB) : 0  % (-94.50dB) Mute
DSP            0  % (-94.50dB) : 0  % (-94.50dB) Mute
PCM            0  % (-94.50dB) : 0  % (-94.50dB) Mute
Line-In        0  % (-34.50dB) : 0  % (-34.50dB) Mute
MIC            0  % (-22.50dB) : 0  % (-22.50dB) Mute
CD             0  % (-34.50dB) : 0  % (-34.50dB) Mute
Record-Gain    0  % (  0.00dB) : 0  % (  0.00dB)
In-Gain        0  % (-18.00dB) : 0  % (-18.00dB)
Loopback       0  % (-94.50dB) : 0  % (-94.50dB) Mute
Mono           0  % (-45.00dB) : 0  % (-45.00dB) Mute
Aux A          0  % (-34.50dB) : 0  % (-34.50dB) Mute
</PRE>
</CODE></BLOCKQUOTE>
<P>Se tutto ci&ograve; che vedete &egrave; un messaggio del tipo ``amixer: Specify command...''
state utilizzando i nuovi programmi di utilit&agrave; di ALSA 3.2. Vi serve questa
versione per le versioni 0.3.0+ dei driver ma la loro documentazione &egrave;
incompleta e l'interfaccia del mixer &egrave; ancora pesantemente beta; il mio
suggerimento &egrave; di ritornare ad utilizzare la versione 0.3.0-pre4. Il nuovo
amixer non ha ancora una pagina di manuale da consultare, quindi dovrete
continuare da soli.
<P>
<H3>Impostazioni del mixer per la riproduzione</H3>

<P>
<P>Avrete notato la voce "Mute" su qualche dispositivo. Questa significa che quel
particolare dispositivo sar&agrave; escluso, qualunque sia il suo livello di volume.
Il CS4237B la mette anche sul canale principale. Nel caso del CS4237B dovrei digitare
<P><CODE>amixer "master d" unmute</CODE> 
<P>per riuscire anche solo ad udire qualche suono. La Soundblaster non ha il
mute sul canale di output ma 
<P><CODE>amixer master 100 unmute</CODE> 
<P>porter&agrave; al 100% il volume e toglier&agrave; il "mute" dal canale principale.
Potete utilizzare un numero o una parola come "mute" o "unmute" o tutti e due.
Digitate  
<P><CODE>amixer "master d" 100; amixer pcm 100 unmute</CODE> 
<P>per impostare il volume della scheda CS4237B  al massimo volume del canale
principale ed attivare il canale PCM e portarlo al massimo volume. Per
separare le impostazioni L/R (Left/Right, Destra/Sinistra. ndt) utilizzate i
due punti, per esempio 
<P><CODE> amixer CD 25:50</CODE> 
<P>(No, non so quale dei due numeri corrisponda a destra e quale a sinistra ma
lasciatemi dire che questo dipende pesantemente anche dalla posizione dei
vostri speaker).
<P>
<H3>Componenti del mixer</H3>

<P>
<P>I vari componenti del mixer possono confondervi se non avete grosse conoscenze
sulla produzione di audio digitale. Il Sound-HOWTO potrebbe aiutarvi e qui
troverete una introduzione veramente minima.
<P>Probabilmente avrete bisogno di pochi elementi del mixer: uno di questi &egrave;
``CD'' (regola il suono analogico proveniente dal vostro lettore di CD,
diversi lettori di CD sono connessi con un cavo rosso/bianco/nero a 3 o 4
fili).
<P>``PCM'' &egrave; utilizzato per molte applicazioni. I programmi come mpg123, xmms,
speakfreely, realplayer ed altri utilizzano il canale PCM.
<P>``MIC'' sta per microfono e ``line-in'' &egrave; un entrata (opzionale) extra della
vostra scheda audio.
<P>I vari ``gain'' ("guadagno" ndt) permettono di avere una ulteriore
amplificazione per diversi utilizzi e si capiscono facilmente. (record-gain &egrave;
una amplificazione extra del canale di registrazione, che pu&ograve; tornare utile se
si utilizza un microfono).
<P>
<H3>Impostazioni del mixer per la registrazione</H3>

<P>Potete impostare il canale CD per la registrazione digitando 
<P><CODE>amixer cd rec</CODE>
<P>e toglierli questa opzione con 
<P><CODE>amixer cd norec</CODE>.
<P>Se volete registrare qualcosa dal microfono potrete probabilmente digitare 
<P><CODE>amixer record-gain 100; amixer mic 100 rec mute</CODE>
<P>(l'utilizzo dell'input microfonico potrebbe generare del rumore ad
alta frequenze se il suono rientrasse dagli speaker). Molti microfoni
dispongono di una regolazione di ``gain'' per amplificarne il volume;
probabilmente dovrete agire su questa per riuscire ad udire i suoni
provenienti dal microfono.
<P>
<H3>Altre impostazioni del mixer</H3>

<P>Sfortunatamente non sono riuscito a modificare il volume delle impostazioni 
"3d center" e "3d space" con amixer. Se qualcuno ci riuscisse &egrave; pregato di
farmelo sapere. A questo scopo pu&ograve; essere utilizzato alsamixer.
<P>Le FAQ di ALSA dicono che &egrave; possibile ristabilire le impostazioni del mixer con
<CODE>cat &lt;file> > /proc/asound/#/mixerC0D0</CODE>, dove &lt;file> &egrave;
l'output di /proc/asound/#/mixerC0D0. Non sono riuscito a far funzionare
questo metodo perch&eacute; il mio sistema si lamenta riguardo a dei dispositivi
inesistenti.
<P>
<H2>6.3 I dispositivi /dev/snd/</H2>

<P>I driver alsa dispongono di specifici dispositivi nella directory /dev/snd. Se
disponete di una scheda potrete vedere seguenti dispositivi:
<BLOCKQUOTE><CODE>
<PRE>
/dev/snd/pcmC0D0 - il dispositivo raw audio della scheda
/dev/snd/mixerC0D0 - il mixer della scheda 0
/dev/snd/controlC0D0 - il dispositivo di controllo della scheda 0
</PRE>
</CODE></BLOCKQUOTE>

Il primo numero indica il numero della scheda audio, il secondo numero (se
c'&egrave;) &egrave; il numero del dispositivo. Una scheda audio con due dispositivi PCM
dovrebbe avere un dispositivo pcmC0D0 e pcmC0D1. Nota bene: i dispositivi ALSA
sono cambiati dalle precedenti versioni. I vecchi dispositivi ALSA
utilizzavano /dev/snd/pcm00 (il primo numero &egrave; la scheda, il secondo il
dispositivo). Se questo HOWTO usa la vecchia notazione, scrivetemi, cos&igrave; posso
correggerlo.
<P>Adesso siete pronti a mettere un file audio nel dispositivo PCM della prima
scheda. Provate quindi a fare un cat di un qualsiasi file di testo (un file
qualunque) in /dev/snd/pcmC0D0, tipo: <CODE>cat &lt;nomefile> > /dev/snd/pcmC0D0</CODE>.
&lt;nomefile> pu&ograve; essere un file qualsiasi, purch&eacute; sia abbastanza lungo. Se avete
un file audio da qualche parte potete provare con quello. Potete anche
prendere il file che trovate su 
<A HREF="http://www.ldp.org/sounds/english.au">http://www.ldp.org/sounds/english.au</A>, &egrave; Linus Torvalds che dice come
si pronuncia Linux.
<P>L'impostazione predefinita del vostro dispositivo audio &egrave; 8000 Hz, 8 bit.
Questo significa che il file "english.au" di cui sopra riprodurr&agrave; il parlato e
gli altri file di testo semplicemente del rumore. Se non riuscite a sentire
nulla controllate i vostri speaker, provate di nuovo con "amixer" o consultate
un medico (pi&ugrave; avanti potrete facilmente utilizzare la vostra scheda a 48
Khz e 16 bit con il vostro player preferito, tipo sox o mpg123).
<P>Se avete caricato il modulo "snd-pcm1-oss" potete anche usare la compatibilit&agrave;
con OSS per accedere alla vostra scheda. Sono utilizzati i seguenti mapping:
<BLOCKQUOTE><CODE>
<PRE>
/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
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>6.4 Informazioni aggiuntive</H2>

<P>Il file INSTALL nella directory del driver ALSA contiene alcuni accorgimenti
per far capire le impostazioni al driver. L'avere o meno bisogno di questi
comandi dipender&agrave; dall'applicazione che userete per riprodurre l'audio. Le
normali applicazioni di riproduzione audio, come mpg123, sox (frequentemente
associato al comando ``play''), o le applicazioni per X11 come RealPlayer
probabilmente funzioneranno correttamente comunque. In ogni caso io non li ho
mai utilizzati.
<H3>/proc/asound/#/pcm#0</H3>

<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
"Playback erase" - cancella tutte le informazioni aggiuntive
sulle applicazioni OSS
"Playback &lt;app_name> &lt;fragments> &lt;fragment_size> [&lt;options>]"
"Record erase" - cancella tutte le informazioni aggiuntive sulle applicazioni OSS
"Record &lt;app_name> &lt;fragments> &lt;fragment_size> [&lt;options>]"
</PRE>
</CODE></BLOCKQUOTE>
<P><CODE>&lt;app_name></CODE> - nome dell'applicazione con (a priorit&agrave; pi&ugrave;
alta) o senza percorso
<P><CODE>&lt;fragments></CODE> - numero dei frammenti o zero per modalit&agrave; automatica
<P><CODE>&lt;fragment_size></CODE> - dimensione dei frammenti in byte o zero
per modalit&agrave; automatica
<CODE>&lt;options></CODE> - parametri opzionali
<P><CODE>WR_ONLY</CODE> - se l'applicazione prova ad accedere al dispositivo
pcm con O_RDWR il driver lo cambia in O_WRONLY (riproduzione)
ottimo per Quake ecc.
<P>Esempi:
<BLOCKQUOTE><CODE>
<PRE>
echo "Playback x11amp 128 16384" > /proc/asound/0/pcm0o
echo "Playback squake 0 0 WR_ONLY" > /proc/asound/0/pcm0o
</PRE>
</CODE></BLOCKQUOTE>
<H3>/proc/asound/#card#/sb16</H3>

<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
"Playback 8" -> il driver utilizzer&agrave; sempre il canale DMA a 
8-bit per la riproduzione. 
"Playback 16" -> il driver utilizzer&agrave; sempre il canale DMA a 16 bit per la
riproduzione. 
"Playback auto" (predefinito) -> il driver utilizzer&agrave; l'impostazione
automatica (il primo canale aperto utilizzer&agrave; il canale DMA a 16 bit).
"Record 8" -> il driver utilizzer&agrave; sempre il canale DMA a 8 bit per la
registrazione.
"Record 16" -> il driver utilizzer&agrave; sempre il canale DMA a 16 bit per la
registrazione.
"Record auto" (predefinito) -> il driver utilizzer&agrave; l'impostazione automatica
(il primo canale aperto utilizzer&agrave; il canale DMA a 16 bit).
</PRE>
</CODE></BLOCKQUOTE>
<P>Esempio: <CODE>echo "Record 16" > /proc/asound/0/sb16</CODE>
<P>Per altre informazioni si consulti il file INSTALL.
<P>
<H2><A NAME="s7">7. Trucchi e risoluzione dei problemi</A></H2>

<P>Si dia un'occhiata al file FAQ nella directory del driver audio. Questa
sezione &egrave; ancora in lavorazione.
<H2>7.1 Compilazione del driver</H2>

<P>
<H3>Sorgenti del kernel Linux</H3>

<P>Se i vostri driver ALSA non si compilano correttamente e vi dicono delle cose
su ``version.h'' o altri file header che non riescono a trovare questo
potrebbe significare che non disponete dei file header del kernel. Date
un'occhiata al Kernel HOWTO, scompattate un kernel recente in /usr/src e date
il comando <CODE>make config</CODE>.
<P>
<H2>7.2 Caricamento del driver</H2>

<P>Si controllino le seguenti cose..
<P>
<H3>Compatibilit&agrave; della scheda audio</H3>

<P>Siete sicuri al 100% che la vostra scheda audio SIA supportata?
Controllate di nuovo. A volte una X123 non &egrave; uguale ad una X123b e voi
potreste solo perdere del tempo. D'altra parte anche una scheda supportata pu&ograve;
darvi problemi - mi sono servite due ore per immaginarmi l'installazione di
una CS4237B che, dopo tutto, si &egrave; dimostrata solo un esempio di RTFM
(Acronimo di "Read The Fine Manual" (leggi il bel manuale) ndt).
<P>
<P>
<H3>``Device busy'' o ``unresolved symbols''</H3>

<P>Potreste avere un kernel 2.0.x con supporto per l'audio compilato nel kernel,
o il driver OSS/Lite (del kernel) potrebbero essere caricati (controllate con
il comando <CODE>cat /proc/modules</CODE>). Rimuovete i driver o ricompilate il
kernel (date un'occhiata al Kernel-HOWTO).
<P>Il modulo audio nella serie 2.0 del kernel si chiama ``sound.o'' e
<B>non</B> dovrebbe essere attivo (il driver ALSA ``snd.o'' &egrave; comunque OK).
<P>Se avete un kernel della serie 2.2.x senza driver audio compilato nel kernel,
il driver ALSA comunque non funzioner&agrave;.
<P>
<H3>Kernel 2.0</H3>

<P>So che non &egrave; molto chiaro, quindi permettetemi di spiegarlo una volta ancora.
Se avete un <B>kernel della serie 2.0.x</B> (il comando ``uname -a'' vi dice
qualcosa del tipo ``Linux penguin 2.0.35 #6 Wed Sep 23 10:19:16 CEST 1998 i686
unknown'') dovete <B>lasciare fuori</B> i driver dal kernel.
<P>
<H3>Kernel 2.2</H3>

<P>Se avete un <B>kernel della serie 2.2.x</B> avrete <B>bisogno dei driver
audio</B>. Un kernel della serie 2.2 dovr&agrave; essere compilato <B>con il
supporto per il suono ma senza il driver della scheda audio</B>. Quindi
selezionate il supporto per l'audio ma assicuratevi che nessuno specifico
driver di scheda audio sar&agrave; compilato.
<P>
<P>
<H3>Riferimenti ad altri driver</H3>

<P>Un'altra ragione per la quale i driver potrebbero lamentarsi del fatto che il
dispositivo sia occupato &egrave; che il file /etc/conf.modules contenga ancora dei
riferimenti ai driver della scheda audio. Dovrete cancellarli e lasciare solo
tutto ci&ograve; che si riferisce ai driver ALSA (sarebbe bene lasciare come sono i
riferimenti a driver che non siano di dispositivi audio).
<P>
<H3>Unresolved symbols rivisitato</H3>

<P>Un'altra sorgente di messaggi ``unresolved symbols'' potrebbe essere un nuovo
kernel con i vecchi driver. Siete pregati di ricompilare i driver ALSA dopo
aver ricompilato un nuovo kernel. Questo assicurer&agrave; la compatibilit&agrave; tra i
driver ed il nuovo kernel.
<P>
<H3>Controllare le impostazioni PnP</H3>

<P>Siete sicuri che la vostra scheda audio sia attiva? Date un'ulteriore occhiata
al PnP-HOWTO e controllate di aver attivato correttamente la vostra scheda
audio.
<P>
<H3>Sono corretti i vostri parametri ?</H3>

<P>Controllate e ricontrollate i parametri della vostra scheda audio. Nota bene:
534 non &egrave; come 543 e neppure 0x534 &egrave; uguale a 534.
<P>Oltretutto qualche scheda audio potrebbe richiedere un driver diverso
da quello che vi aspettereste. Fate una pausa, prendetevi una birra o
qualchecos'altro e date 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 deve essere caricata con ``snd-audiopci'', non
con snd-es1370 (&egrave; tutto scritto nella documentazione ed anche se io ho
scritto un HOWTO, mi &egrave; successo una volta di perdere un intero
pomeriggio cercando di persuadere snd-cs4231 a produrre del suono).
<P>
<H2>7.3 Driver caricato... ma nessun suono (o quasi)</H2>

<P>
<P>
<H3>Togliere il muting</H3>

<P>I driver ALSA possono sfruttare la funzione di ``muting'' di cui molte schede
audio dispongono. Se avete caricato i driver audio e tutto &egrave; andato bene ma
non sentite altro che silenzio, probabilmente avete dimenticato di togliere il
mute alla scheda. Avrete bisogno di ``amixer'' o ``alsamixer'' per farlo,
potete trovarli tutti e due nel pacchetto ALSA-utilities.
Digitate solamente
<BLOCKQUOTE><CODE>
<PRE>
amixer -c 1 master 70:70 unmute
amixer -c 1 pcm 70:70 unmute
amixer -c 1 cd 70:70 unmute
</PRE>
</CODE></BLOCKQUOTE>

dovrebbe funzionare per la maggior parte delle applicazioni.
<P>
<H3>Guadagno</H3>

<P>Molte schede audio dispongono di un componente del mixer a parte per
l'amplificazione delle entrate/uscite aggiuntive. Questo componente &egrave; spesso
chiamato ``gain'', ``in-gain'' per le entrate ed ``out-gain'' per le uscite.
L'impostazione di questo componente ad un livello adeguato vi permetter&agrave; di
ottenere il massimo dai vostri speaker (pensate comunque ai vostri
genitori/vicini/orecchie). Quindi un comando come
<BLOCKQUOTE><CODE>
<PRE>
amixer out-gain 100 unmute
</PRE>
</CODE></BLOCKQUOTE>

probabilmente vi sar&agrave; di aiuto.
<P>
<H3>Compatibilit&agrave; con OSS/Linux</H3>

<P>Se questa &egrave; la prima volta che utilizzate i driver ALSA e prima usavate i
driver audio del kernel, probabilmente vorrete avere un driver audio che sia
compatibile con quello precedente (ad es. che utilizzi i dispositivi
/dev/pcmX). Dovrete caricare il ``driver di compatibilit&agrave; OSS'' per ottenere
questo risultato. Date il comando <CODE>modprobe snd-pcm1-oss</CODE> (date
un'occhiata alla sezione dove si parla di caricare il driver). Nota bene:
snd-pcm1-oss non &egrave; la stessa cosa di snd-pcm1, avete <B>bisogno</B> di 
snd-pcm1-oss per avere un supporto audio vecchio stile.
<P>
<H3>Cannot open mixer</H3>

<P>Se avete provato ad installare diverse versioni differenti di ALSA a volte il
mixer resta inaccessibile. Questo accade se avete provato la 0.3.2 e volete
ritornare alla 0.3.0-pre4 (IIRC). Dovrete cancellare tutti i file libasound ed
i link ad essi da /usr/lib e quindi ricompilare librerie e programmi di
utilit&agrave;:
<BLOCKQUOTE><CODE>
<PRE>
rm /usr/lib/libasound.*
</PRE>
</CODE></BLOCKQUOTE>

Solo per stare sicuri, cancellate tutti i driver ALSA quindi ricompilate,
installate e caricare i driver.
<H2>7.4 Suggerimenti generici</H2>

<P>
<P>
<H3>Provate con ``insmod''</H3>

<P>&Egrave; sempre utile partire con il comando "insmod" invece che con kerneld.
Avrete cos&igrave; modo di vedere i possibili errori sullo schermo.
<P>
<H3>Leggete il file INSTALL.</H3>

<P>Un sacco di informazioni potete trovarle nel file INSTALL presente nella
directory dei driver. Se il vostro driver si rifiuta di funzionare dateci
un'occhiata per vedere se ci sono informazioni aggiuntive.
<P>
<H3>Messaggi di debug</H3>

<P>Come ultima spiaggia potete ricompilare il driver impostandolo in modo tale da
inviare le informazioni di debug su /var/log/messages. Andate nella directory
del driver con <CODE>cd /usr/src/alsa-driver-....</CODE> e digitate:
<P>
<BLOCKQUOTE><CODE>
<PRE>
./configure --with-debug=detect; make clean; make
</PRE>
</CODE></BLOCKQUOTE>
<P>Rimuovete il driver (se esso &egrave; attivo si cerchi pi&ugrave; avanti un comando per la
rimozione). Si usi il comando di "modprobe" che avete dato prima per caricare
il driver appena compilato. Date un'occhiata in /var/log/messages per vedere
se vi sono messaggi.
<P>
<H3>Se ancora non funziona...</H3>

<P>Se questi messaggi non vi sono di aiuto, mandate un messaggio alla mailing
list degli utenti di ALSA, 
<A HREF="mailto:alsa-user@alsa-project.org">alsa-user@alsa-project.org</A>.
<P>Accludete le seguenti informazioni:
<UL>
<LI>nome della scheda audio + chip presenti sulla scheda audio</LI>
<LI>sezioni del file isapnp.conf attinenti se avete una scheda ISA PnP</LI>
<LI>il vostro conf.modules o la linea che usate per attivare i driver ALSA</LI>
<LI>tutti i messaggi di /var/log/messages che dovrebbero riguardare il driver ALSA</LI>
</UL>
<P>
<H2>7.5 Segnalazioni di bug</H2>

<P>Se trovate un bug gli sviluppatori di ALSA vorrebbero sapere (minimo) le
seguenti cose:
<OL>
<LI>versioni driver + kernel : 'cat /proc/asound/version'</LI>
<LI>informazioni sulla scheda audio
<UL>
<LI>nome con il quale la scheda viene chiamata dal fabbricante</LI>
<LI>lista dei chip che compongono la scheda</LI>
<LI>contenuto di 'cat /proc/asound/cards'</LI>
</UL>
</LI>
<LI>tutti i messaggi di /var/log/messages che sono attinenti al driver ALSA</LI>
<LI>descrizione del problema</LI>
</OL>
<P>
<H2>7.6 Trucco: riprodurre CD</H2>

<P>Se utilizzare kmod/kerneld ed i driver ALSA per riprodurre i CD, probabilmente
kmod/kerneld non carica i driver come dovrebbe. Questo &egrave; dovuto al fatto che
un player di CD dice solo al CD di cominciare a riprodurre senza utilizzare
alcuno dei dispositivi che avvisano kmod/kerneld della necessit&agrave; del suono.
L'utilizzo di modprobe potrebbe essere l'unica soluzione al vostro problema.
<P>
<H2>7.7 Trucco: installazione del driver seriale MIDI</H2>

<P>Normalmente la porta di IO del dispositivo seriale &egrave; di propriet&agrave; del driver
del dispositivo seriale. Quindi prima di dare il comando ``modprobe
snd-serial'' dovremmo dire al driver di rilasciare il dispositivo seriale.
<P>Ecco la procedura.
<P>
<BLOCKQUOTE><CODE>
<PRE>
setserial /dev/ttyS0 uart none
modprobe snd-serial
</PRE>
</CODE></BLOCKQUOTE>
<P>(Sostituire /dev/ttyS0 con il giusto dispositivo /dev/ttySx se il vostro MIDI
utilizza un diverso dispositivo seriale).
<P>
<H2>7.8 Trucco: nuovo kernel? Nuovi moduli!</H2>

<P>Dopo aver aggiornato il vostro kernel probabilmente avrete bisogno di
ricompilare il driver ALSA. Se sono ancora nella directory originaria
/usr/src, non dimenticatevi di dare un <CODE>make clean</CODE> prima di 
./configure, make, make install.
<P>Ah, vi &egrave; una anomalia nella numerazione dei kernel: lo script di
configurazione dicd che un kernel ``2.2.0ac1'' &egrave; un ``not a number''
(non un numero, ndt). Penso che questo sia stato risolto nei nuovi
script di configurazione altrimenti dovreste cambiare la versione del
kernel nei sorgenti.
<P>
<H2>7.9 Trucco: KDE ed i driver ALSA</H2>

<P>Supponete di avere KDE funzionante e di non riuscire per&ograve; a far funzionare i
suoni di sistema, come aprire le finestre, cambiare desktop ecc. L'audio
funziona in generale. Se il vostro player cd e mp3 ed il mixer funzionano
normalmente probabilmente quello che non funziona &egrave; solo "kwmsound".
<P>Quindi: assicuratevi che "kwmsound" sia nello script di avvio
($KDEDIR/bin/startkde)
<P>
<H2>7.10 Trucco: utilizzo dei dispositivi ALSA</H2>

<P>Se avevate gi&agrave; precedentemente il supporto per il suono nel vostro sistema
Linux &egrave; probabile che tutte le vostre applicazioni puntino a /dev/pcm0,
/dev/audio e /dev/mixer. Questo va bene, se utilizzate il modulo di
compatibilit&agrave; con OSS, snd-pcm1-oss. Potrebbe essere meglio utilizzare i
dispositivi ALSA veri, quelli che trovate in /dev/snd/.
<P>
<H2>7.11 Trucco: rimuovere tutti i moduli</H2>

<P>La rimozione di 10 o pi&ugrave; moduli uno ad uno non &egrave; cosa buona. Fortunatamente
tutti i moduli iniziano con il prefisso "snd-", quindi un po' di
programmazione da riga di comando potrebbe fare al nostro caso. Potete
facilmente rimuovere i driver ALSA con un comando di questo tipo:
<P>
<BLOCKQUOTE><CODE>
<PRE>
cat /proc/modules|gawk '/^snd-/{print $1}|xargs -i rmmod {}
</PRE>
</CODE></BLOCKQUOTE>
<P>Juergen Kahrs 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 esserci troppi moduli dopo la
sua esecuzione''. Ecco la sua soluzione:
<P>
<BLOCKQUOTE><CODE>
<PRE>
awk '/^snd/||/^sound/&amp;&amp;($3==0){system("rmmod " $1)}' /proc/modules /proc/modules /proc/modules
</PRE>
</CODE></BLOCKQUOTE>
<P>Nota bene: se qualche modulo dipende da qualche altro modulo non si
pu&ograve; semplicemente rimuovere il modulo pi&ugrave; "in alto". Questo significa
che potreste aver bisogno di una seconda esecuzione del comando di
rimozione (comunque non ho mai incontrato questa situazione, sembra
quindi che i moduli ALSA possano essere rimossi nell'ordine in cui
appaiono nel file /proc/modules).
<P>
</BODY>
</HTML>