This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

Configurazione della Scheda Audio

16.2 Configurazione della Scheda Audio

Contributo di Moses Moore.

16.2.1 Riconoscimento del Proprio Dispositivo

Prima di iniziare, dovresti conoscere il modello della scheda che possiedi, il chip che utilizza, e se è una scheda PCI o ISA. FreeBSD supporta una grande varietà di schede sia PCI che ISA. Se non vedi la tua scheda nella lista seguente, controlla la pagina man di pcm(4). Questa non è una lista completa; tuttavia, comprende le schede più comuni.

Per usare il tuo dispositivo audio, dovrai caricare i driver corretti. Questo può essere fatto in due modi. Il metodo più semplice consiste semplicemente nel caricare un modulo nel kernel per la tua scheda audio con kldload(8). Alternativamente, puoi compilare staticamente il supporto per la tua scheda audio nel kernel. Le sezioni seguenti forniscono le informazioni di cui hai bisogno per aggiungere il supporto al tuo hardware con questo metodo. Per informazioni aggiuntive su come ricompilare il kernel, guarda il Capitolo 9.

16.2.1.1 Schede Audio Creative, Advance, e ESS

Se hai una delle suddette schede, dovrai aggiungere:

    device pcm

al file di configurazione del kernel. Se hai una scheda ISA PnP, dovrai aggiungere inoltre:

    device sbc

Per una scheda ISA non PnP, aggiungi:

    device pcm
    device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15

al file di configurazione del kernel. Le impostazioni appena viste sono quelle di default. Potresti aver bisogno di cambiare IRQ o altre impostazioni per identificare la tua scheda. Guarda la pagina man di sbc(4) per ulteriori informazioni.

Nota: La Sound Blaster Live non è supportata sotto FreeBSD 4.0 senza l'uso di una patch, di cui questa sezione non si occuperà. È consigliato l'aggiornamento all'ultima -STABLE prima di provare ad usare questa scheda.

16.2.1.2 Schede Gravis UltraSound

Per una scheda ISA PnP, dovrai aggiungere:

    device pcm
    device gusc

al file di configurazione del kernel. Se hai una scheda ISA non PnP, dovrai aggiungere:

    device pcm
    device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13

al file di configurazione del kernel. Potresti aver bisogno di cambiare IRQ o altre impostazioni per identificare la tua scheda. Guarda la pagina man di gusc(4) per ulteriori informazioni.

16.2.1.3 Schede Crystal Sound

Per le schede Crystal, dovrai aggiungere:

    device pcm
    device csa

al file di configurazione del kernel.

16.2.1.4 Supporto Generico

Per schede ISA o PCI PnP, dovrai aggiungere:

    device pcm

al file di configurazione del kernel. Se hai una scheda audio ISA non PnP che non ha un driver bridge, dovrai aggiungere:

    device pcm0 at isa? irq 10 drq 1 flags 0x0

al file di configurazione del kernel. Potresti aver bisogno di cambiare IRQ o altre impostazioni per identificare la tua scheda.

16.2.1.5 Sonoro Integrato

Qualche sistema con dispositivi audio integrati nella scheda madre può richiedere l'opzione seguente nella configurazione del kernel:

    options PNPBIOS

16.2.2 Creazione e Test dei Dispositivi

Dopo aver riavviato, loggati e cerca il dispositivo nel file /var/run/dmesg.boot, come mostrato qui sotto:

    # grep pcm /var/run/dmesg.boot
    pcm0: <SB16 DSP 4.11> on sbc0

L'output del tuo sistema può essere differente. Se non appare nessun dispositivo pcm, qualcosa è andato storto in precedenza. Se questo accade, riguarda il file di configurazione del kernel e assicurati di aver scelto il dispositivo corretto. I problemi più comuni sono elencati nella Sezione 16.2.2.1.

Nota: Se stai usando FreeBSD 5.0 o seguenti, puoi tranquillamente saltare il resto di questa sezione. Queste versioni usano devfs(5) per creare automaticamente i dispositivi.

