Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : 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
Appunti Linux: Introduzione alla gestione dell'audio e uso del lettore CD [inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]

190. Introduzione alla gestione dell'audio e uso del lettore CD

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).

190.1 Kernel per le funzionalitð audio

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.

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.

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 /usr/src/linux/Documentation/sound/. Ø importante leggere i file riferiti alla propria scheda audio, e in generale i file Introduction e README.*.

190.1.1 File di dispositivo

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.

190.1.2 # sndconfig

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 [--noprobe] [--noautoconfig]

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 --noprobe 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.

L'opzione --noautoconfig 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.

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 |         |
|        +----+               +--------+         |
|                                                |
|                                                |
+------------------------------------------------+

Figura 190.1: Configurazione manuale di una vecchia scheda di cui si conosce la configurazione hardware.

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.

190.2 Riferimenti

---------------------------

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.


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]