2001-03-29 08:17:29

by Klaus Reimer

[permalink] [raw]
Subject: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Hi,

I have switched from 2.2.17 to 2.4.2 and now the sound is no longer working
on my Toshiba Tecra 8000 Notebook. In 2.2.17 I used the following modules:

mpu401
ad1848
opl3sa2 io=0x538 mss_io=0x530 mpu_io=0x330 irq=5 dma=1 dma2=0
opl3 io=0x388

This was working perfectly. I was able to control all mixer settings, the
microphone was working and xmms was able to play nice sounds.

Then I have switched to kernel 2.4.2 and now the kernel says:

2001-03-29 10:02:50.054774500 {kern|info} kernel: ad1848/cs4248 codec driver
Copyright (C) by Hannu Savolainen 1993-1996
2001-03-29 10:02:50.070692500 {kern|notice} kernel: opl3sa2: No cards found
2001-03-29 10:02:50.070703500 {kern|notice} kernel: opl3sa2: 0 PnP card(s)
found.

I have nothing changed in the BIOS of the Notebook. I have set up a dual boot
so I can switch back to kernel 2.2.17 and the sound is still working there.

I was able to enable the 8 Bit Soundblaster emulation of the Tecra with these
modules:

uart401
sb io=0x220 irq=5 dma=0 mpu_io=0x330
opl3 io=0x388

But this is very ugly. I can't control all mixer settings, the microphone is
not working and xmms is playing scratching noise (mpg123 is working)

What happened to the kernel? How can I use the opl3sa2 driver in kernel 2.4?

--
Bye, K
[a735 47ec d87b 1f15 c1e9 53d3 aa03 6173 a723 e391]
(Finger [email protected] to get public key)


2001-03-29 15:48:22

by Bill Nottingham

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Klaus Reimer ([email protected]) said:
> 2001-03-29 10:02:50.054774500 {kern|info} kernel: ad1848/cs4248 codec driver
> Copyright (C) by Hannu Savolainen 1993-1996
> 2001-03-29 10:02:50.070692500 {kern|notice} kernel: opl3sa2: No cards found
> 2001-03-29 10:02:50.070703500 {kern|notice} kernel: opl3sa2: 0 PnP card(s)
> found.

Add 'isapnp=0' to the end of the options in your modules.conf.
I *believe* this is fixed in a later kernel (2.4.3pre or 2.4.2ac).

Bill

2001-03-29 16:23:43

by Klaus Reimer

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Hi,

> > 2001-03-29 10:02:50.054774500 {kern|info} kernel: ad1848/cs4248 codec
> > driver Copyright (C) by Hannu Savolainen 1993-1996
> > 2001-03-29 10:02:50.070692500 {kern|notice} kernel: opl3sa2: No cards
> > found 2001-03-29 10:02:50.070703500 {kern|notice} kernel: opl3sa2: 0 PnP
> > card(s) found.
> Add 'isapnp=0' to the end of the options in your modules.conf.
> I *believe* this is fixed in a later kernel (2.4.3pre or 2.4.2ac).

If I am doing this, I can't even load the module and I get the following
message in syslog:

2001-03-29 18:13:14.184156500 {kern|err} kernel: opl3sa2: Control I/O port
0x0 not free

What is that "control i/o port"? Is this normally 0x100? What is the module
parameter to specify this io port? The documentation only mentions "io",
"mpu_io" and "mss_io" but I have specified these parameters already:

modprobe opl3sa2 io=0x538 mss_io=0x530 mpu_io=0x330 irq=5 dma=1 dma2=0
isapnp=0

--
Bye, K
[a735 47ec d87b 1f15 c1e9 53d3 aa03 6173 a723 e391]
(Finger [email protected] to get public key)

2001-03-29 16:27:53

by Bill Nottingham

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Klaus Reimer ([email protected]) said:
> If I am doing this, I can't even load the module and I get the following
> message in syslog:
>
> 2001-03-29 18:13:14.184156500 {kern|err} kernel: opl3sa2: Control I/O port
> 0x0 not free
>
> What is that "control i/o port"? Is this normally 0x100?

I believe it can be, but I remember it usually being something
like 0x370 or so.

> What is the module
> parameter to specify this io port? The documentation only mentions "io",
> "mpu_io" and "mss_io" but I have specified these parameters already:
>
> modprobe opl3sa2 io=0x538 mss_io=0x530 mpu_io=0x330 irq=5 dma=1 dma2=0
> isapnp=0

It would be what you put in the io= parameter. 0x538 does *not* look
right.

Bill

2001-03-29 18:23:54

by Klaus Reimer

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Hi,

> > modprobe opl3sa2 io=0x538 mss_io=0x530 mpu_io=0x330 irq=5 dma=1 dma2=0
> > isapnp=0
> It would be what you put in the io= parameter. 0x538 does *not* look
> right.

These are the sound-settings in the BIOS:

WSS I/O: 0x530
SBPro I/O: 0x220
Synth I/O: 0x388
IRQ: 5
WSS (Play) DMA: 1
WSS (Rec) DMA & SBPro-DMA: 0
Control I/O: 0x538
MPU I/O: 0x330

