LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Sound is missin', ES1969 card >_< (https://www.linuxquestions.org/questions/slackware-14/sound-is-missin-es1969-card-_-87144/)

Kyouryuu 08-29-2003 07:29 PM

Sound is missin', ES1969 card >_<
 
Hi, everyone! Before I ask my question, I want to thank everyone here who takes the time to answer questions. I've lurked around this forum from time to time, and many solutions I have for my Linux ailments are answered here. Many Google searches lead right back here, so thanks to all those that unknowingly answered my questions. ^_^

I recently started trying Slackware 9.0 after using various incarnations of Red Hat and Mandrake. I'm really happy with its speed and efficiency. Alas, I'm having a problem with my sound card. I'll describe what's wrong, then try to explain what I've already tried.

lspci identifies my sound card as an ESS Technology ES1969 Solo-1 Audiodrive. It's worked on Red Hat and Mandrake without any problems. From Mandrake, I know that it uses the esssolo1 driver. So I do modprobe esssolo1 and I get no errors. lsmod shows it's using that driver. And, well, I still have no sound.

Now, from Windows XP I know the card works. From other Linux installs I know it works in Linux. I also know that it's not muted or anything.

I tried at this point to use ALSA. ALSA doesn't seem to support the ES1969 directly, but using the ES1938, it supposedly can handle the "Solo-1." Thinking maybe that was close enough, I installed ALSA successfully and modprobed everything and even got the alsamixer going and unmuted. Still no sound at all, so I removed the ALSA drivers and went back to esssolo1, which is where I am now.

Some observations. I did the full install of Slackware (using bare.i), and I get a slew of insmod-like errors when it boots up from various things not installed on my computer. esssolo1 seems to not insmod properly at this point, but like I said it modprobes without error as root. XMMS can load an MP3, but when I press play, it sits on 00:00, and then goes blank. I'm using KDE and it can make no system sounds either. One last observation, on that note, is that I have a TV card. Under KMix, it lists the Brooktree Bt878 audio tab before the ESS Solo1 tab.

I seem to be in a situation where all of the applications can readily see the card, but no one seems capable of using it. I'm rather stuck and I'd appreciate any sort of help I can get on this. ^_^

Azmeen 08-29-2003 10:04 PM

You never mentioned whether you have tried unmuting and increasing the volume in kmix.

zsejk 08-29-2003 11:26 PM

As root, type:

"modprobe sb"

After that, start X and see if the sound works. If so, add the line "/sbin/modprobe sb" (without the quotation marks of course) to your /etc/rc.d/rc.modules file.

:)

-zsejk

Kyouryuu 08-29-2003 11:30 PM

It's unmuted as far as KMix goes. Green lights mean it's not muted, and I'm seeing green lights, so I think that's okay. I've also increased the volume to the point where the speakers were hissing from ambient sound, so I know it's not a sound problem on that front. Unless volume is controlled in some place aside from KMix, that is.

I suppose what also bothers me is that XMMS doesn't play any MP3 past 00:00. That would suggest to me that there's some technical problem and not a trivial muting mishap, but I can and always could be wrong. ^_^

Any other suggestions, needs, concerns?

Kyouryuu 08-29-2003 11:39 PM

Hmm, sorry zsejk but that didn't seem to work either. That would have tried to use a generic Sound Blaster type of card, right? Well, unfortunately, that just gives me the error:

/lib/modules/2.4.20/kernel/drivers/sound/sb.o.gz: init_module: No such device
/lib/modules/2.4.20/kernel/drivers/sound/sb.o.gz: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
/lib/modules/2.4.20/kernel/drivers/sound/sb.o.gz: insmod /lib/modules/2.4.20/kernel/drivers/sound/sb.o.gz failed
/lib/modules/2.4.20/kernel/drivers/sound/sb.o.gz: insmod sb failed

Sadly, this is essentially what every driver I've tried aside from esssolo1 gives me. See, from Mandrake, I'm rather convinced this is the one to use. Other sites on Google indicate that esssolo1 is the appropriate driver... unfortunately most of those conversations ended with "Just modprobe esssolo1" "Oh wow, thanks!" Apparently, I must be a special case. ^_^;;

Any other ideas? Any readouts I can provide?

EDIT: I've also observed now that when I run the speakers from my TV card's line out that I also don't get any sound, refuting the possibility that maybe the sound was getting to the TV card, but not getting out from there. I have a standard Brooktree Bt878 TV card that has a line-out that a cord links into the line-in of the sound card.

zsejk 08-30-2003 12:30 AM

I know that your card is not a Sound Blaster exactly, but doing "modprobe sb" worked with my ES1869 card very well... I'm kinda surprised it says it can't find it.

:confused:

