[>a2463.html>] [<a2461.html<] [^a2.html^]


Capitolo 364.   Scheda audio

364.1   Rilevare schede audio PNP

Come si fa a rilevare una scheda audio PNP?

---------

Prima di tutto il kernel deve essere compilato prevedendo l'uso dei moduli oss e dei moduli audio appositi oppure si può anche utilizzare alsadriver.

Poi si devono scaricare i moduli audio altrimenti il riconoscimento delle periferiche PNP potrebbe venire compromesso.

Questa momentanea depurazione la si ottiene con questo script:

cat /proc/modules|gawk '/^uar/{print $1}'|xargs -i rmmod {} 
cat /proc/modules|gawk '/^snd/{print $1}'|xargs -i rmmod {} 
cat /proc/modules|gawk '/^opl/{print $1}'|xargs -i rmmod {} 
cat /proc/modules|gawk '/^ad/{print $1}'|xargs -i rmmod {} 
cat /proc/modules|gawk '/^sound/{print $1}'|xargs -i rmmod {} 
cat /proc/modules|gawk '/^mpu/{print $1}'|xargs -i rmmod {} 
cat /proc/modules|gawk '/^isa/{print $1}'|xargs -i rmmod {} 

poi si deve creare il file isapnpNEW.conf per ottenere il file di configurazione generico delle periferiche PNP (e questo vale solo per le schede isa, non per le pci):

# pnpdump --config>isapnpNEW.conf[Invio]

e poi si da il comando:

# isapnp isapnpNEW.conf[Invio]

Bisogna poi inserire i moduli soundcore e sound con i seguenti comandi:

# insmod soundcore[Invio]

e:

# insmod sound[Invio]

Fatto questo bisogna inserire il modulo della scheda audio.

In ogni caso l'elenco dei moduli, le sequenze e le modalità di inserimento cambiano da scheda a scheda e sono presenti in genere nei documenti della directory /usr/src/linux/Documentation/sound/ per cui è consigliabile fare riferimento prima a tale documentazione.

364.2   Scheda audio OPTi 931S su slot ISA

Ho tentato di compilare il kernel 2.2.9 per la mia scheda audio (OPTi 931S su slot ISA) senza però risultato.

---------

La scheda funziona con i moduli OSS: la devi attivare con isapnp e inserire i moduli nel corretto ordine, per questo basta leggere nei sorgenti del kernel; il file è:

/usr/src/linux/Documentation/sound/Opti.

di cui questo è una parte:

This is the sound part of my /etc/conf.modules file.
Following that I will explain each line.

alias mixer0 mad16
alias audio0 mad16
alias midi0  mad16
alias synth0 opl3
options sb mad16=1
options mad16 irq=10 dma=0 dma16=1 io=0x530 joystick=1 cdtype=0
options opl3 io=0x388
post-install mad16 /sbin/ad1848_mixer_reroute 14 8 15 3 16 6

364.3   Riconoscimento SBLive!

Ho una SBLive!. Come faccio a farla riconoscere al mio sistema?

---------

Devi scaricarti il file emu10k1***.tar.gz dal sito della Creative, in seguito occorre ricompilare il kernel secondo le indicazioni del file README. Occorre poi impartire:

# make[Invio]

e:

# make install[Invio]

Comunque, nel kernel-2.3.99-pre6 emu10k1 è integrata. (Si può ancora compilare come modulo o come parte integrante del kernel)

364.4   Sound Blaster PCI 128 - device busy

Sto tentando di configurare la mia scheda audio, una Sound Blaster pnp PCI 128. Il sistema mi riconosce una scheda audio PCI, ma poi mi restituisce un errore:

Device or resource busy.

Lo stesso errore si verifica al momento di caricare il modulo all'avvio.

---------

Prova ad includerne il supporto nel kernel (non a dichiararla come modulo) e controlla che l'irq della scheda non sia in conflitto con qualche altro dispositivo. (la porta parallela ad esempio).

364.5   Sound Blaster PCI 64V - configurazione

Come si configura la scheda in questione?

---------

Si devono mettere queste impostazioni nel kernel:

Sezione sound:

<*> Sound card support
<*> Ensoniq AudioPCI (ES1370)

(o Creative Ensoniq AudioPCI97 ES1371)

<*> OSS sound modules
<*> 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support
(220) I/O base for SB Check from manual of the card
(7) Sound Blaster IRQ Check from manual of the card
(1) Sound Blaster DMA 0, 1 or 3
(5) Sound Blaster 16 bit DMA
(330) MPU401 I/O base of SB16, Jazz16 and ES1688
(-1) SB MPU401 IRQ
<*> Generic OPL2/OPL3 FM synthesizer support
<*> SoftOSS software wave table engine
(22050) Sampling rate for SoftOSS 8000 to 48000
(32) Max # of concurrent voices for SoftOSS 4 to 32
<*> FM synthesizer (YM3812/OPL-3) support

