Sophie

Sophie

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

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>Linux Sound HOWTO: Installazione</TITLE>
 <LINK HREF="Sound-HOWTO-5.html" REL=next>
 <LINK HREF="Sound-HOWTO-3.html" REL=previous>
 <LINK HREF="Sound-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Sound-HOWTO-5.html">Avanti</A>
<A HREF="Sound-HOWTO-3.html">Indietro</A>
<A HREF="Sound-HOWTO.html#toc4">Indice</A>
<HR>
<H2><A NAME="s4">4. Installazione</A></H2>

<P>
<P>Configurare Linux per supportare il suono prevede i seguenti passaggi:
<P>
<OL>
<LI>Installare la scheda sonora.</LI>
<LI>Configurare il Plug and Play (se disponibile)</LI>
<LI>Configurare e compilare il kernel con il supporto sonoro.</LI>
<LI>Creare i file dispositivo.</LI>
<LI>Effettuare il boot del kernel di Linux e testare l'installazione.</LI>
</OL>
<P>Se avete Red Hat Linux avete anche una utility chiamata <CODE>sndconfig</CODE>
che in molti casi rilever&agrave; la vostra scheda audio e imposter&agrave; tutti i
necessari file di configurazione per caricare i giusti driver audio per
la vostra scheda. Se avete una Red Hat vi suggerisco di provarla. Se
vi funziona allora potete saltare il resto delle istruzioni in questa
sezione.
<P>Se <CODE>sndconfig</CODE> non riesce nel suo intento, state usando un'altra
distribuzione o volete seguire il metodo manuale per poter meglio
comprendere quello che state facendo, le prossime sezioni descriveranno
dettagliatamente tutti i passi da compiere.
<P>
<H2><A NAME="ss4.1">4.1 Installare la scheda audio</A>
</H2>

<P>
<P>Seguite le istruzioni del produttore per l'installazione dell'hardware o,
meglio, richiedete al vostro rivenditore l'installazione della scheda al
momento dell'acquisto.
<P>Le vecchie schede sonore usano switch o jumper per
l'impostazione di IRQ, canali DMA, ecc; trascrivete su un foglio i
valori assegnati. Se non
siete sicuri, usate i parametri predefiniti. Nel limite del possibile cercate
di evitare conflitti con altro hardware installato sul sistema (come schede Ethernet,
SCSI, porte seriali e parallele) .
<P>Usualmente si dovrebbero usare la stessa porta di I/O, IRQ e impostazioni di DMA
che si usano sotto DOS. In qualche caso (particolarmente con schede PnP)
si devono usare impostazioni diverse per far funzionare le cose sotto Linux.
Serve qualche prova.
<P>
<P>
<H2><A NAME="ss4.2">4.2 Configurare il Plug and Play</A>
</H2>

