Bug 484176 - opl3sa2 soundcard detection broken
Summary: opl3sa2 soundcard detection broken
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 10
Hardware: i386
OS: Linux
low
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-02-05 08:05 UTC by zymzymzymzym
Modified: 2009-12-18 07:48 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2009-12-18 07:48:53 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description zymzymzymzym 2009-02-05 08:05:57 UTC
Description of problem:

The sound card in a Toshiba Tecra 8000 (opl3sa2 - Yamaha chip) is no longer detected automatically in Fedora 10.

I am reporting this as a bug as instructed at http://docs.fedoraproject.org/release-notes/f9/en_US/sn-PackageNotes.html ("Any sound card not working out of the box should be reported as a bug.")


Version-Release number of selected component (if applicable):


How reproducible:

Install Fedora 10 on a Toshiba Tecra 8000.

Actual results:

No sound cards detected.

Expected results:

Blissful music listening experience.

Additional info:

Here is my progress in getting this working manually (from http://forums.fedoraforum.org/showthread.php?p=1160972#post1160972).

I recently installed Fedora 10 on an old laptop (Toshiba Tecra 8000). Everything is working nicely, except that there is no longer any sound.

I tried downloading the latest alsa-utils source from the ALSA website, and built alsaconf. This ran and detected my soundcard and wrote the following file to /etc/modprobe.d/sound:

[root@chrismob modprobe.d]# cat sound
alias snd-card-0 snd-opl3sa2
alias sound-slot-0 snd-opl3sa2
options snd-opl3sa2 fm_port=-1 midi_port=-1 port=0x370 wss_port=0x530 isapnp=0 dma1=1 dma2=0 irq=9

I tried to load this card by running

modprobe snd-opl3sa2

These modules are loaded:

[root@chrismob modprobe.d]# lsmod | grep opl
snd_opl3sa2 20244 0
snd_opl3_lib 12800 1 snd_opl3sa2
snd_hwdep 10500 1 snd_opl3_lib
snd_cs4231_lib 24704 1 snd_opl3sa2
snd_mpu401_uart 10368 1 snd_opl3sa2
snd_seq_device 10124 5 snd_opl3_lib,snd_rawmidi,snd_seq_dummy,snd_seq_oss ,snd_seq
snd_timer 22024 4 snd_opl3_lib,snd_cs4231_lib,snd_seq,snd_pcm
snd 50616 14 snd_opl3sa2,snd_opl3_lib,snd_hwdep,snd_cs4231_lib, snd_mpu401_uart,snd_rawmidi,snd_seq_dummy,snd_seq_ oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd _timer,snd_mixer_oss

But, I cannot seem to see the card using the ALSA tools

e.g.

[root@chrismob modprobe.d]# aplay -l
aplay: device_list:217: no soundcards found...

[root@chrismob modprobe.d]# alsamixer
ALSA lib pulse.c:272pulse_connect) PulseAudio: Unable to connect: Connection refused


alsamixer: function snd_ctl_open failed for default: Connection refused

There is the following output in dmesg:

ALSA sound/isa/cs423x/cs4231_lib.c:407: mce_down - exit = 0xb
ALSA sound/isa/cs423x/cs4231_lib.c:407: mce_down - exit = 0xb
ALSA sound/isa/cs423x/cs4231_lib.c:407: mce_down - exit = 0xb
ALSA sound/isa/cs423x/cs4231_lib.c:407: mce_down - exit = 0xb
ALSA sound/isa/cs423x/cs4231_lib.c:407: mce_down - exit = 0xb
ALSA sound/isa/opl3sa2.c:242: OPL3-SA [0x370] detect = 0xff

This all used to work fine under Fedora Core 6.

Here is the link to my alsa-info.sh information:

http://www.alsa-project.org/db/?f=0c...2762ee02b3a48a

This is the output when I run alsaconf, which reports that it has succeeded in an ncurses GUI that I can't copy-and-paste here:

[root@chrismob alsaconf]# bash alsaconf
Building card database..
modinfo: could not find module snd-cs4232
modinfo: could not find module snd-cs4231
modinfo: could not find module snd-es1688
modinfo: could not find module snd-sb8
Probing legacy cards.. This may take a few minutes..
Probing: opl3sa2grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
grep: /sys/bus/pnp/devices/??:*/resources: No such file or directory
: FOUND!!
Setting default volumes...
ALSA lib pulse.c:272pulse_connect) PulseAudio: Unable to connect: Connection refused

