Bug 25085 - No sound with Yamaha OPL-3 SaX
No sound with Yamaha OPL-3 SaX
Status: CLOSED ERRATA
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.1
i386 Linux
high Severity medium
: ---
: ---
Assigned To: Pete Zaitcev
Brock Organ
Florence RC-2
:
: 25213 29527 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-01-27 13:12 EST by Gerald Teschl
Modified: 2007-03-26 23:39 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-06-26 05:10:19 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
opl3sa patch for kernel 2.4.2-0.1.49 (1.14 KB, patch)
2001-04-06 08:18 EDT, Gerald Teschl
no flags Details | Diff

  None (edit)
Description Gerald Teschl 2001-01-27 13:12:06 EST
Sound is broken in kernel-2.4.0-0.99.11. Works fine with
kernel-2.4.0-0.43.12.
Comment 1 Arjan van de Ven 2001-01-29 04:55:41 EST
What soundcard ?
Comment 2 Glen Foster 2001-01-29 18:47:00 EST
*** Bug 25213 has been marked as a duplicate of this bug. ***
Comment 3 Glen Foster 2001-01-29 19:03:39 EST
This defect is considered MUST-FIX for Florence Release-Candidate #2
Comment 4 Arjan van de Ven 2001-01-31 07:39:00 EST
From Bug 25213:
------------------------
sndconfig adds the line