<P>
<P>Attualmente diverse schede audio utilizzano il protocollo Plug and
Play per configurare le impostazioni degli indirizzi di I/O, irq e
canali DMA.  Se avete una vecchia scheda che ha delle impostazioni
fisse o dei jumper (ponticelli) potete saltare alla prossima sezione.
<P>Alla versione 2.2 del kernel non vi &egrave; ancora un completo supporto per il
Plug and Play. La soluzione preferita &egrave; quella che prevede l'utilizzo
dei tool isapnp che sono presenti in molte distribuzioni di Linux (o che
potete scaricare dal sito web della Red Hat 
<A HREF="http://www.redhat.com/">http://www.redhat.com/</A>).
<P>Date per prima cosa un'occhiata alla documentazione della vostra
distribuzione di Linux. Il supporto Plug and Play potrebbe essere gi&agrave;
configurato o potrebbe funzionare in maniera differente da come viene qui
descritto. Se dovete configurarvelo da soli potete trovare altri
dettagli nelle pagine di manuale del tool isapnp. In breve, la procedura che
dovrete seguire &egrave; la seguente:
<P>
<UL>
<LI> Utilizzate <CODE>pnpdump</CODE> per scoprire tutte le possibili
impostazioni dei vostri dispositivi Plug and Play, salvando il risultato
nel file /etc/isapnp.conf.
</LI>
<LI> Scegliete per la scheda audio delle impostazioni che non
entrino in conflitto
con altri dispositivi presenti nel vostro sistema e decommentate le giuste
linee in /etc/isapnp.conf. Non dimenticatevi di decommentare
il comando <CODE>(ACT Y)</CODE> che si trova verso la fine.
</LI>
<LI> Assicuratevi che <CODE>isapnp</CODE> venga eseguito all'avvio del sistema,
cosa normalmente fatta da uno script di avvio. Fate il reboot del vostro
sistema o eseguite manualmente <CODE>isapnp</CODE>.
</LI>
</UL>
<P>Se per qualche motivo non potete o non volete usare il tool isapnp,
vi sono altre soluzioni. Se utilizzate la scheda audio sotto Microsoft
Windows 95 o 98, potete usare il device manager per configurare la scheda
audio e quindi effettuare un soft boot di Linux usando il programma LOADLIN.
Assicuratevi che Windows e Linux utilizzino le stesse impostazioni di
configurazione della scheda.
<P>Se utilizzate la scheda dal DOS potete usare l'utilit&agrave; <CODE>icu</CODE>
che viene distribuita assieme alla SoundBlaster16 PnP per configurarla da
DOS, quindi effettuare un soft boot di Linux utilizzando LOADLIN. Ancora una
volta assicuratevi che sia DOS che Linux utilizzino le stesse impostazioni
della scheda.
<P>Qualche driver per schede audio include il software necessario ad inizializzare
il Plug and Play per la scheda. Date un'occhiata alla documentazione del
driver per maggiori informazioni.
<P>
<H2><A NAME="ss4.3">4.3 Configurare il kernel</A>
</H2>

<P>
<P>Al momento della prima installazione normalmente si usa un kernel precompilato.
Questo kernel normalmente non supporta il suono. La cosa migliore &egrave;, senza
dubbio, la ricompilazione del kernel con l'aggiunta dei driver che vi servono.
Dovreste comunque ricompilare il kernel perlomeno per aggiornare la versione e
minimizzare la grandezza del file stesso (vmlinuz) onde evitare di occupare
troppo spazio in memoria.
<P>Il 
<A HREF="http://metalab.unc.edu/LDP/HOWTO/Kernel-HOWTO.html">Linux Kernel HOWTO</A> dovrebbe essere consultato per i dettagli su come
compilare un nuovo kernel. Qui proceder&ograve; solamente a riportare alcuni
passaggi riguardanti il supporto sonoro.
<P>Se, prima d'ora, non avete mai configurato il kernel per il supporto sonoro
sarebbe una buona idea leggere <EM>tutti</EM> i Readme file inclusi con il
kernel sound driver ed in particolar modo le informazioni specifiche
riguardanti la vostra scheda sonora. La seguente documentazione si trova
normalmente nella directory del kernel sound driver, che viene installata di
default in /usr/src/linux/drivers/sound. Se questa directory
non &egrave; presente &egrave; molto probabile che abbiate una versione molto vecchia o
non abbiate installato il codice sorgente.
<P>Seguite la normale procedura per compilare il kernel. Attualmente vi sono
tre interfacce per il processo di configurazione. Un'interfaccia utente grafica
che gira sotto X11 e pu&ograve; essere lanciata con <CODE>make xconfig</CODE>. Una basata
su menu che richiede sono un display testuale &egrave; disponibile con <CODE>make
menuconfig</CODE>. Il metodo originale, usando <CODE>make config</CODE>, offre una
semplice interfaccia di testo.
<P>Durante la configurazione del kernel vi saranno molte scelte da effettuare
per configurare correttamente il driver per la scheda che possedete.
L'help in linea di cui il programma di configurazione dispone dovrebbe
fornire un adeguato supporto a questa fase della procedura. Scegliete meglio
che potete.
<P>Dopo aver configurato il kernel dovrete compilarlo ed installare il nuovo
kernel come descritto nel Kernel HOWTO.
<P>
<H2><A NAME="ss4.4">4.4 Creazione dei file dispositivo</A>
</H2>

<P>
<P>Per un corretto funzionamento devono essere creati dei file dispositivo
per i dispositivi audio. Essi vengono creati di norma durante l'installazione
del vostro sistema Linux.  Pu&ograve; essere fatto un controllo veloce
utilizzando il comando di cui si parla qui di seguito. Se l'output &egrave;
quello mostrato (la data pu&ograve; variare) allora i file dispositivi sono quasi
sicuramente a posto.
<P>
<BLOCKQUOTE><CODE>
<PRE>
% ls -l /dev/sndstat
crw-rw-rw-   1 root     root      14,   6 Apr 25  1995 /dev/sndstat
</PRE>
</CODE></BLOCKQUOTE>
<P>Si noti che il fatto che i file dispositivo siano a posto di per s&eacute; non
garantisce nulla. Anche il driver del kernel deve essere stato caricato
o compilato prima che le periferiche funzionino (se ne parler&agrave; pi&ugrave;
avanti).
<P>In qualche raro caso, se si crede che i dispositivi siano errati, essi
possono essere ricreati. Diverse distribuzioni di Linux hanno
lo script <CODE>/dev/MAKEDEV</CODE> che pu&ograve; essere utilizzato a tale scopo.
<P>
<H2><A NAME="ss4.5">4.5 Boot di Linux e test dell'installazione</A>
</H2>

<P>
<P>Dovreste essere pronti per eseguire il boot e testare il sound driver.
Seguite le normali procedure per installare e fare il boot del nuovo
kernel (non cancellate il vecchio kernel, pu&ograve; servire nel caso in cui
si incontrino problemi).
<P>Durante il boot, controllate l'esistenza di un messaggio tipo questo alla
partenza (se passano troppo velocemente, li potete rileggere con il
comando <CODE>dmesg</CODE>):
<P>
<BLOCKQUOTE><CODE>
<PRE>
Sound initialization started
&lt;Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5
&lt;Sound Blaster 16> at 0x330 irq 5 dma 0
&lt;Yamaha OPL3 FM> at 0x388
Sound initialization complete
</PRE>
</CODE></BLOCKQUOTE>
<P>Deve corrispondere al tipo di scheda installata e al settaggio di IRQ e
jumper (se ci sono).
<P>Si noti che i messaggi di cui sopra non vengono mostrati se si &egrave;
preferito utilizzare il driver come modulo caricabile del kernel (a meno
che non venga abilitato, ad esempio con <CODE>insmod sound trace_init=1</CODE>).
<P>Quando il driver sonoro viene compilato nel kernel i messaggi
<CODE>Sound initialization started</CODE> e <CODE>Sound initialization complete</CODE>
devono apparire. Se ci&ograve; non accadesse significa che non &egrave; presente un
driver sonoro nel kernel. In questo caso si avr&agrave; cura di controllare che
il kernel installato sia quello che &egrave; stato compilato con l'abilitazione
del driver sonoro.
<P>Se non viene visualizzato nulla tra le righe <CODE>Sound initialization
started</CODE> e <CODE>Sound initialization complete</CODE> significa che non sono
stati rilevati dispositivi audio. Molto probabilmente significa che non &egrave; stato
abilitato il driver giusto, la scheda non &egrave; supportata, la porta
di I/O &egrave; sbagliata o che si ha una scheda PnP che non &egrave; stata
configurata.
<P>Il driver pu&ograve; anche mostrare dei messaggi di errore e altre avvertenze
durante il boot. Si stia attenti a tali messaggi la prima volta che viene
effettuato il boot dopo aver configurato il driver sonoro.
<P>Si dovr&agrave; successivamente controllare il file dispositivo
/dev/sndstat. Leggendo il file sullo stato del driver sonoro
(/dev/sndstat) vengono presentate informazioni aggiuntive sulla
eventuale corretta inizializzazione del driver sonoro. Ecco un esempio
di output:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% cat /dev/sndstat
Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root,
Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586)
Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586
Config options: 0