Did you do a full install? I.e. one with all packages as opposed to picking and choosing yourself? I know you said already that you did, but I just want to make sure you didn't by accident leave some stuff out.

Of course, in the end there is always recompilation of the kernel..... if I remember correctly that *does* actually provide support for the ESS Solo card (though not for the ES1869 one... hence my happiness with "modprobe sb" ;) ). Though to be honest, if you installed ALSA correctly and unmuted everything and it's picked up by lsmod I really don't have any idea what's going on.

Just for fun... :eek: ... could you post your "lsmod", "lspci", and "modinfo sound" outputs? And perhaps also your /lib/modules/2.4.20/kernel/drivers/sound directory contents?

-zsejk

Kyouryuu 08-30-2003 09:41 AM

Yeah, it was a full install of Slackware 9.0. I didn't leave anything behind. A wonder 2 gigs of stuff fits on just one CD. :)

Okay, this is when esssolo1 is loaded, not the ALSA gear. For lsmod, we have:
Module Size Used by Tainted: P
esssolo1 24424 0 (unused)
fglrx 165352 129
keybdev 1952 0 (unused)
mousedev 4212 1
hid 18596 0 (unused)
usbmouse 2008 0 (unused)
input 3200 0 [keybdev mousedev hid usbmouse]
i810_rng 2624 0 (unused)
uhci 24560 0 (unused)
ehci-hcd 14632 0 (unused)
usbcore 58144 1 [hid usbmouse uhci ehci-hcd]
gameport 1452 0 [esssolo1]
tuner 9696 1 (autoclean)
tvaudio 12188 0 (autoclean) (unused)
bttv 67936 0 (unused)
i2c-algo-bit 6984 1 [bttv]
i2c-core 12708 0 [tuner tvaudio bttv i2c-algo-bit]
videodev 5632 2 [bttv]
btaudio 10508 1
soundcore 3332 7 [esssolo1 bttv btaudio]
pcmcia_core 38112 0
ide-scsi 8048 0
eepro100 19316 1
mii 2240 0 [eepro100]

For lspci, we got:
00:00.0 Host bridge: Intel Corp. 82850 850 (Tehama) Chipset Host Bridge (MCH) (rev 04)
00:01.0 PCI bridge: Intel Corp. 82850 850 (Tehama) Chipset AGP Bridge (rev 04)
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 04)
00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 04)
00:1f.1 IDE interface: Intel Corp. 82801BA IDE U100 (rev 04)
00:1f.3 SMBus: Intel Corp. 82801BA/BAM SMBus (rev 04)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R300 ND [Radeon 9700]
01:00.1 Display controller: ATI Technologies Inc Radeon R300 [Radeon 9700 Pro] (Secondary)
02:01.0 USB Controller: VIA Technologies, Inc. USB (rev 50)
02:01.1 USB Controller: VIA Technologies, Inc. USB (rev 50)
02:01.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
02:02.0 USB Controller: VIA Technologies, Inc. USB (rev 50)
02:02.1 USB Controller: VIA Technologies, Inc. USB (rev 50)
02:02.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)
02:08.0 Modem: Broadcom Corporation BCM4212 v.90 56k modem (rev 02)
02:09.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive
02:0a.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
02:0a.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
02:0c.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 10)


For modinfo sound, we got this interesting blurb:
filename: /lib/modules/2.4.20/kernel/drivers/sound/sound.o.gz
description: "OSS Sound subsystem"
author: "Hannu Savolainen, et al."
license: "GPL"
parm: dmabuf int
parm: dmabug int

And lastly, here are the contents of /lib/modules/2.4.20/kernel/drivers/sound:

ac97.o.gz cs46xx.o.gz msnd.o.gz sonicvibes.o.gz
ac97_codec.o.gz emu10k1 msnd_classic.o.gz sound.o.gz
aci.o.gz es1370.o.gz msnd_pinnacle.o.gz soundcore.o.gz
ad1816.o.gz es1371.o.gz nm256_audio.o.gz sscape.o.gz
ad1848.o.gz esssolo1.o.gz opl3.o.gz trident.o.gz
adlib_card.o.gz forte.o.gz opl3sa.o.gz trix.o.gz
aedsp16.o.gz gus.o.gz opl3sa2.o.gz uart401.o.gz
ali5455.o.gz i810_audio.o.gz pas2.o.gz uart6850.o.gz
awe_wave.o.gz mad16.o.gz pss.o.gz v_midi.o.gz
btaudio.o.gz maestro.o.gz rme96xx.o.gz via82cxxx_audio.o.gz
cmpci.o.gz maestro3.o.gz sb.o.gz wavefront.o.gz
cs4232.o.gz maui.o.gz sb_lib.o.gz ymfpci.o.gz
cs4281 mpu401.o.gz sgalaxy.o.gz