Se il precedente comando ha restituito pcm0, dovrai eseguire il seguente come root:

    # cd /dev
    # sh MAKEDEV snd0

Se il comando ha restituito pcm1, segui gli stessi passi mostrati qui sopra, sostituendo snd0 con snd1.

Nota: I suddetti comandi non creeranno un dispositivo /dev/snd!

MAKEDEV creerà un gruppo di dispositivi, comprendente:

Dispositivo Descrizione
/dev/audio Dispositivo audio compatibile SPARC
/dev/dsp Dispositivo per la voce digitalizzata
/dev/dspW Come /dev/dsp, ma con 16 bit per canale
/dev/midi Dispositivo per l'accesso midi in modalità diretta
/dev/mixer Dispositivo per il controllo del mixer
/dev/music Interfaccia di secondo livello al sequenziatore
/dev/sequencer Sequenziatore
/dev/pss Interfaccia di dispositivo programmabile

Se tutto va bene, ora dovresti avere una scheda audio funzionante. Se il tuo drive CD-ROM o DVD-ROM è collegato correttamente alla scheda audio, puoi inserire un CD nel drive e riprodurlo con cdcontrol(1):

    % cdcontrol -f /dev/acd0c play 1

Varie applicazioni, come audio/workman offrono una migliore interfaccia. Potresti voler installare una applicazione come audio/mpg123 per ascoltare i file audio MP3.

16.2.2.1 Problemi Comuni

Errore Soluzione
``unsupported subdevice XX''

Non è stato creato correttamente qualche dispositivo. Ripeti i precedenti passi.

``sb_dspwr(XX) timed out''

Non è stata impostata correttamente la porta di I/O.

``bad irq XX''

È stato configurato erroneamente l'IRQ. Assicurati che l'IRQ impostato e quello della scheda siano gli stessi.

``xxx: gus pcm not attached, out of memory''

Non c'è abbastanza memoria disponibile per usare il dispositivo.

``xxx: can't open /dev/dsp!''

Controlla con fstat | grep dsp se un'altra applicazione sta usando il dispositivo. Esound e il supporto audio di KDE sono famosi per creare problemi.

16.2.3 Utilizzo di Sorgenti Audio Multiple

Contributo di Munish Chopra.

È spesso desiderabile avere più sorgenti di audio che siano in grado di suonare contemporaneamente, per esempio quando esound o artsd non supportano la condivisione del dispositivo audio con una certa applicazione.

FreeBSD ti permette di fare questo attraverso i Virtual Sound Channels, che possono essere impostati con sysctl(8). I canali virtuali permettono di multiplexare i canali di riproduzione della tua scheda audio mixando l'audio nel kernel.

Per impostare il numero dei canali virtuali, ci sono due variabili sysctl che, se sei l'utente root, possono essere impostate così:

    # sysctl hw.snd.pcm0.vchans=4
    # sysctl hw.snd.maxautovchans=4

L'esempio qui sopra alloca quattro canali viruali, che è un numero adatto all'uso di ogni giorno. hw.snd.pcm0.vchans è il numero dei canali virtuali che ha pcm0, ed è configurabile una volta che il dispositivo è collegato. hw.snd.maxautovchans è il numero dei canali virtuali che vengono dati a un nuovo dispositivo audio quando viene collegato tramite kldload(8). Visto che il modulo pcm può essere caricato indipendentemente dai driver dell'hardware, hw.snd.maxautovchans può contenere tanti canali virtuali quanti ne verranno allocati successivamente ad ogni dispositivo collegato.

Se non stai usando devfs(5), dovrai indirizzare la tua applicazione su /dev/dsp0.x, dove x va da 0 a 3 se hw.snd.pcm.0.vchans è impostato a 4 come nel precedente esempio. Su un sistema che usa devfs(5), questo verrà fatto automaticamente in modo trasparente per l'utente.

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.