Installed drivers:
Type 1: OPL-2/OPL-3 FM
Type 2: Sound Blaster
Type 7: SB MPU-401

Card config:
Sound Blaster at 0x220 irq 5 drq 1,5
SB MPU-401 at 0x330 irq 5 drq 0
OPL-2/OPL-3 FM at 0x388 drq 0

Audio devices:
0: Sound Blaster 16 (4.13)

Synth devices:
0: Yamaha OPL-3

Midi devices:
0: Sound Blaster 16

Timers:
0: System clock

Mixers:
0: Sound Blaster
</PRE>
</CODE></BLOCKQUOTE>
<P>Il comando precedente pu&ograve; restituire alcuni messaggi di errore.
``No such file or directory'' indica che si devono creare i file
dispositivo (vedi sezione 4.3). ``No such device'' significa che il
driver sonoro non &egrave; stato caricato o linkato nel kernel. Si ritorni
alla sezione 4.2 per rimediare a questo errore.
<P>Se le linee della sezione ``Card config:'' di <CODE>/dev/sndstat</CODE> sono
visualizzate tra parentesi (tipo ``(SoundBlaster at 0x220 irq5 drq 1,5)''),
significa che quel dispositivo &egrave; stato configurato ma non rilevato.
<P>Adesso siete pronti per eseguire un semplice file sonoro. Prendete un
qualsiasi file sonoro e reindirizzatelo sul dispositivo sonoro per testarne il
risultato, ad esempio:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% cat endoftheworld >/dev/dsp
% cat crash.au >/dev/audio
</PRE>
</CODE></BLOCKQUOTE>
<P>(State attenti a non dimenticare il ``&gt;'' nel comando di cui sopra).
<P>Si noti che, in generale, l'uso di <CODE>cat</CODE> non &egrave; la maniera pi&ugrave;
adatta per riprodurre file audio, serve solo come piccolo controllo.
Avrete bisogno di un vero e proprio programma di riproduzione
(se ne parla pi&ugrave; avanti) che far&agrave; un lavoro migliore.
<P>Questo comando funzioner&agrave; se vi &egrave; almeno un dispositivo nella
sezione ``audio devices'' di /dev/sndstat. Se la sezione ``audio
devices'' &egrave; vuota ci si dovr&agrave; accertare del perch&eacute; il dispositivo
non &egrave; stato rilevato.
<P>Se il comando precedente restituisce un ``I/O error'', dovreste
dare un'occhiata alla parte finale dei messaggi del kernel usando
il comando ``dmesg''. &Egrave; probabile che vi si trovi un messaggio
di errore. Molto spesso il messaggio &egrave;
``Sound: DMA (output) timed out - IRQ/DRQ config error?''.
Questo messaggio significa che il driver non ha utilizzato con
successo l'interrupt impostato per comunicare con la scheda audio.
In molti casi significa che l'IRQ o il canale DMA configurato nel
driver non sono corretti. La maniera migliore di farlo funzionare
&egrave; quella di tentare con tutte le possibili combinazione di DMA e
IRQ supportati dal dispositivo audio.
<P>Un'altra possibile ragione &egrave; costituita dall'incompatibilit&agrave; del
dispositivo rilevato con il driver che si &egrave; scelto di installare. &Egrave;
questo il caso delle schede che si dicono ``SoundBlaster (Pro/16)
compatibili'' ma che non funzionano con il driver per SoundBlaster.
In questo caso si dovr&agrave; scoprire con quale scheda audio &egrave;
compatibilie la propria (per esempio scrivendo un messaggio sul
newsgroup comp.os.linux.hardware).
<P>Alcuni esempi di file sonori sono reperibili presso :
<A HREF="ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z">ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z</A><P>Adesso verificate la registrazione. Se avete la possibilit&agrave; di usare un
dispositivo di input potete fare un test veloce in questo modo:
<P>
<BLOCKQUOTE><CODE>
<PRE>
# registra 4 secondi di audio dal microfono
EDT% dd bs=8k count=4 &lt;/dev/audio >sample.au
4+0 records in
4+0 records out
# esegue il suono registrato
% cat sample.au >/dev/audio
</PRE>
</CODE></BLOCKQUOTE>
<P>Ovviamente per far funzionare tutto ci&ograve; si dovr&agrave; aver connesso un
microfono alla scheda audio e vi si dovr&agrave; parlare. Forse avrete anche
bisogno di installare un programma
mixer per impostare il microfono come dispositivo di input e regolare
il guadagno.
<P>Se il test non d&agrave; problemi, potete ragionevolmente confidare nel fatto che la
scheda D/A -- A/D e il software funzionano. Al contrario se avete riscontrato
problemi controllate la sezione successiva di questo documento.
<P>
<H2><A NAME="ss4.6">4.6 Risoluzione dei problemi</A>
</H2>