Everything there seems to be in order, so I'm still stuck. Maybe an updated kernel could help? Not sure.

LSD 08-30-2003 12:43 PM

This is probably a stupid question but there are device entries like /dev/dsp, /dev/sequencer, /dev/mixer and with proper aliases for them in /etc/modules.conf?

zsejk 08-30-2003 01:43 PM

Gah!

:eek:

This is con-fu-sing!

:)

What does "dmesg" do? I.e. does it have any interesting errors in it?

-zsejk

Kyouryuu 08-30-2003 03:18 PM

My /etc/modules.conf is empty. Completely empty. Which struck me as strange, but doesn't Slack use a different file for handling modules, /etc/rc.d/modules/rc.modules (or something like that)? That one is filled with stuff and it's where you're supposed to put /sbin/modprobe commands if you want them to execute.

I'm still strongly considering the TV card/sound card angle. That was mentioned in another post where a guy had no sound because he had a TV card with "higher priority" than his sound card. There's a lot of circumstantial evidence to suggest that this TV card / sound card relation is the problem. For example, KMix has the TV card on the tab before the ESS Solo-1 card. Moreover, the volume adjustment icon on KDE's taskbar is linked only to the TV card's Line1 port, not the sound card's. Lastly, for most everyone else the "modprobe esssolo1" solution worked like a charm.

One surefire way to know for sure, I suppose, would be to open the case, remove the TV card, then reinstall Slack. I'm very tempted to try this option and see what results.

I'll run dmesg shortly...

Kyouryuu 08-30-2003 06:03 PM

Okay, I did some experimentation and I'm about 95% certain I know what's happening. ^_^

As I said in the previous post, I removed the TV card from the computer. When I tried to go into Slackware this way, the KMix was completely hosed - so clearly I knew I broke something. So, I reinstalled Slackware 9 without the TV card in place.

X came up really slowly and I had no mouse (that's probably because I blazed wreckless through the reinstall), but the fact of the matter is that I definitely have sound. The KDE intro theme played perfectly. So, the sound card works without the TV card.

Based on that result, I put the TV card back into the system and tried to go back into Slackware. Confirming my suspicions, KDE gave the following error:

-----

Sound server informational message

Error while initializing the sound driver.

can't set requested sampling rate (requested rate 44100, got rate 32000)

The sound server will continue, using the null output device

-----

So, this is what I believe is happening. In a race to get recognized, the TV card invariably "beats" the ESS Solo-1. It gets to the soundcore and other essentials first, only since it's not a sound card sound in general fails to work. Furthermore, I believe this is linked to the idea that /dev/dsp0 gets control of the TV card and shoves the sound card off to /dev/dsp1. Whereas the programs are looking at /dev/dsp0 to play sound, they really need to be using /dev/dsp1 (or whatnot).

Hence, it really boils down to switching /dev/dsp0 and /dev/dsp1, I think, and making the programs use /dev/dsp1. How would one do that?

LSD 08-31-2003 12:55 AM

You could try putting the following lines into modules.conf (from memory, rc.modules is only used to actually start the modules at boot time, they still need to be configured through lines in modules.conf):

Code:

alias /dev/dsp esssolo1
alias /dev/mixer esssolo1
alias /dev/sequencer esssolo1

I'm not sure how well that'll work though...

Kyouryuu 08-31-2003 12:46 PM

Excellent, LSD! That worked perfectly!

So, to summarize, from a fresh Slackware 9 install here's all I do:

- Become root and open /etc/modules.conf and add the following lines:

alias /dev/dsp esssolo1
alias /dev/mixer esssolo1
alias /dev/sequencer esssolo1

- Save those changes, then open /etc/rc.d/rc.modules and add the following line to the bottom:

modprobe esssolo1

- Reboot Linux

Thank you everyone for helping me! ^_^

zsejk 08-31-2003 01:30 PM

Heh... well, you seemed to have solved the problem almost completely by yourself, so congratulations to you for being such a stubborn Slacker!

:)

-zsejk

Kyouryuu 08-31-2003 07:14 PM

Hardly. lol ;)

LSD gave me the inspiration on another forum since he said that XMMS' behavior (the going to 00:00 then "dying") was similar to a problem he heard where the sound buffer (or something of that nature) was flowing over because it was cooped up and unable to output the sound. Based on the circumstantial evidence I mentioned earlier, I concluded that this had to be the case - but there's no greater proof that physically eliminating the potential cause and seeing what happens, right? Once I had that evidence, it was pretty clear what needed to happen.

Still, it's true. You learn a lot more with Slackware. I did some things I didn't do before, familiarized myself with some files I've never heard of, and have a better understanding of how Linux does sound now. ^_^


All times are GMT -5. The time now is 12:18 PM.