The BIOS does not let me modify the I/O settings for Synth, Control and MPU.
And as I said: The opl3sa2 module was working perfectly in kernel 2.2.17 with
these settings. And I wonder why the message in syslog says "0x0", no matter
what I/O address I have specified with the io= parameter.

--
Bye, K
[a735 47ec d87b 1f15 c1e9 53d3 aa03 6173 a723 e391]
(Finger [email protected] to get public key)

2001-03-29 18:40:54

by Bill Nottingham

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Klaus Reimer ([email protected]) said:
> Hi,
>
> > > modprobe opl3sa2 io=0x538 mss_io=0x530 mpu_io=0x330 irq=5 dma=1 dma2=0
> > > isapnp=0
> > It would be what you put in the io= parameter. 0x538 does *not* look
> > right.
>
> These are the sound-settings in the BIOS:
>
> WSS I/O: 0x530
> SBPro I/O: 0x220
> Synth I/O: 0x388
> IRQ: 5
> WSS (Play) DMA: 1
> WSS (Rec) DMA & SBPro-DMA: 0
> Control I/O: 0x538
> MPU I/O: 0x330

Hm, OK, then never mind. :) I don't have an opl3sa2 here to test
how well the current driver works.

Bill

2001-03-29 19:17:14

by Klaus Reimer

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Hi,

> > Control I/O: 0x538
> > MPU I/O: 0x330
> Hm, OK, then never mind. :) I don't have an opl3sa2 here to test
> how well the current driver works.

I have the feeling that there is going something wrong with the parameters. I
modified the opl3sa2 driver and manually set the hw_config->io_base variable
to 0x538 and now THIS part of the sound card initialization is working. But
now it says that there is an I/O conflict with MSS. Maybe this parameter is
also 0x0 and not 0x530 as I specified with the mss_io parameter... I will
investigate further...

--
Bye, K
[a735 47ec d87b 1f15 c1e9 53d3 aa03 6173 a723 e391]
(Finger [email protected] to get public key)

2001-03-29 20:01:16

by Klaus Reimer

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Hi,

> > Hm, OK, then never mind. :) I don't have an opl3sa2 here to test
> > how well the current driver works.
> I have the feeling that there is going something wrong with the parameters.
> I modified the opl3sa2 driver and manually set the hw_config->io_base
> variable to 0x538 and now THIS part of the sound card initialization is
> working. But now it says that there is an I/O conflict with MSS. Maybe this
> parameter is also 0x0 and not 0x530 as I specified with the mss_io
> parameter... I will investigate further...

Hm... I found this somewhere near line 920 in opl3sa2.c. I am not a kernel
hacker and this is first time I took a look into a kernel source code but
this first "if" statement is not looking right to me. The initialization of
the cfg[card] struct is what I need to be executed, but it is never executed
because the variable "io" is never -1. I have removed the io == -1 condition
from the first if-statement and now the driver is working. But it's still not
the same quality as the one in kernel 2.2.17: I have no access to the mixer
settings "bass" and "treble". But better than nothing and better than the
8Bit-Soundblaster emulation. I hope this is working better in the next
release.

if(!isapnp && io == -1 ) {
if(io == -1 || irq == -1 || dma == -1 ||
dma2 == -1 || mss_io == -1) {
printk(KERN_ERR
"opl3sa2: io, mss_io, irq, dma, [...]
return -EINVAL;
}

cfg[card].io_base = io;
cfg[card].irq = 0;
cfg[card].dma = -1;
cfg[card].dma2 = -1;
[....]

--
Bye, K
[a735 47ec d87b 1f15 c1e9 53d3 aa03 6173 a723 e391]
(Finger [email protected] to get public key)

2001-03-30 09:27:29

by Jens Taprogge

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

The same problem exists for the Toshiba 4000CDS. I think it is because
the OPL3SA2 in these machines is not using PNP.

Probably the support for non-PNP chips broke during the recent update of
the driver (2.4.0 works perfectly).

Jens

On Thu, Mar 29, 2001 at 10:12:40AM +0200, Klaus Reimer wrote:
> Hi,
>
> I have switched from 2.2.17 to 2.4.2 and now the sound is no longer working
> on my Toshiba Tecra 8000 Notebook. In 2.2.17 I used the following modules:
--
Jens Taprogge

2001-03-30 10:40:09

by arobertson

[permalink] [raw]
Subject: Re: opl3sa2 in 2.4.2 on Toshiba Tecra 8000

Klaus Reimer ([email protected]) said:> 2001-03-29
10:02:50.054774500 {kern|info} kernel: ad1848/cs4248
codec driver
> Copyright (C) by Hannu Savolainen 1993-1996
> 2001-03-29 10:02:50.070692500 {kern|notice} kernel:
opl3sa2: No cards found
> 2001-03-29 10:02:50.070703500 {kern|notice} kernel:
opl3sa2: 0 PnP card(s)
> found.

Tried to post this from another account yesterday but it
seemed to go awol :)

I had a similar problem when I moved from 2.4.1 to 2.4.2
with a tecra 8000.

The solution was to use 2.4.2ac20 which appears to solve
the problem. The opl3 code changed between kernel
versions.No BIOS or modules.conf were harmed....

Rgds,

Alan


----------------------------------------------------------------
Get your free email from AltaVista at http://altavista.iname.com