<P>
<P>Se comunque, dopo avere seguito le istruzioni dell'HOWTO, incontrate problemi
qui propongo alcune cose da controllare. I controlli sono proposti in ordine
progressivo di difficolt&agrave;. Se un controllo non funzionasse, risolvete il
problema prima di passare al controllo successivo.
<P>
<H3>Passo 1: controllate che il kernel sia quello che avete compilato.</H3>

<P>
<P>Potete controllare la data del kernel per vedere se state usando quello
compilato con il supporto per il suono. Si pu&ograve; farlo usando il comando
<CODE>uname</CODE> :
<P>
<BLOCKQUOTE><CODE>
<PRE>
% uname -a
Linux fizzbin 2.2.4 #1 Tue Mar 23 11:23:21 EST 1999 i586 unknown
</PRE>
</CODE></BLOCKQUOTE>
<P>o visualizzando il file /proc/version:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% cat /proc/version
Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue
Mar 23 11:23:21 EST 1999
</PRE>
</CODE></BLOCKQUOTE>
<P>Se la data non corrisponde al giorno in cui avete compilato il kernel, allora
state usando un vecchio kernel. Avete eseguito il reboot? Se usate LILO, lo avete
reinstallato (normalmente eseguendo lilo)? Se
eseguite il boot da un floppy, ne avete creato uno nuovo di boot e lo avete utilizzato
per il boot?
<P>
<H3>Passo 2: assicuratevi che nel kernel sia incluso il supporto del driver sonoro.</H3>

