LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Sound on Thinkpad 760EL (ESS1688?) (https://www.linuxquestions.org/questions/linux-hardware-18/sound-on-thinkpad-760el-ess1688-207473/)

uveraser 07-20-2004 12:18 PM

Sound on Thinkpad 760EL (ESS1688?)
 
Hi,
I have just installed Slackware 9.1 on an IBM Thinkpad 760EL. Windows shows the card as an 'ES1688 AudioDrive' (by ESS). lspci does not contain anything relevant to the sound card, but then I have no idea whether it is pci or isa (if somebody could tell me which it is that would be useful).The last time I had to intervene with sound stuff (on another thinkpad) it turned out to be easy- using sndconfig. That was with Mandrake- there does not appear to be a sndconfig on Slackware.

1. I am using a 2.4.22 kernel- is there sound stuff built in?
2. If yes, what?
3. What is OSS?
4. What is the difference between OSS and Alsa?
5. Which should I use?
6. I tried using Alsa last time I needed to set sound up myself- the tutorial is very confusing- where the heck do I configure it?

Thanks
Simon

slyman 07-20-2004 07:16 PM

Hrumph b@***d, yes it is (sorry, I have a 760XD which has an Mwave chipset and is not supported!)

http://www.linux-thinkpad.org/chipsets.html

http://www.alsa-project.org/alsa-doc...&module=es1688

1. Depends - what did you build in? (I don't know slack)

3. OSS is the old sound system...

4. ... that is being replaced by ALSA.

5. ALSA

6. Welcome to the wonderful world of linux.

Go to http://www.linuxfromscratch.org, under Beyond Linux From Scratch they explain how to build and configure ALSA. You should only need to build drivers, lib and utils - in that order. The sound driver you need to compile is es1688 - see the link to the alsa ALSA above.

To get sound working you may/will need to:

# modprobe snd-es1688

before you want to use it. This is best done in an init script when you boot up.

Another gotcha is the fact that ALSA mutes everything on startup (cool!) so you can spend hours trying to figure out why it is not working when the volume is just turned down.

Check that you have /etc/asound.state, if not:

# touch /etc/asound.state

To create it.

Then use "alsamixer" to unmute and turn up the volume on the channels you need.

# alsamixer

Then:

# alsactl store

To save the settings in /etc/asound.state.

Then.... add

[path to]/alsactl restore

to an initscript

Some people add

[path to]/alsactl store

To a script when the shutdown. I don't bother because I want sound restored to a default state when I boot up.

You als have to make sure that the applications that use sound are set to use ALSA.

Hope this has helped.

uveraser 07-21-2004 05:03 AM

I have already discovered the muted sound thing (the hard way, lol), but thanks anyway.

What does depmod do? I ran it without any problems after adding lines to modules.conf. Running 'modprobe snd-es1688' gives:
[path to module]: init_module: No such device

and a whole load of other text saying the error might have been caused by incorrect parameters like irq settings, which brings me nicely on to my original question which still hasnt been answered:

WHERE DO I TELL ALSA WHAT IRQ, DMA, ETC SETTINGS MY SOUNDCARD USES??????

slyman 07-21-2004 07:44 PM

Does the driver actually exist?

What does...

# find /lib/modules -name "*es1688'*"

...return?

uveraser 07-22-2004 11:08 AM

/lib/modules/2.4.22/kernel/sound/isa/es1688
/lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688.o.gz
/lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688-lib.o.gz

slyman 07-22-2004 06:18 PM

Weird.

It looks as if the modules are gzipped... I don't know if this is how it is mean to be??

Try gunziping

/lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688.o.gz
/lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688-lib.o.gz

And then do a modprobe snd-es1688 again.

I may be wrong, but it can't hurt.

uveraser 07-23-2004 05:02 AM

Well I did it, but it made no difference- it was still using the gz modules. I think you got the wrong end of the stick though, it is loading the modules, but cant find any devices which they will use. Since it is hinting strongly at incorrect IRQ parameters (despite the fact that the soundcard uses all standard Ports, IRQ and DMA), I am again going to ask the grand question which everyone seems to be conveniently avoiding:
WHERE DO I CONFIGURE IT?

Please also note that I have not done much at all in the way of configuration (since no one will tell me how), other than adding the following options to /etc/modules.conf (which was blank):

alias char-major-14 soundcore
alias char-major-116 snd
alias snd-card-0 snd-es1688
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-midi

Generally if you don't configure something it doesn't work, so can we go down this route please?
Thankyou
Simon

freychef 07-23-2004 10:35 AM

Uveraser,

Let's back up a bit.

Nowhere in this thread did I see that you started by running 'alsaconf' as root. If you didn't, try that. It should automatically detect your soundcard, and write the appropriate info to /etc/modules.conf. Second step is to set volumes with alsamixer. Third is to save them with 'alsactl store'. That should be it.

If it doesn't work you can add the options line to your /etc/modules.conf file.

Mine looks like this:

alias char-major116 snd

(more alias stuff)

alias sound-slot-0 snd-cs4236
options snd-cs4236 port=0x530 cport=0x538 isapnp=0 dma1=1 dam2-0 irq=5


Cheers.

uveraser 07-26-2004 08:55 AM

Thankyou freychef, that is what I was looking for in the first place. However, this has not solved the problem.
alsaconf cannot detect my card- I told it to probe all settings for all cards and it still didn't pick the card up.
Windows 98SE says that the card uses the following settings:
IO=0220-022F
IO=0388-038B
IO=0330-0331
IRQ=05
DMA=01
Following your example, I added the settings to /etc/modules.conf (I also tried adding cport=0x22F dma1=1, dma=1 and isapnp=0, but modprobe told me that there where no such settings available for the module). This is the whole file:

alias char-major-14 soundcore
alias char-major-116 snd
alias snd-card-0 snd-es1688
#alias sound-slot-0 snd-card-0
#options snd-es1688 port=0x220 irq=5
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-midi

(NOTE: the two lines marked with a # are new- they have not made any difference (there are no #s in the actual file))

Have I got the right idea for the port setting or is it in hex or something?

Running "modprobe snd-es1688" gives:

Note: /etc/modules.conf is more recent than /lib/modules/2.4.22/modules.dep
/lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688.o.gz: init_module: No such device
/lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688.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.22/kernel/sound/isa/es1688/snd-es1688.o.gz: insmod /lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688.o.gz failed
/lib/modules/2.4.22/kernel/sound/isa/es1688/snd-es1688.o.gz: insmod snd-es1688 failed

Which is no different from what it has given right from the start.

dmesg gives:
ESS AudioDrive ES1688 soundcard not found or device busy

/var/log/messages does not change when "modprobe snd-es1688" is run.

Why is the soundcard so elusive to linux?


All times are GMT -5. The time now is 10:30 AM.