Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.arcetri.astro.it/irlab/doc/library/linux/AppLinux/al247.htm
Äàòà èçìåíåíèÿ: Tue Sep 21 18:08:57 1999 Äàòà èíäåêñèðîâàíèÿ: Sat Dec 22 13:25:18 2007 Êîäèðîâêà: ISO8859-5 Ïîèñêîâûå ñëîâà: m 17 |
Negli ultimi tempi, l'elaboratore viene visto sempre pi? spesso come una macchina multimediale tuttofare. In questo documento non c'ø ancora una parte dedicata ai vari aspetti della ?multimedialitðË con GNU/Linux. Per il momento, qui si raccolgono solo alcune notizie utili per la gestione delle funzionalitð audio con il sistema GNU/Linux.
In generale, per gestire l'?audioË in qualche modo non ø strettamente necessario disporre di componenti speciali. Per esempio, il lettore CD-ROM pu? essere gestito in modo indipendente per ascoltare i CD musicali, eventualmente anche per estrarre le tracce audio (anche se poi mancherebbe la possibilitð di ascoltare quanto estratto senza una scheda audio).
Ø bene non farsi illusioni sulle possibilitð di un sistema GNU/Linux nei confronti della gestione dell'audio. Il comportamento pu? cambiare notevolmente da una scheda audio all'altra, e non ø detto che le cose migliorino quando la qualitð dell'hardware ø eccezionale. In generale ø pi? probabile ottenere i risultati pi? buoni con una scheda a 16 bit di quelle gestite dai driver ?OSSË (esiste una classificazione apposita nei sorgenti del kernel con questa sigla). |
Per includere le funzionalitð audio, attraverso dell'hardware apposito, ø molto probabile che il kernel debba essere ricompilato. Tuttavia, il vero problema sta nel fatto che esiste una grande quantitð di schede audio, per cui si deve scegliere attentamente l'hardware, e per ogni situazione si possono presentare degli imprevisti. *1*
La maggior parte del codice scritto per la gestione delle schede audio ø fatto per componenti un po' vecchi, realizzati per il bus ISA, e in generale non prevede le funzionalitð Plug & Play. Questo comporta il problema di dover provvedere alla configurazione di tali schede attraverso altri sistemi operativi, oppure per mezzo dei programmi del pacchetto Isapnptools, a cui si accenna nel capitolo 23. |
La parte principale del kernel ha un limite nella sua dimensione massima. Dal momento che di solito la gestione dell'audio non dovrebbe essere una funzionalitð vitale, ø consigliabile utilizzare i moduli per queste cose.
Per prima cosa si deve abilitare la gestione dell'audio, in modo da permettere l'accesso alle altre voci di configurazione del kernel relative a questa gestione.
Sound card support ( 19.2.17) M
Nella maggior parte dei casi, la gestione della propria scheda audio rientra nel gruppo OSS (Open Sound System), di conseguenza dovrebbe essere necessario attivare la voce relativa. Successivamente si dovrð selezionare precisamente il tipo di scheda.
OSS sound modules ( 19.2.17) M
Se si intende realizzare un kernel modulare, come viene suggerito qui, occorre poi fare in modo che i moduli relativi vengano caricati opportunamente, soprattutto specificando i parametri necessari a raggiungere correttamente la scheda. A titolo di esempio, supponendo di disporre di una vecchia scheda SoundBlaster a 8 bit, predisposta per utilizzare l'indirizzo di I/O 0x220, il livello di IRQ 5 e il canale DMA 1, si pu? caricare il modulo relativo con il comando seguente:
#š
modprobe sb irq=5 io=0x220 dma=1
In questo modo vengono caricati automaticamente anche i moduli da cui dipende sb.o
. Lo si pu? verificare con lsmod
:
#š
lsmod
Per verificare che la scheda sia stata riconosciuta correttamente, si pu? ?interpellareË il file di dispositivo /dev/sndstat
, ovvero il file virtuale /proc/sound
:
#š
cat /dev/sndstat
#š
cat /proc/sound
OSS/Free:3.8s2++-971130 Load type: Driver loaded as a module Kernel: Linux dinkel.brot.dg 2.2.5 #4 SMP lun mag 10 15:02:40 CEST 1999 i586 ... |
In seguito, si potrð sistemare meglio la cosa inserendo nel file /etc/conf.modules
le righe seguenti:
alias sound sb options sb irq=5 io=0x220 dma=1 |
La documentazione pi? aggiornata riferita alle schede audio ø contenuta nel pacchetto dei sorgenti del kernel. Precisamente si tratta dei file contenuti nella directory |
I file di dispositivo relativi alle funzionalitð audio sono descritti nel file /usr/src/linux/Documentation/devices.txt
, assieme a tutti gli altri. Il documento in questione ø precisamente Linux allocated devices, mantenuto da Peter H. Anvin. Quello che segue ø l'estratto significativo di questo file.
[...] 13 char PC speaker 0 = /dev/pcmixer Emulates /dev/mixer 1 = /dev/pcsp Emulates /dev/dsp (8-bit) 4 = /dev/pcaudio Emulates /dev/audio 5 = /dev/pcsp16 Emulates /dev/dsp (16-bit) [...] 14 char Sound card 0 = /dev/mixer Mixer control 1 = /dev/sequencer Audio sequencer 2 = /dev/midi00 First MIDI port 3 = /dev/dsp Digital audio 4 = /dev/audio Sun-compatible digital audio 6 = /dev/sndstat Sound card status information 8 = /dev/sequencer2 Sequencer -- alternate device 16 = /dev/mixer1 Second soundcard mixer control 17 = /dev/patmgr0 Sequencer patch manager 18 = /dev/midi01 Second MIDI port 19 = /dev/dsp1 Second soundcard digital audio 20 = /dev/audio1 Second soundcard Sun digital audio 33 = /dev/patmgr1 Sequencer patch manager 34 = /dev/midi02 Third MIDI port 50 = /dev/midi03 Fourth MIDI port [...] |
A titolo di esempio, dovendo creare il dispositivo /dev/audio
, si potrebbe usare il comando seguente:
#š
mknod /dev/audio c 14 4
Sono importanti anche i permessi di questi file. In generale dovrebbero appartenere all'utente root
e al gruppo audio
, oppure sys
in sua mancanza. Inoltre, per cominciare potrebbero avere i permessi di lettura e scrittura per tutti gli utenti: 0666.
*2*
Volendo utilizzare il lettore CD-ROM per ascoltare dei CD audio normali, occorre regolare anche i permessi del dispositivo corrispondente al lettore stesso. In pratica, occorre prendersi cura del dispositivo a cui punta il collegamento simbolico /dev/cdrom
. Questo dispositivo, dal momento che ø riferito a un'unitð in sola lettura, potrebbe essere accessibile in lettura e scrittura a qualunque utente (a meno che si voglia controllare per qualche motivo). Per questo, di solito si attribuiscono i permessi 0666.
#š
chmod 0666 /dev/cdrom
Quando l'elaboratore che dispone di scheda audio ø collegato a una rete, potrebbero porsi dei problemi di sicurezza riguardo ai permessi per gli utenti comuni sui file di dispositivo di questa. Infatti, un utente che pu? accedere all'elaboratore, avrebbe la possibilitð di attivare la scheda audio e ascoltare attraverso il microfono, ammesso che questo sia collegato. Nello stesso modo potrebbe attivare il canale della linea in ingresso, e cosü tutte le altre fonti disponibili. Per questa ragione, generalmente, questi file di dispositivo sono sprovvisti del permesso di lettura per gli utenti diversi dal proprietario e dal gruppo di questi file. |
La distribuzione RedšHat ha preparato un programma che facilita la configurazione dei moduli per la gestione delle funzionalitð audio, ed eventualmente provvede anche a sistemare la configurazione Plug & Play delle schede ISA. Il programma ø molto utile, soprattutto perchù ø in grado di predisporre il file /etc/conf.modules
correttamente, e inoltre, ammesso che la scansione Plug & Play si concluda senza incidenti, si ottiene il file di configurazione /etc/isapnp.conf
corretto (e completo) per la propria scheda audio ISA Plug & Play.
*3*
sndconfig [ |
Se sndconfig
viene utilizzato senza opzioni, si prepara immediatamente a eseguire una scansione dell'hardware Plug & Play. Eventualmente, questo pu? portare anche al blocco del sistema operativo; pertanto conviene utilizzare questa verifica solo quando l'elaboratore non sta svolgendo alcuna attivitð importante (meglio ancora se il livello di esecuzione ø quello singolo). Ø molto importante che non venga avviata questa scansione se non c'ø alcuna scheda ISA di tipo Plug & Play.
L'opzione
serve per evitare che venga eseguita una scansione Plug & Play. In questo modo si potrð selezionare in modo guidato il tipo di scheda audio e gli indirizzi necessari a gestirla.
-
-
noprobe
L'opzione
serve per evitare che venga configurata automaticamente una scheda audio Plug & Play. In questo modo si lascia all'utilizzatore la scelta dei parametri di configurazione relativi.
-
-
noautoconfig
La figura
190.1 mostra la maschera di sndconfig
con la quale si indicano le caratteristiche di una vecchia scheda audio SoundBlaster (configurata attraverso ponticelli), in modo che venga generato il file /etc/conf.modules
pi? adatto (in questo caso, il file /etc/isapnp.conf
non serve perchù non si tratta di una scheda Plug & Play).
+---------------| Card Settings |----------------+ | | | Please adjust the settings below to match the | | dip switch settings on your sound card. | | | | I/O PORT IRQ DMA | | | | >0x220< 3 >1< | | 0x240 >5< | | 7 | | 9 | | | | +----+ +--------+ | | | Ok | | Cancel | | | +----+ +--------+ | | | | | +------------------------------------------------+ |
Per comprendere meglio il funzionamento di questo programma, e soprattutto per capire come ci si deve comportare con la configurazione del file /etc/isapnp.conf
, ø opportuno dare un'occhiata al capitolo
23, in particolare per quello che riguarda il pacchetto Isapnptools.
Jeff Tranter, The Linux Sound HOWTO
Documentazione del kernel
/usr/src/linux/Documentation/sound/*
---------------------------
Appunti Linux 1999.09.21 --- Copyright ? 1997-1999 Daniele Giacomini -- šdanieleš@špluto.linux.it
1.) Purtroppo, il fatto che una scheda audio sia ?compatibileË con una qualche altra scheda pi? conosciuta, non ø sufficiente per determinare che queste siano effettivamente equivalenti. In generale, a meno che si stia utilizzando una scheda audio ?originaleË che risulta individuata perfettamente nell'elenco proposto dal programma di configurazione del kernel, ø indispensabile localizzare l'integrato principale e annotare il nome o la sigla che vi appare. Con questa informazione si dovranno leggere i file di documentazione che accompagnano i sorgenti del kernel alla ricerca di notizie precise al riguardo.
2.) In seguito ø il caso di ridurre i permessi, in modo di abilitare l'accesso alle funzionalitð audio solo ad alcuni utenti.
3.) sndconfig
dovrebbe funzionare anche nelle distribuzioni diverse dalla RedšHat.