4. Installazione

Contenuti di questa sezione

Configurare Linux per supportare il suono prevede i seguenti passaggi:

  1. Installare la scheda sonora.
  2. Configurare e compilare il kernel con il supporto sonoro.
  3. Creare i "device files".
  4. Boottare il nuovo kernel di Linux e testare l'installazione.

La prossima sezione descrive dettagliatamente questi passaggi.

4.1 Installare la scheda sonora

Segui le istruzioni del produttore per l'installazione dell'hardware o, meglio, richiedi al tuo rivenditore l'installazione della scheda al momento dell'acquisto.

Le vecchie schede sonore usano switch o jumper per il settaggio di IRQ, DMA channel, etc; trascrivi su un foglio i valori assegnati. Se non sei sicuro, usa i parametri di default. Nel limite del possibile cerca di evitare conflitti con altro hardware installato sul sistema (e.g. ethernet, SCSI , seriali e porte parallele) .

4.2 Configurazione del Kernel

Al momento della prima installazione normalmente si usa un kernel precompilato. Questo kernel sicuramente non supporta il suono. La cosa migliore è ,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

Il Linux Kernel HOWTO dovrebbe essere consultato per i dettagli su come compilare un nuovo kernel. Qui procederó solamente a riportare alcuni passaggi riguardanti il supporto sonoro.

Se ,prima d'ora, non avete mai configurato il kernel per il supporto sonoro sarebbe una buona idea consultare tutti i Readme files 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 :

CHANGELOG         - descrizione dei cambiamenti apportati in ogni release
COPYING           - copying and copyright 
Readme            - ultime e più importanti novitá
Readme.aedsp16    - informazioni sulla scheda sonora Audio Excel DSP 16 
Readme.cards      - note sulla configurazione di schede particolari
Readme.linux      - note sull'installazione di release separate del sound driver
Readme.modules    - configurare il driver come modulo per il kernel (insmod)
Readme.v30        - nuove implementazioni nella versione 3.0 del sound driver
experimental.txt  - note sulle inclusioni sperimentali

Segui la metodologia normale per compilare il kernel. Quando esegui make config, abilita il supporto sonoro rispondendo "yes" alla domanda

Sound card support?

Alla fine delle domande sulla configurazione verrá eseguito un programma di configurazione per il sonoro e vi verrá chiesto il tipo di scheda sonora che vorrete supportare . Ponete una grande attenzione quando rispondete alle domande poiche` una risposta sbagliata potrebbe impedire che vi vengano poste le altre domande . Per esempio, non rispondete "yes" alla prima domanda (PAS16) se non avete una PAS16. Non abilitate più schede di quante realmente ne avete bisogno, sprechereste inutilmente memoria. Inoltre alcuni drivers (tipo MPU401) possono entrare in conflitto con il controller SCSI ed impedirvi di eseguire il boot.

Qui c'è una breve descrizione di tutte le opzioni che vi chiederà il programma di configurazione. Rispondete "y" (yes) o "n" (no) ad ogni domanda. La risposta di default viene presentata in questo modo "(y/n)" assegna "y" di default e "(n/y)" assegna "n" di default. Per usare il default , basta premere Invio, ma ricordatevi che i valori assegnati di default non sono necessariamente corretti.

Da notare che non necessariamente vi saranno poste tutte le domande. Il programma di configurazione potrebbe disabilitare alcune domande in base alle risposte precedenti. E potrebbe inoltre scegliere alcune opzioni automaticamente.

ProAudioSpectrum 16 support?

Rispondi "y" solo se hai una Pro Audio Spectrum 16, ProAudio Studio 16 o Logitech SoundMan 16. Non rispondere 'y' se hai qualche altra scheda costruita da Media Vision o Logitech che non sia compatibile PAS16.

SoundBlaster support?

Rispondi "y" se hai una SoundBlaster originale della Creative Labs o un clone compatibile a livello hardware al 100% (tipo la Thunderboard o la SM Games). Se la vostra scheda era nella lista di quelle supportate date un occhiata alle istruzioni specifiche nel file Readme.cards prima di rispondere a questa domanda. Per una scheda non documentata o sconosciuta risponderete "y" solo se é dichiarata compatibile SoundBlaster.

Generic OPL2/OPL3 FM synthesizer support?

Rispondi "y" se la vostra scheda monta un chip FM della Yamaha (OPL2/OPL3/OPL4). Rispondere "y" é normalmente la scelta giusta, anche se alcune schede possono avere solo una emulazione software del chip FM. Abilitare il supporto FM con questo tipo di schede può dare problemi. (Non so comunque niente circa queste schede).

Gravis Ultrasound support?

Rispondi "y" se hai una GUS o una GUS MAX. Rispondi "n" se non hai una GUS visto che il driver occupa un bel pó di memoria.

MPU-401 support (NOT for SB16)?

Attenzione a questa domanda. L'interfaccia MPU401 è supportata da quasi tutte le schede sonore . Benché , alcune schede supportate abbiano il loro driver per la MPU401. Abilitare il supporto MPU401 con queste schede causa dei conflitti. E comunque abilitare il supporto MPU401 su un sistema che non ha la MPU401 puó causare alcuni problemi. Se la vostra scheda era nella lista delle schede supportate controllate le istruzioni specifiche nel file Readme.cards. E` esatto rispondere "y" se avete una vera interfaccia midi MPU401.