<P>
<P>Il modo pi&ugrave; facile per fare questo controllo &egrave; quello di dare un'occhiata
all'output di <CODE>dev/sndstat</CODE> come detto precedentemente. Se l'output non &egrave; quello
che ci si attendeva allora qualche cosa &egrave; andata storta durante la
configurazione o la compilazione del kernel. Fate ripartire il processo
di installazione, ricominciando dalla configurazione e compilazione del
kernel.
<P>
<H3>Passo 3: il kernel ha rilevato la vostra scheda al momento del boot?</H3>

<P>
<P>Assicuratevi che il kernel abbia rilevato la scheda al momento del boot.
Dovreste avere visto un messaggio in fase di boot. Se il messaggio &egrave; passato
troppo velocemente potete richiamarlo con il comando <CODE>dmesg</CODE> :
<P>
<BLOCKQUOTE><CODE>
<PRE>
% dmesg
</PRE>
</CODE></BLOCKQUOTE>
<P>oppure
<P>
<BLOCKQUOTE><CODE>
<PRE>
% tail /var/log/messages
</PRE>
</CODE></BLOCKQUOTE>
<P>Se la scheda non &egrave; stata trovata qualcosa &egrave; andato storto. Assicuratevi che sia
realmente installata. Se funziona sotto DOS potete ragionevolmente sperare che
l'hardware funzioni, probabilmente &egrave; solo un problema di configurazione del
kernel. Forse avete configurato la scheda del tipo sbagliato o assegnato
parametri inesatti, o la scheda non &egrave; compatibile con nessuno dei
driver sonori del kernel di Linux.
<P>
<P>Una possibilit&agrave; &egrave; quella che la scheda sia una delle <EM>compatibili</EM>
che richiedono l'inizializzazione dal driver del DOS. Provate a fare il boot da
DOS e ad installare il driver fornito dal produttore della scheda. Poi eseguite
un boot a caldo di Linux usando <CODE>Control-Alt-Canc</CODE>. Assicuratevi che gli indirizzi di I/O,
DMA e le impostazioni degli IRQ della scheda siano gli stessi sia per Linux che per DOS.
Consultate il file Readme.cards nei sorgenti della distribuzione del
sound driver per eventuali consigli sulla configurazione della scheda.
<P>
<P>
<P>Se la scheda non compare nel documento, &egrave; possibile che il Linux sound
driver non la supporti. Controllate i riferimenti alla fine di questo documento.
<P>
<H3>Passo 4: potete leggere dati dal dispositivo dsp?</H3>

