2003-07-17 21:54:23

by Kurt Roeckx

[permalink] [raw]
Subject: Sb16 kernel parameters.

I have an sound blaster 16, but I'm unable to get it working with
2.6.

During boot I get:
Advanced Linux Sound Architecture Driver Version 0.9.4 (Mon Jun
09 12:01:18 2003 UTC).
ALSA device list:
#0: Sound Blaster 16 at 0x220, irq 5, dma 1&5

Normally I'm using irq 7, and that has always worked for me, but
for some reason it's selecting it.

I'm still using my kernel parameter line from 2.4:
sb=0x220,7,1,5

And I tried some other things, but I'm unable to get it to work.


How am I supposed to get the IRQ of the SB16 that's compiled in
the kernel?


Kurt


2003-07-17 23:12:16

by Wes Janzen

[permalink] [raw]
Subject: Re: Sb16 kernel parameters.

You'll need to use the kernel parameter
(Documentation/kernel-parameters.txt) snd-sb16 .

Looking at the docs in the Documentation/sound/alsa directory:

Module snd-sb16 and snd-sbawe
-----------------------------

Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
SoundBlaster AWE 32 (PnP),
SoundBlaster AWE 64 PnP

port - port # for SB DSP 4.x chip (0x220,0x240,0x260)
mpu_port - port # for MPU-401 UART (0x300,0x330), -1 = disable
awe_port - base port # for EMU8000 synthesizer (0x620,0x640,0x660)
(snd-sbawe module only)
irq - IRQ # for SB DSP 4.x chip (5,7,9,10)
dma8 - 8-bit DMA # for SB DSP 4.x chip (0,1,3)
dma16 - 16-bit DMA # for SB DSP 4.x chip (5,6,7)
mic_agc - Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
csp - ASP/CSP chip support - 0 = disable (default), 1 = enable
isapnp - ISA PnP detection - 0 = disable, 1 = enable (default)

Module supports up to 8 cards, autoprobe and ISA PnP.

Note: To use Vibra16X cards in 16-bit half duplex mode, you must
disable 16bit DMA with dma16 = -1 module parameter.
Also, all Sound Blaster 16 type cards can operate in 16-bit
half duplex mode through 8-bit DMA channel by disabling their
16-bit DMA channel.

And at the end of the sb16.c file I found:

#ifndef MODULE

