Linux Sound Config Problem

I am using a Creative Labs Vibra 16 PnP under Slackware Linux (kernel version 2.0.35) with sound support configured as a module with these settings:
CONFIG_SOUND=m
CONFIG_SB=y
CONFIG_ADLIB=y                          
CONFIG_AUDIO=y
CONFIG_YM3812=y
SBC_BASE=220
SBC_IRQ=5
SBC_DMA=1
SB_DMA2=3
SB_MPU_BASE=0
SB_MPU_IRQ=-1
DSP_BUFFSIZE=65536

Because the card is PnP I am using isapnp to wake it up here is the relevent config:
(READPORT 0x0203)
(ISOLATE PRESERVE)
(IDENTIFY *)
(CONFIGURE CTL00f0/-1 (LD 0
#     ANSI string -->Audio<--
#       IRQ 5.
(INT 0 (IRQ 5 (MODE +E)))
#       First DMA channel 1.
(DMA 0 (CHANNEL 1))
#       Next DMA channel 5. (was 3)
(DMA 1 (CHANNEL 5))
(IO 0 (BASE 0x0220))
(IO 1 (BASE 0x0330))
(IO 2 (BASE 0x0388))

(ACT Y)
))

Here's the question:
After "isapnp /etc/isapnp.conf" and then loading the sound module I can "cat some.au > /dev/audio" and here it playing however, when attempting to play an MP3 I get this error: Sound: DMA (output) timed out - IRQ/DRQ config error?

Please help <g> This one has been puzzling me.
LVL 1
mikegrbAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
nicademusConnect With a Mentor Commented:
Rebuild the Sound Module
Using the settings that ISAPNP gives you, since, remembering that where it says in the /proc/dma file as Sb 8 is the 8 bit DMA or LOW and SB16 is the 16 bit or HIGH, just use the DIAGNOSE program from DOS for your card to confirm that these settings are correct, or if you don't want the hassle of changing the kernel and conf.modules, etc just change the CARD's settings using  the DIAGNOSE prog. or even getting Windows to change the settings, it will change PNP settings without a prob.

Then when ISAPNP runs it will update isapnp.conf and Bob's ya' uncle.


Leigh
0
 
guiyuCommented:
Could it be because you specified in your kernel

SBC_DMA=1
SB_DMA2=3

but in isapnp.conf you initialize it with DMA 0 and 1 instead?

Anyway, were the dma channels successfully allocated?
      cat /proc/dma

I would try setting in isapnp.conf to use DMA 1 and 3, as specified in the kernel.
0
 
mikegrbAuthor Commented:
bash# cat /proc/dma
 1: Sound Blaster8
 4: cascade
 5: Sound Blaster16

NOTE:
(DMA 1 (CHANNEL 5))
    ^                            ^
    |                             |
  sets DMA 1 to   channel 5 (aka  DMA 5)
(1 as in 2 b/c 0 is DMA 1 so 1 is DMA 2)
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
mikegrbAuthor Commented:
Also... when playing the mp3 (when it seems to work (aka doesn't give above error)) It will go slowly aka the position counter will say that it is 7 secs into file after "playing"  for about 3 min or so this happens with every mp3 player I have tried using.
0
 
guiyuCommented:
Yes, I stand corrected for the error.

I would try using channels 6,7 for the 16-bit DMA. i.e. setting
in /etc/isapnp.conf

#       Next DMA channel 5. (was 3)
(DMA 1 (CHANNEL 6))

or

(DMA 1 (CHANNEL 7))

and reinitialize/rewake the card.

If the above does not work, I would set the kernel parameter

SB_DMA2={5,6,7}

and recompile the kernel. Note that only {5,6,7} are 16-bit DMA channels.

(Normally you shoudn't need to specify SB_DMA2 at all, unless you want to compile the sound into the kernel)
0
 
guiyuCommented:
Also, make sure you have the same resource settings in

/etc/conf.modules or /etc/modules
0
All Courses

From novice to tech pro — start learning today.