<P>
<P>Provate a leggere dal dispositivo /dev/audio usando il comando
<CODE>dd</CODE> visto prima all'interno di questo documento. Il comando deve
funzionare senza errori.
<P>Se non funziona probabilmente dipende da un conflitto di IRQ o DMA o
da qualche tipo di incompatibilit&agrave; hardware (il dispositivo non &egrave; supportato
da Linux o il driver &egrave; stato configurato per un dispositivo errato).
<P>Una remota possibilit&agrave; potrebbe essere un hardware non funzionante. Provate a
eseguire un test da DOS, se possibile, per vedere se &egrave; questa la causa.
<P>
<H3>Se tutto questo non funziona</H3>

<P>
<P>Se ci sono ancora problemi, quelli che seguono sono gli ultimi consigli su tentativi eventuali:
<P>
<UL>
<LI>rileggete attentamente questo HOWTO;</LI>
<LI>leggetevi i riferimenti alla fine di questo documento, specialmente
i file della documentazione nei sorgenti del kernel;</LI>
<LI>inviate una domanda su uno dei gruppi <CODE>comp.os.linux</CODE> o su
altri gruppi Usenet (comp.os.linux.hardware &egrave; una buona scelta; a causa
dell'altro livello di traffico su questi gruppi aiuta mettere la parola ``sound''
nel subject del messaggio, in modo tale che i giusti esperti lo notino);</LI>
<LI>Usare un motore di ricerca per il Web/Usenet con un criterio
di ricerca intelligente pu&ograve; dare ottimi risultati velocemente. Una scelta
tipica &egrave; 
<A HREF="http://www.altavista.digital.com">http://www.altavista.digital.com</A>;</LI>
<LI>provate a usare l'ultimo kernel di Linux (ma solo come ultima
risorsa, gli ultimi kernel sperimentali potrebbero essere instabili);</LI>
<LI>inviate una mail all'autore del driver sonoro;</LI>
<LI>inviate una mail all'autore del Sound HOWTO;</LI>
<LI>avviate Emacs e digitate <CODE>Esc-x doctor</CODE> :-)</LI>
</UL>
<P>
<HR>
<A HREF="Sound-HOWTO-5.html">Avanti</A>
<A HREF="Sound-HOWTO-3.html">Indietro</A>
<A HREF="Sound-HOWTO.html#toc4">Indice</A>
</BODY>
</HTML>