alias midi opl3
into /etc/modules.conf for midi, which was correct for 2.2 but 
not for 2.4 (which seems to need alias synth0 opl3).
The sound test works ok even without this, but that's because sndconfig
loads the module manually.
--------------------------
Sounds like a sndconfig bug, not a kernel bug.
Comment 5 Gerald Teschl 2001-02-08 08:02:09 EST
Its a Yamaha OPL-3 Sa3 I guess (don't know for sure).

I did some further testing:
Here is the relevant part of my /etc/modules.conf
--------------
alias sound-slot-0 opl3sa2
options sound dmabuf=1
alias midi opl3
options opl3 io=0x388
options opl3sa2 mss_io=0x530 irq=5 dma=0 dma2=1 mpu_io=0x330 io=0x370
---------------
I have set the OS type in the BIOS to Other (i.e. not Win98/2000). However, this
makes no difference.

The isapnp tools seem to be happy and set up the card correctly:
[root@soliton gerald]# isapnp /etc/isapnp.conf
Board 1 has Identity 0f ff ff ff ff 00 08 a8 65:  YMH0800 Serial No -1 [checksum
0f]
YMH0800/-1[0]{YAMAHA OPL3-SAx Audio System}: Ports 0x220 0x530 0x388 0x330
0x370; IRQ5 DMA0 DMA1 --- Enabled OK
YMH0800/-1[1]{YAMAHA OPL3-SAx Audio System}: Port 0x201; --- Enabled OK

The sound and midi modules get inserted without error. However, sound does not
work but
midi does! If I boot the 2.4.0-0.43.12 everything works fine.
Comment 6 Bill Nottingham 2001-02-08 12:52:32 EST
Reassigning back to kernel; if the modules load correctly and it still doesn't
work, that's not a sndconfig problem.
Comment 7 Gerald Teschl 2001-02-08 14:37:02 EST
I noted that the drivers in 2.4.0-0.43.12 and 2.4.0-0.99.xx must be different
since the latter one
recognizes the "ymode" option. I also tried the "isapnp=0|1" option but it made
no difference.
Moreover, it looks like the opl3sa2 module does not find the card:

Feb  8 20:38:20 soliton kernel: ad1848/cs4248 codec driver Copyright (C) by
Hannu Savolainen 1993-1996
Feb  8 20:38:20 soliton kernel: opl3sa2: ISA PnP activate failed
Feb  8 20:38:20 soliton kernel: opl3sa2: No cards found
Feb  8 20:38:20 soliton kernel: opl3sa2: 0 PnP card(s) found.


On the other hand, the opl3 module does find the card

Feb  8 20:38:56 soliton kernel: YM3812 and OPL-3 driver Copyright (C) by Hannu
Savolainen, Rob Hooft 1993-1996

and playing midi files works fine.
Comment 8 Arjan van de Ven 2001-02-14 07:06:45 EST
So if you change your modules.conf to load the opl3.o instead of the
opl3sa.o, it works ?
That should be easy to change in the sndconfig tool for us.
Comment 9 Arjan van de Ven 2001-02-14 07:07:51 EST
So if you change your modules.conf to load the opl3.o instead of the
opl3sa.o, it works ?
That should be easy to change in the sndconfig tool for us.
Comment 10 Gerald Teschl 2001-02-14 17:40:58 EST
No. opl3 is the module which controls the midi playback. This one works. opl3sa2
is needed
for regular audio support (palyback of .au files). This one does not work. They
are both needed.
Comment 11 Gerald Teschl 2001-02-19 08:01:40 EST
Still broken in kernel-2.4.1-0.1.9.i686.rpm.
Comment 12 Gerald Teschl 2001-02-28 11:38:57 EST
Just found out that using the option "isapnp=0" it will work with
kernel-2.4.1-0.1.9.i686.rpm.
However, it is broken again in kernel-2.4.1-0.1.14.i686.rpm:-(
Comment 13 Bill Nottingham 2001-03-01 00:54:43 EST
I think Alan just fixed this in ac-latest. We should probably pick up
that patch...
Comment 14 worldwideweber 2001-03-01 08:15:49 EST
*** Bug 29527 has been marked as a duplicate of this bug. ***
Comment 15 Gerald Teschl 2001-03-01 09:48:41 EST
Works in kernel-2.4.2-0.1.16.

For the records: /etc/modules.conf
----------------------------------
options sound dmabuf=1
alias synth0 opl3
options opl3 io=0x388
options opl3sa2 mss_io=0x530 irq=5 dma=0 dma2=1 mpu_io=0x330 io=0x370 ymode=2
isapnp=0
Comment 16 Gerald Teschl 2001-03-02 12:27:48 EST
Suddenly stopped working. Still same kernel/setup. The module will not load:

opl3sa2: Control I/O port 0x0 not free
Comment 17 Gerald Teschl 2001-03-23 09:55:34 EST
Still present in kernel-2.4.2-0.1.32
Comment 18 worldwideweber 2001-03-23 11:35:21 EST
I don't know which exact kernel this is: 
kernel-2.4.2-0.1.32

But I know that the Yamaha OPL3SA2 stuff works with 
the following:

linux-2.4.2-ac8
linux-2.4.3-pre[3-6]
Comment 19 Trond Eivind Glomsrxd 2001-03-29 15:44:10 EST
What's the output of "lspci"? Is this a desktop or a laptop?
Comment 20 Gerald Teschl 2001-03-30 03:11:15 EST
This is an ASUS L7300 laptop (see hw list #12). Still broken with
kernel-2.4.2-0.1.40 (qa0328).
I tested both isapnp=1 (will say: No cards found) and isapnp=0 (will say:
Control I/O port 0x0 not free).

I don't understand what lspci is good for since it is an isa card. I'm adding
/proc/isapnp
as well.


[root@soliton /root]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (AGP
disabled) (rev 03)
00:02.0 VGA compatible controller: Silicon Motion, Inc. SM910 (rev b5)
00:07.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
00:0a.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 02)
00:0a.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 02)

[root@soliton /root]# cat /proc/isapnp
Card 1 'YMH0800:YAMAHA OPL3-SAx Audio System' PnP version 1.0
  Logical device 0 'YMH0021:Unknown'
    Device is active
    Active port 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
    Active IRQ 255 [0xff],255 [0xff]
    Active DMA 255,255
    Active memory 0xffffffff,0xffffffff,0xffffffff,0xffffffff
    Resources 0
      Priority preferred
      Port 0x220-0x220, align 0xf, size 0x10, 16-bit address decoding
      Port 0x530-0x530, align 0x7, size 0x8, 16-bit address decoding
      Port 0x388-0x388, align 0x7, size 0x8, 16-bit address decoding
      Port 0x330-0x330, align 0x1, size 0x2, 16-bit address decoding
      Port 0x370-0x370, align 0x1, size 0x2, 16-bit address decoding
      IRQ 5 High-Edge
      DMA 0 8-bit byte-count type-A
      DMA 1 8-bit byte-count type-A
      Alternate resources 0:1
        Priority acceptable
        Port 0x240-0x240, align 0xf, size 0x10, 16-bit address decoding
        Port 0xe80-0xe80, align 0x7, size 0x8, 16-bit address decoding
        Port 0x388-0x388, align 0x7, size 0x8, 16-bit address decoding
        Port 0x300-0x300, align 0x1, size 0x2, 16-bit address decoding
        Port 0x370-0x376, align 0x1, size 0x2, 16-bit address decoding
        IRQ 5,7,2/9,10,11 High-Edge
        DMA 0 8-bit byte-count type-A
        DMA 1 8-bit byte-count type-A
      Alternate resources 0:2
        Priority functional
        Port 0x220-0x280, align 0xf, size 0x10, 16-bit address decoding
        Port 0x530-0xf48, align 0x7, size 0x8, 16-bit address decoding
        Port 0x388-0x3f8, align 0x7, size 0x8, 16-bit address decoding
        Port 0x300-0x334, align 0x1, size 0x2, 16-bit address decoding
        Port 0x370-0x376, align 0x1, size 0x2, 16-bit address decoding
        IRQ 3,5,7,2/9,10,11 High-Edge
        DMA 0 8-bit byte-count type-A
        DMA 1 8-bit byte-count type-A
  Logical device 1 'YMH0022:Unknown'
    Compatible device PNPb02f
    Device is active
    Active port 0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
    Active IRQ 255 [0xff],255 [0xff]
    Active DMA 255,255
    Active memory 0xffffffff,0xffffffff,0xffffffff,0xffffffff
    Resources 0
      Priority preferred
      Port 0x201-0x201, align 0x0, size 0x1, 16-bit address decoding
      Alternate resources 0:1
        Priority acceptable
        Port 0x202-0x202, align 0x0, size 0x1, 16-bit address decoding
      Alternate resources 0:2
        Priority acceptable
        Port 0x203-0x203, align 0x0, size 0x1, 16-bit address decoding
      Alternate resources 0:3
        Priority acceptable
        Port 0x204-0x20f, align 0x0, size 0x1, 16-bit address decoding
Comment 21 Gerald Teschl 2001-04-06 08:17:28 EDT
This is still broken in qa0404/kernel-2.4.2-0.1.49. However, I just set down and
extracted the
opl3sa2 part from the ac8 patch, applied it to the 2.4.2-0.1.49 source rpm,
recompiled and
now sound works.

I'll attatch it as linux-2.4.2-opl3sa.patch. If you replace the one from
2.4.2-0.1.49 by this one,
opl3sax cards will work again!
Comment 22 Gerald Teschl 2001-04-06 08:18:49 EDT
Created attachment 14764 [details]
opl3sa patch for kernel 2.4.2-0.1.49
Comment 23 Pete Zaitcev 2001-04-06 12:46:01 EDT
Interesting patch you discovered.

Did you test it with isapnp=0, as in your note of 2001-03-01 09:48:41?
Better yet, please quote the current modules.conf, used to run
the fixed driver.
Comment 24 Gerald Teschl 2001-04-07 04:21:28 EDT
Did some further testing:
(1) modprobe opl3sa2 isapnp=1 will fail (no PNP cards found)
(2) Calling isapnp before modprobe opl3sa2 isapnp=1 will also fail.
(3) Calling isapnp and using isapnp=0 (with parameters from above) will work.
Moreover, removing the module and then inserting it again with isapnp=1
it will also work (with some strange errors however):
Apr  7 10:14:44 soliton kernel: opl3sa2: ISA PnP activate failed
Apr  7 10:14:44 soliton kernel: opl3sa2: No PnP cards found
Apr  7 10:14:44 soliton kernel: opl3sa2: Search for a card at 0x880.
Apr  7 10:14:44 soliton kernel: opl3sa2: Found OPL3-SA3 (YMF715E or YMF719E)
Apr  7 10:14:44 soliton kernel: opl3sa2: Control I/O port 0x370 not free
Apr  7 10:14:44 soliton kernel: opl3sa2: There was a problem probing one  of the
ISA PNP cards, continuing
Apr  7 10:14:44 soliton kernel: opl3sa2: Control I/O port 0x370 not free
Apr  7 10:14:44 soliton kernel: opl3sa2: There was a problem probing one  of the
ISA PNP cards, continuing
Apr  7 10:14:44 soliton kernel: opl3sa2: Control I/O port 0x370 not free
Apr  7 10:14:44 soliton kernel: opl3sa2: There was a problem probing one  of the
ISA PNP cards, continuing
Comment 25 Gerald Teschl 2001-04-07 04:24:22 EDT
BTW, since I have a /proc/isapnp, isapnp will not be setup by rc.sysinit and
hence the card has
to be brought up by hand. I'll file this as an initscripts bug.
Comment 26 Pete Zaitcev 2001-04-17 18:09:15 EDT
We went to 2.4.3-ac8 for Errata today and that
picks the patch. Thanks for isolating the patch
for me, gt.
Comment 27 Gerald Teschl 2001-06-22 14:50:41 EDT
Sound is broken again in kernel-2.4.3-11.3 and kernel-2.4.3-14:

The opl3 module won't load at all:

The olp3sax module does load correctly, but playing "au" files the output will
stop after
one second and playing "wav" files I get:

Sound: DMA (output) timed out - IRQ/DRQ config error? 

Please revert to the old driver.
Comment 28 Gerald Teschl 2001-06-26 05:10:14 EDT
Works in current errata kernel-2.4.3-12.

Note You need to log in before you can comment on or make changes to this bug.