/* format is: snd-sb16=enable,index,id,isapnp,
port,mpu_port,fm_port,
irq,dma8,dma16,
mic_agc,csp,
[awe_port,seq_ports]

Which is probably what format you'll need to use but I don't know much
about drivers...;-)
I don't know what "id" stands for either...

Good luck!


Kurt Roeckx wrote:

>I have an sound blaster 16, but I'm unable to get it working with
>2.6.
>
>During boot I get:
>Advanced Linux Sound Architecture Driver Version 0.9.4 (Mon Jun
>09 12:01:18 2003 UTC).
>ALSA device list:
> #0: Sound Blaster 16 at 0x220, irq 5, dma 1&5
>
>Normally I'm using irq 7, and that has always worked for me, but
>for some reason it's selecting it.
>
>I'm still using my kernel parameter line from 2.4:
>sb=0x220,7,1,5
>
>And I tried some other things, but I'm unable to get it to work.
>
>
>How am I supposed to get the IRQ of the SB16 that's compiled in
>the kernel?
>
>
>Kurt
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>

2003-07-18 09:48:31

by Takashi Iwai

[permalink] [raw]
Subject: Re: Sb16 kernel parameters.

At Thu, 17 Jul 2003 18:27:05 -0500,
Wes Janzen wrote:
>
> And at the end of the sb16.c file I found:
>
> #ifndef MODULE
>
> /* format is: snd-sb16=enable,index,id,isapnp,
> port,mpu_port,fm_port,
> irq,dma8,dma16,
> mic_agc,csp,
> [awe_port,seq_ports]
>
> Which is probably what format you'll need to use but I don't know much
> about drivers...;-)
> I don't know what "id" stands for either...

enable, index and id are common options for all modules.
the id is the identifier string for this card instance and must be
unique. it's used as the directory name in /proc/asound, as the tag
in /etc/asound.state, and so on.
you can pass the arbitray string via option, or the null string so
that the driver chooses an approriate name.


Takashi

2003-07-18 18:46:02

by Kurt Roeckx

[permalink] [raw]
Subject: Re: Sb16 kernel parameters.

On Thu, Jul 17, 2003 at 06:27:05PM -0500, Wes Janzen wrote:
> You'll need to use the kernel parameter
> (Documentation/kernel-parameters.txt) snd-sb16 .
>
> Looking at the docs in the Documentation/sound/alsa directory:

I did look at both, the alsa documentation wasn't that clear.

It doesn't say what fm_port is, in what order the parameters are.

> And at the end of the sb16.c file I found:
>
> #ifndef MODULE
>
> /* format is: snd-sb16=enable,index,id,isapnp,
> port,mpu_port,fm_port,
> irq,dma8,dma16,
> mic_agc,csp,
> [awe_port,seq_ports]
>
> Which is probably what format you'll need to use but I don't know much
> about drivers...;-)

Ah, didn't find that.

I tried using things like:
snd-sb16=1,0,card1,0,0x220,-1,-1,7,1,5,0

But when booting the kernel with that parameter, just after
"booting the kernel", it reboots. Without that parameter it
boots normally.


Kurt

2003-07-18 18:57:15

by jw schultz

[permalink] [raw]
Subject: Re: Sb16 kernel parameters.

On Fri, Jul 18, 2003 at 11:53:26AM +0200, Takashi Iwai wrote:
> At Thu, 17 Jul 2003 18:27:05 -0500,
> Wes Janzen wrote:
> >
> > And at the end of the sb16.c file I found:
> >
> > #ifndef MODULE
> >
> > /* format is: snd-sb16=enable,index,id,isapnp,
> > port,mpu_port,fm_port,
> > irq,dma8,dma16,
> > mic_agc,csp,
> > [awe_port,seq_ports]
> >
> > Which is probably what format you'll need to use but I don't know much
> > about drivers...;-)
> > I don't know what "id" stands for either...
>
> enable, index and id are common options for all modules.
> the id is the identifier string for this card instance and must be
> unique. it's used as the directory name in /proc/asound, as the tag
> in /etc/asound.state, and so on.
> you can pass the arbitray string via option, or the null string so
> that the driver chooses an approriate name.

I've not been testing 2.5 yet and perhaps some of what you
said would make more sense if i had but i for one haven't a
clue to what the string equivalent to "sb=0x220,7,1,5" would
be or where i might specify it. It's been a couple of years
since i did the digging to figure out i needed the sb= line
and what the contents should be.

How to do this needs to go into the 2.4-2.6 migration
document/FAQ. And it should go in in a rather explicit way
on the order of "if for SB16 you have been using
sb=0x220,7,1,5 as a boot parameter you would now need to use
XXXX=XXXXXXXXXX as ZZZZZ.

--
________________________________________________________________
J.W. Schultz Pegasystems Technologies
email address: [email protected]

Remember Cernan and Schmitt

2003-07-20 12:20:51

by Kurt Roeckx

[permalink] [raw]
Subject: Re: Sb16 kernel parameters.

On Fri, Jul 18, 2003 at 09:00:55PM +0200, Kurt Roeckx wrote:
>
> I tried using things like:
> snd-sb16=1,0,card1,0,0x220,-1,-1,7,1,5,0
>
> But when booting the kernel with that parameter, just after
> "booting the kernel", it reboots. Without that parameter it
> boots normally.

I just tried the OSS version instead.

During boot I now always get:
sb: Init: Starting Probe...
sb: Error: At least io, irq, and dma must be set for legacy cards.
sb: Init: Done

I tried using the parameters sb=0x220,7,1,5 and
snd-sb16=1,0,card1,0,0x220,-1,-1,7,1,5,0
but neither seems to work.


Kurt