e in 'Additional low level sound drivers' seleziona:

<*> AWE32 synth

Bene. Questi sono le impostazioni del kernel; ricompila, riavvia e imposta i permessi giusti con i comandi:

# chmod 666 /dev/dsp[Invio]

# chmod 666 /dev/mixer[Invio]

# chmod 666 /dev/sequencer[Invio]

# chmod 666 /dev/audio[Invio]

integrando i driver nel kernel non hai poi bisogno del comando insmod.

Facendo:

# cat /dev/sndstat [Invio]

al successivo riavvio, dovrebbe mostrarti almeno, tra altre cose, un

***********
Synth devices:
0: SoftOSS
***********

Infine devi configurare la parte midi (caricare i banchi col comando sfxload)

364.6   Scheda audio Yamaha opl3-sax

Ho cercato di installare la scheda sonora Yamaha opl3-sax, ma non ci riesco.

---------

Innanzitutto dovresti attivare la scheda con isapnp, dopo esegui:

# modprobe mpu401[Invio]

# modprobe ad1848[Invio]

# modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma2=1[Invio]

# modprobe opl3 io=0x388[Invio]

(modificando opportunamente i valori).

Prova a vedere lo stato della scheda con:

# cat /dev/sndstat[Invio]

# cat /proc/modules[Invio]

e poi puoi provare il suono:

# play /usr/share/afterstep/desktop/sounds/train.au[Invio]

364.7   Avance Logic ALS 110 - configurazione

Come si fa a configurare ed usare una scheda audio Avance Logic als 110?

---------

L'unico modo che ho trovato per abilitare la als100 è quello di disabilitare il DMA 1 nel file di configurazione:

#/etc/als100.conf
(READPORT 0x020b)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING
(CONFIGURE ALS0110/-1 (LD 0
(IO 0 (BASE 0x220))
(INT 0 (IRQ  5 (MODE +E)))
(DMA 0 (CHANNEL  0))
# (DMA 1 (CHANNEL 0))
# volutamente commentato per conflitto dma
 (NAME "ALS0110/-1[0]{PnP Sound Chip }")
 (ACT Y)
))
(CONFIGURE ALS0110/-1 (LD 1
 (NAME "ALS0110/-1[1]{PnP Sound Chip }")
 (ACT Y)
))
(CONFIGURE ALS0110/-1 (LD 2
 (NAME "ALS0110/-1[2]{PnP Sound Chip }")
 (ACT Y)
))
(CONFIGURE ALS0110/-1 (LD 3
(INT 0 (IRQ 9 (MODE +E)))
 (NAME "ALS0110/-1[3]{PnP Sound Chip }")
 (ACT Y)
))
(WAITFORKEY)

Commenta le righe di /etc/conf.modules e rimuovi i moduli audio caricati; dopo riesegui:

# isapnp /etc/als100.conf[Invio]

ti dovrebbe restituire qualcosa del tipo:

Board 1 has Identity a3 ff ff ff ff 10 01 93 05:  ALS0110 Serial No -1
[checksum a3]
ALS0110/-1[0]{PnP Sound Chip      }: Port 0x220; IRQ5 DMA0 --- Enabled OK
ALS0110/-1[1]{PnP Sound Chip      }: --- Enabled OK
ALS0110/-1[2]{PnP Sound Chip      }: --- Enabled OK
ALS0110/-1[3]{PnP Sound Chip      }: IRQ9 --- Enabled OK

Prova poi a inserire i moduli sound, uart401 e sb come descritto in /usr/src/linux/sound

364.8   Scheda pnp 16 bit ISA Sound Blaster compatibile

Ho una scheda 16 bit 100% Sound Blaster compatibile ISA, ed un kernel 2.2.x ricompilato con tutto il supporto audio modulare; ho istallato e configurato isapnptools, e all'avvio qualcosa di nuovo viene riconosciuto, anche se non so se è la scheda in questione. Ora cosa devo fare?

---------

Inserisci in /etc/conf.modules le righe:

alias sound sb
pre-install sound insmod sound dmabuf=1
alias midi opl3
options opl3 io=0x388
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330

in /etc/modules inserisci solo la riga:

auto 

Ovviamente il tuo kernel deve essere ricompilato prestando attenzione che nella sezione Loadable Modules tutte e tre le opzioni siano abilitate. Ovviamente devi sostituire gli indirizzi nel caso cambiassero con quelli della tua scheda.

364.9   Riconoscimento scheda audio Sound Blaster 16 PNP