6850 UART Midi support?

La risposta piú giusta a questa domanda é "n". L'interfaccia 6850 UART é usata solo in rarissimi casi.

PSS (ECHO-ADI2111) support?

Rispondi "y" solo se hai una Orchid SW32, Cardinal DSP16 o qualche altra scheda basata sul chipset PSS (AD1848 codec + ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP).

16 bit sampling option of GUS (not GUS MAX)?

Rispondi "y" se hai installato la : "16 bit sampling daughtercard" sulla tua GUS. Rispondi "n" se hai una GUS MAX. L'abilitazione di questa opzione disabilita automaticamente il supporto GUS MAX .

GUS MAX support?

Rispondi "y" solo se hai una GUS MAX.

Microsoft Sound System support?

Anche qui pensaci bene prima di rispondere "y" a questa domanda. E` esatto rispondere "y" solo se hai la "Windows Sound System card" originale prodotta da Microsoft o la Aztech SG 16 Pro (oppure NX16 Pro). Comunque devi rispondere "y" nel caso in cui la tua scheda non fosse stata presentata prima in questo file. Per le schede con supporto nativo nel driver VoxWare, consulta le istruzione specifiche per la scheda nel Readme.cards. Alcuni drivers hanno il proprio supporto MSS e l'abilitazione di questa opzione può causare dei conflitti.

Ensoniq Soundscape support?

Rispondi "y" se hai una scheda sonora basata sul chipset Ensoniq SoundScape. Questo tipo di scheda viene prodotto da Ensoniq, Spea and Reveal (Reveal produce anche altri tipi di schede).

MediaTriX AudioTriX Pro support?

Rispondi "y" se hai la AudioTriX Pro.

Support for MAD16 and/or Mozart based cards?

Rispondi "y" se la tua scheda ha il " Mozart (OAK OTI-601) or MAD16 (OPTi 82C928 or 82C929) audio interface chip". Questi chips sono abbastanza comuni ed'é possibile che alcune schede sconosciute ne facciano uso. In aggiunta, il chip MAD16 viene usato in alcune schede prodotte da ditte conosciute tipo Turtle Beach (Tropez), Reveal (alcuni modelli) e Diamond (alcune delle ultime).

SoundBlaster Pro support?

Abilita questo supporto se la tua scheda è una SoundBlaster Pro o SoundBlaster 16. Abilitalo comunque con qualsiasi clone SoundBlaster Pro . Rispondere "n" libera un pò di memoria, comunque rispondere "y" è una buona alternativa.

SoundBlaster 16 support?

Abilitalo se hai una SoundBlaster 16 (inclusa la AWE32).

Audio Excel DSP 16 initialization support?

Abilitalo se hai una scheda Audio Excel DSP16. Controlla il file Readme.aedsp16 per informazioni aggiuntive.

Il programma di configurazione pone alcune domande sui servizi di alto livello . Si raccomanda di rispondere "y" a tutte queste domande. Rispondi "n" solo se sai di non avere bisogno di questa opzione.

/dev/dsp and /dev/audio support (usually required)?

Rispondendo "n" si disabilitano il /dev/dsp e il /dev/audio, ed i device del convertitore A/D and D/A . Quindi rispondi "y".

MIDI interface support?

Rispondendo "n" disabiliti i device /dev/midixx e l'accesso a qualsiasi porta MIDI usando il device /dev/sequencer e il device /dev/music. Questa opzione riguarda qualsiasi device MPU401 ed/o General MIDI compatibile.

FM synthesizer (YM3812/OPL-3) support?

Rispondi "y" qui.

/dev/sequencer support?

Rispondendo "n" disabiliti i device /dev/sequencer e /dev/music

Dopo le informazioni sopra descritte il programma di configurazione vi richiederá informazioni specifiche sulla scheda. Normalmente vengono chiesti una serie di : I/O address, numero di IRQ e DMA . Con alcune schede il programma richiede circa l'utilizzo di alcuni file al momento dell'inizializzazione della scheda stessa. Vengono usati da schede che montano un chip DSP o un microprocessore che devono essere inizializzate mandando un file (microcodice) alla scheda. In alcuni casi questo codice é scritto in un file .h dal programma di configurazione ed incluso nel sound driver durante la compilazione. Comunque, consulta le informazioni nel file Readme.cards pertinenti il tuo tipo di scheda.

Se stai facendo l'upgrade da un vecchio sound driver, assicurati che i files /usr/include/sys/soundcard.h e /usr/include/sys/ultrasound.h siano dei link simbolici corrispondenti agli stessi file in /usr/include/linux, o che contengano rispettivamente le linee #include <linux/soundcard.h> e #include <linux/ultrasound.h>.

Adesso sei pronto a compilare e ad installare il nuovo kernel.

4.3 Creazione dei Device Files

La prima volta che compili il kernel con il supporto sonoro incluso devi creare i "sound device files". Il metodo piú semplice per farlo é di copiare il breve script di shell che si trova alla fine del file Readme.linux nella directory /usr/src/linux/drivers/sound, ed eseguirlo come user root.

Se i device esistono giá, devi controllare che siano corretti . Se non lo sono, o hai qualche dubbio, esegui lo script di cui sopra che rimpiazzerá i vecchi device con altri nuovi e corretti.

Alcune vecchie distribuzioni di Linux fornivano degli "install scripts" che creavano dei "sound device files" non corretti. Dovreste comunque avere uno script : /dev/MAKEDEV per creare i "device files". Usando lo script incluso con il kernel sound driver é preferibile visto che dovrebbe essere rilasciato assiame all'ultima versione del sound driver con gli ultimi device supportati.

Dopo avere eseguito lo script dovreste avere questi "sound device files":

lrwxrwxrwx   1 root        11 Aug 22 00:01 audio -> /dev/audio0
crw-rw-rw-   1 root   14,   4 Aug 22 00:01 audio0
crw-rw-rw-   1 root   14,  20 Aug 22 00:01 audio1
lrwxrwxrwx   1 root         9 Aug 22 00:01 dsp -> /dev/dsp0
crw-rw-rw-   1 root   14,   3 Aug 22 00:01 dsp0
crw-rw-rw-   1 root   14,  19 Aug 22 00:01 dsp1
crw-rw-rw-   1 root   14,   2 Aug 22 00:01 midi00
crw-rw-rw-   1 root   14,  18 Aug 22 00:01 midi01
crw-rw-rw-   1 root   14,  34 Aug 22 00:01 midi02
crw-rw-rw-   1 root   14,  50 Aug 22 00:01 midi03
crw-rw-rw-   1 root   14,   0 Aug 22 00:01 mixer
crw-rw-rw-   1 root   14,  16 Aug 22 00:01 mixer1
crw-rw-rw-   1 root   14,   8 Aug 22 00:01 music
crw-rw-rw-   1 root   14,  17 Aug 22 00:01 patmgr0
crw-rw-rw-   1 root   14,  33 Aug 22 00:01 patmgr1
crw-rw-rw-   1 root   14,   1 Aug 22 00:01 sequencer
lrwxrwxrwx   1 root        10 Aug 22 00:01 sequencer2 -> /dev/music
crw-rw-rw-   1 root   14,   6 Aug 22 00:01 sndstat

Se state usando il "PC speaker sound driver", leggete la documentazione che é acclusa nel pacchetto per determinare quali "device files" creare.

Normalmente la configurazione che avete usato compilando il kernel dovrebbe essere sufficiente per il "sound card driver". E` comunque possibile aggiungere parametri alla riga di comando del kernel (e.g. da LILO) per configurare il sound driver. Questi parametri sono definiti nel file Readme.linux. E` raramente necessario usarli. Vengono intesi principalmente per sviluppatori del "Linux boot disks" per creare un kernel che supporti svariati tipi di schede sonore.

4.4 Boottare il nuovo kernel e testare l'installazione

Dovreste essere pronti per eseguire il boot e testare il sound driver. Seguite le normali procedure per installare e reboottare il nuovo kernel (mettete il vecchio kernel in un posto sicuro [puó sempre servire]).

Durante il boot, controllate l'esistenza di un messaggio tipo questo alla partenza (se loscrolling é troppo veloce, potrete tornare indietro con il comando :"dmesg | more":

snd2  at 0x220 irq 5 drq 1
snd1  at 0x388 irq 0 drq 0

Deve corrispondere al tipo di scheda installato e al settaggio di IRQ e jumper (se ci sono).

Il driver mostra comunque altri messaggi d'errore e "warnings" durante il boot. Controllali bene durante il primo boot che segue l'installazione e la configurazione del sound driver.

Successivamente devi controllare il "device file" /dev/sndstat. Leggendo il file (/dev/sndstat) sullo stato del sound driver vengono presentate informazioni addizionali sulla eventuale inizializzazione corretta della scheda sonora. Un esempio di come dovrebbe rispondere il comando "cat /dev/sndstat" è pressapoco cosí:

% cat /dev/sndstat
VoxWare Sound Driver:3.0.1-950812 (Thu Aug 17 23:33:07 EDT 1995 root@fizzbin.ca)
Config options: 312002

Installed drivers: 
Type 1: OPL-2/OPL-3 FM
Type 2: SoundBlaster

Card config: 
SoundBlaster at 0x220 irq 5 drq 1
OPL-2/OPL-3 FM at 0x388 irq 0 drq 0

Audio devices:
0: SoundBlaster Pro 3.2

Synth devices:
0: Yamaha OPL-3

Midi devices: NOT ENABLED IN CONFIG

Timers:
0: System Timer

Mixers:
0: SoundBlaster

Adesso siete pronti per eseguire un semplice file sonoro. Prendete un qualsiasi file sonoro e reindirizzatelo sul sound device per testarne il risultato , e.g.

% cat endoftheworld >/dev/dsp
% cat crash.au >/dev/audio

(Assicuratevi di non dimenticare la ">" nel comando precedente).

Alcuni esempi di file sonori sono reperibili presso : ftp://tsx-11.mit.edu/packages/sound/snd-data-0.1.tar.Z

Adesso verificate la registrazione. Se avete la possibilità di usare un dispositivo di input potete fare un test veloce in questo modo :

# record 4 seconds of audio from microphone
% dd bs=8k count=4 </dev/audio >sample.au
4+0 records in
4+0 records out
# play back sound
% cat sample.au >/dev/audio

Se il test non dà problemi, potete ragionevolmente confidare nel fatto che la scheda D/A and A/D e il software funzionano. Al contrario se avete riscontrato problemi controllate la sezione successiva di questo documento.

4.5 Risoluzione dei problemi

Se comunque ,dopo avere seguito le istruzioni dell'HOWTO, incontrate problemi qui propongo alcune cose da controllare. I controlli sono listati in ordine progressivo di difficoltá. Se un controllo non funzionasse, risolvi il problema prima di passare al controllo successivo.

Passo 1: Controlla che il kernel sia quello che hai compilato.

Puoi controllare la data del kernel per vedere se stai usando quello compilatao con il supporto "sound". Puoi farlo con il comando uname:

% uname -a
Linux fizzbin 1.3.20 #1 Fri Aug 18 22:12:36 EDT 1995 i386

o guardando il file /proc/version in questo modo :

% cat /proc/version
Linux version 1.2.13 (root@fizzbin) (gcc version 2.6.3) #9 Sun Aug 6 11:56:47 EDT 1995

Se la data non corrisponde al giorno in cui hai compilato il kernel, allora stai usando un vecchio kernel. Hai eseguito il reboot? Se usi LILO, lo hai reinstallato (normalmente eseguendo /etc/lilo/install)? Se esegui il boot da un floppy, ne hai creato uno nuovo di boot ? E hai usato quello, per il boot?

Passo 2: Assicurati che nel kernel sia incluso il supporto del "sound driver".

Puoi controllare quali sono i driver inclusi guardando nel file /proc/devices:

% cat /proc/devices
Character devices:
 1 mem
 4 tty
 5 cua
 6 lp
14 sound
15 Joystick

Block devices:
 2 fd
 3 hd
25 sbpcd

Quello che stiamo cercando per il nostro problema é il "character device 14", chiamato "sound". Se il sound device non compare allora qualcosa non è andato per il verso giusto durante la configurazione o la compilaione del kernel. Riesegui il processo di installazione , iniziando dalla configurazione e compilazione del kernel.

Passo 3: Il kernel ha individuato la vostra scheda al momento del boot?

Assicurati che il kernel abbia individuato la scheda al momento del boot. Dovresti avere visto un messaggio in fase di boot. Se il messaggio è passato troppo velocemente puoi richiamarlo con il comando dmesg :

% dmesg

or

% tail /var/adm/messages

Se la scheda non è stata trovata qualcosa è andato storto. Assicurati che sia realmente installata. Se funziona sotto DOS puoi ragionevolmente sperare che l'hardware funzioni, probabilmente è solo un problema di configurazione del kernel. Forse hai configurato la scheda del tipo sbagliato o hai assegnato parametri inesatti, o la tua scheda non è compatibile con alcuno dei Linux kernel "sound card drivers".

Una possibilità è quella che la tua scheda sia una delle "compatibili" che richiedono l'inizializzazione dal driver del DOS . Prova a fare il boot da DOS e ad installare il driver fornito dal produttore della scheda. Poi esegui un boot a caldo di Linux usando Control-Alt-Delete. Assicurati che gli I/O address, DMA, e i settaggi degli IRQ della scheda siano gli stessi sia per Linux che per DOS. Consulta il file Readme.cards nei sorgenti della distribuzione del sound driver per eventuali consigli sulla configurazione della tua scheda.

Se la tua scheda non compare nel documento, è possibile che il Linux sound driver non la supporti. Controlla le referenze alla fine di questo documento.

Passo 4: Puoi leggere dati dal "dsp device"?

Prova a leggere dal device /dev/audio usando il comando dd visto prima all'interno di questo documento. Il comando deve funzionare senza errori.

Se non funziona, una causa possibile potrebbe essere il "device file". Assicurati che i "device files" nella directory /dev abbiano il corretto "major e minor number" come visualizzato precedentemente. Controlla che siano abilitati al permesso di scrittura e lettura.

Una remota possibilitá potrebbe essere l'hardware. Prova ad eseguire un test da DOS , se possibile, per vedere se é questo il caso......

Se Tutto Questo Non Funziona

Se hai ancora problemi, qui ci sono gli ultimi consigli su eventuali cose da provare:

Prossimo Capitolo, Precedente Capitolo

Indice di questo capitolo, Indice Generale

inizio del documento, Inizio di questo capitolo

¤¤