amixer: Mixer attach default error: Connection refused

================================================== =============================

Now ALSA is ready to use.
For adjustment of volumes, use your favorite mixer.

Have a lot of fun!

---

I have now got this working, so I thought I'd describe what I've done in case this helps others.

1) I ran

yum remove alsa-plugins-pulseaudio

2) I created a file /etc/modprobe.d/sound containing

# Sound
alias sound-slot-0 snd-opl3sa2
options snd-opl3sa2 dma1=1 dma2=0 fm_port=0x388 irq=5 isapnp=0 midi_port=0x330 port=0x538 sb_port=0x220 wss_port=0x530

(which I found at http://fedoraforum.org/forum/showthread.php?p=323295)

3) I ran

lsmod | grep snd | xargs rmmod

4) Then

modprobe snd-opl3sa2

5) Then

[root ~]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: OPL3SA23 [Yamaha OPL3-SA23], device 0: CS4231 [Yamaha OPL3-SA23]
Subdevices: 1/1
Subdevice #0: subdevice #0

which seemed to pick up my card.

6) Here is further info from /proc:

[root /proc/asound]# for I in *; do echo; echo; echo $I; cat $I; done


card0
cat: card0: Is a directory


cards
0 [OPL3SA23 ]: OPL3SA2 - Yamaha OPL3-SA23
Yamaha OPL3-SA23 at 0x538, irq 5, dma 1&0


devices
2: : timer
3: : sequencer
4: [ 0- 0]: raw midi
5: [ 0- 0]: hardware dependent
6: [ 0- 0]: digital audio playback
7: [ 0- 0]: digital audio capture
8: [ 0] : control


hwdep
00-00: OPL3 FM


modules
0 snd_opl3sa2


OPL3SA23
cat: OPL3SA23: Is a directory


oss
cat: oss: Is a directory


pcm
00-00: CS4231 : Yamaha OPL3-SA23 : playback 1 : capture 1


seq
cat: seq: Is a directory


timers
G0: system timer : 1000.000us (10000000 ticks)
C0-0: Yamaha OPL3-SA23 : 9.945us (65535 ticks)
C0-1: AdLib timer #1 : 80.000us (256 ticks)
C0-2: AdLib timer #2 : 320.000us (256 ticks)
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE


version
Advanced Linux Sound Architecture Driver Version 1.0.17.

7) open /etc/security/console.perms.d/50-default-perms and add this line to the top…

<sound>=/dev/dsp* /dev/snd/*

And at the end, add this line…

<console> 0666 <sound> 0600 root

8) Create /etc/init.d/audio_CTR

[root@chrismob ~]# cat /etc/init.d/audio_CTR
#!/bin/sh
#
# chkconfig: 345 50 83
# description: modprobe the soundcard
#
### BEGIN INIT INFO
# Required-Start: $syslog messagebus
# Short-Description: Modprobe audio
# Description: moprobe the soundcard
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

start()
{
echo -n $"Modprobe soundcard:"
modprobe snd-opl3sa2
amixer set Master 2
amixer set Master15
amixer set PCM 2
amixer set PCM 33
RETVAL=$?
echo ""
return $RETVAL
}

stop()
{
echo -n "Stopping soundcard:"
rmmod snd-opl3sa2
rmmod snd-opl3-lib
RETVAL=$?
echo ""
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
force-reload|restart|reload)
stop
start
;;
status)
status audio_CTR
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
exit 3
;;
esac

exit $RETVAL

9) chmod 755 /etc/init.d/audio_CTR

10) chkconfig --add audio_CTR

11) Finally, I tested the audio properly with xmms.

Chris.

Comment 1 Bill Nottingham 2009-02-05 15:56:31 UTC
There's nothing to do for autodetection outside of having udev load the modules based on the pnp/acpi ids it exports.

Either the pnp ID doesn't match the card on your system, or the matching is broken. Assuming the former, pushing to the kernel.

Comment 2 Bug Zapper 2009-11-18 10:59:25 UTC
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '10'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 10's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 10 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 3 Bug Zapper 2009-12-18 07:48:53 UTC
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


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