Ho una Sound Blaster 16 Vibra pnp, come faccio a farla riconoscere da Linux?

---------

Segui le istruzioni indicate in 364.1 fino al passaggio «# isapnp isapnpNEW.conf» compreso.

Poi dai i seguenti comandi:

# modprobe sound[Invio]

# insmod uart401[Invio]

# insmod sb io=0x220 irq=5 dma=1 dma16=7[Invio]

(ma questi valori li devi correggere con i tuoi)

Verifica con:

# play /usr/X11R6/lib/tkdesk/sounds/newmail.au[Invio]

o un altro suono; cercali con:

# find / -name "*.au" (o *.wav)[Invio]

Da /usr/src/linux/Documentation/sound/Soundblaster:

modprobe sound
insmod uart401
insmod sb ...

This loads the driver for the Sound Blaster and assorted clones. Cards that
are covered by other drivers should not be using this driver.

The Sound Blaster module takes the following arguments

io              I/O address of the Sound Blaster chip (0x220,0x240,0x260,0x280)
irq             IRQ of the Sound Blaster chip (5,7,9,10)
dma             8-bit DMA channel for the Sound Blaster (0,1,3)
dma16           16-bit DMA channel for SB16 and equivalent cards (5,6,7)
mpu_io          I/O for MPU chip if present (0x300,0x330)

364.10   Riconoscimento della scheda audio opl3sax

Ho una scheda audio opl3sax, come posso fare per farla riconoscere?

---------

Segui le istruzione preliminari in 364.1.

Dopo ciò carica i moduli necessari per la scheda:

Se avete comiplato i moduli OSS:

# modprobe mpu401[Invio]

# modprobe ad1848[Invio]

# modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=0 dma2=1[Invio]

# modprobe opl3 io=0x388[Invio]

sostituendo i valori validi per la vostra scheda.

Per ALSA invece:

# modprobe snd-card-opl3sa2 snd_port=0x370 snd_wss_port=0x530 \ snd_midi_port=0x300 snd_fm_port=0x388 snd_irq=5 \ snd_dma1=0 snd_dma1_size=4 snd_dma2=1 snd_dma2_size=4[Invio]

# modprobe snd-pcm1-oss.o[Invio]

# modprobe snd-mixer-oss.o[Invio]

# aumix -L[Invio]

364.11   Sound blaster PCI 64V e driver ALSA

Ho una Sound Blaster PCI 64V, integrata su scheda madre, che non riesco a far funzionare; vorrei provare con i driver ALSA. Cosa devo fare?

---------

Devi ricompilare il kernel con il solo supporto del suono, senza alcun driver specifico. Installa i driver ALSA, e modifica il file /etc/conf.modules inserendo:

       
       alias char-major-116 snd
       alias snd-card-0 snd-card-ens-1371
       
       alias char-major-14 soundcore
       alias sound-slot-0 snd-card-0
       alias sound-service-0-0 snd-mixer-oss
       alias snd-service-0-1 snd-seq-oss
       alias snd-service-0-3 snd-pcm1-oss

Se lanci il comando:

# cat /proc/modules[Invio]

dovresti ottenere qualcosa tipo:

snd-pcm1-oss           13260   0 (autoclean)
snd-card-ens1371        2332   0 (autoclean)
snd-ens1371             7824   0 (autoclean) [snd-card-ens1371]
snd-pcm1               18108   0 (autoclean) [snd-pcm1-oss snd-ens1371]
snd-timer               8380   0 (autoclean) [snd-pcm1]
snd-ac97-codec         20384   0 (autoclean) [snd-ens1371]
snd-mixer              26688   0 (autoclean) [snd-card-ens1371 snd-ac97-codec]
snd-midi               13388   0 (autoclean) [snd-card-ens1371 snd-ens1371]
snd-seq-device          3136   1 (autoclean) [snd-card-ens1371]
snd-pcm                 8812   0 (autoclean) [snd-pcm1-oss snd-card-ens1371 snd-pcm1]
snd                    34880   1 (autoclean) [snd-pcm1-osssnd-card-ens1371 snd-ens1371 sn
                                              d-pcm1 snd-timer snd-ac97-codec snd-mixer sn
                                              d-midi snd-seq-device snd-pcm]

Prova anche a dare il comando:

# cat /proc/asound/cards[Invio]

e dovresti ottenere qualcosa tipo:

0 [card1          ]: AudioPCI - Ensoniq AudioPCI
                     Ensoniq AudioPCI ES1371 at 0xe400, irq 11

Ricordati che ora il volume è impostato come muto. Fai riferimento a 348.2.

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it

[>a2463.html>] [<a2461.html<] [^a2.html^]