No sound on ThinkPad 600E

Bug #14688 reported by Robert Schumann
12
Affects Status Importance Assigned to Milestone
linux-source-2.6.15 (Ubuntu)
Invalid
Medium
Ben Collins

Bug Description

Several users have posted this problem to the forums; time for a bug report. It
is a well-documented issue with Thinkpad 600E, so this may be an upstream bug.

I have Thinkpad 600E model 2645-550; recently installed Warty and then did a
dist-upgrade to Hoary (on 27/3/2005). The sound did not work under Warty or
Hoary. I believe this is due to incorrect hardware detection. My "lspci dmesg
lsmod" file will be attached in a subsequent post.

A search of google gives reports like
http://jeremy.zawodny.com/misc/thinkpad-600e-sound.html where a punter claims to
have got sound working (apparently under OSS) by modprobe-ing cs4232 with the
appropriate module arguments. Only thing is, according to lspci the hardware is
indeed a Cirrus Logic CS 4610/11 and so the appropriate driver cs46xx is loaded
(if you check out my lsmod output in the attachment).

I too can get sound working with the "old" OSS driver using exactly the method
proposed by Zawodny i.e. just modprobe cs4232. However, I first have to get rid
of the ALSA driver snd-cs46xx by putting "snd-cs46xx" in the hotplug blacklist
(/etc/hotplug/blacklist.d/alsa-base) and "skip snd-cs46xx" in the discover skip
file (/etc/discover.d/alsa-base). From what I can determine, modprobe-ing the
OSS driver cs46xx instead does *not* make the sound work

When I try to modprobe snd-cs4232, which would be the preferred ALSA route, I
get an error

CS4232 soundcard not found or device busy
FATAL: Error inserting snd_cs4232
(/lib/modules/2.6.20-5-386/kernel/sound/isa/cs423x/snd-cs4232.ko): No such device

which is kind of expected, since the system believes that it has a different
sound chip.

Links to forum posts:
http://ubuntuforums.org/showthread.php?t=7531
http://ubuntuforums.org/showthread.php?t=7546
http://ubuntuforums.org/showthread.php?t=14505
http://ubuntuforums.org/showthread.php?t=16501
http://ubuntuforums.org/showthread.php?t=19927
http://ubuntuforums.org/showthread.php?t=20692

Let's make this Just Work(tm)

Revision history for this message
Robert Schumann (robert-cantab) wrote :

Created an attachment (id=1920)
Output of dmesg lspci lsmod

Revision history for this message
Thomas Hood (jdthood) wrote :

alsa-base does not do module loading. This bug is in the hotplug and/or
discover packages, if anywhere.

Revision history for this message
Matt Zimmerman (mdz) wrote :

The hardware detection looks correct. If you are not hearing sound, check the
mixer levels.

snd-cs4232 is an ISA driver; it will not work with your device.

Revision history for this message
Robert Schumann (robert-cantab) wrote :

(In reply to comment #3)
> The hardware detection looks correct. If you are not hearing sound, check the
> mixer levels.

I have repeatedly checked the mixer levels, and tried them in every combination
of up/down, off/on and so on. I recognised that many people seem to have a
problem which is resolved through using alsamixer or amixer or one of those
tools. This is not the problem.

Not knowing much about sound, I'll take it on trust that snd-cs4232 is an ISA
driver. I thought the "snd-" prefix referred to it being an ALSA driver rather
than OSS, and the "cs4232" is the chip. In any case, cs4232 works and
snd-cs4232 doesn't.

Cheers,
Robert.

PS - This computer is now living with a newbie friend who seems to not care that
there is no sound....

Revision history for this message
Thomas Hood (jdthood) wrote :

Try snd-cs4236 instead of snd-cs4232.

Revision history for this message
Daniel T Chen (crimsun) wrote :

According to
http://www.thinkwiki.org/Talk:Problem_with_broken_sound_on_ThinkPad_600 the
correct driver is snd-cs46xx, though snd-cs4236 should suffice as well.

Robert, please ensure that you have disabled (in BIOS) the QuickBoot (or
EasyBoot?) feature.

Revision history for this message
Thomas Hood (jdthood) wrote :

Submitter: Blacklist snd-cs46xx and load snd-cs4236 instead.
Add a file /etc/modprobe.d/snd-cs4236 containing:
    options snd-cs4236 isapnp=0 cport=0x538 port=0x530 sb_port=0x220
fm_port=0x388 irq=5 dma1=1 dma2=0
or something like that with values corresponding to the way you have
your hardware configured. You can configure the hardware using either
PS2.EXE (under DOS) or setpnp. You can view hardware configuration
with "lspnp -v".

(ref: http://ubuntuforums.org/showpost.php?p=134941)
(ref: http://linux-laptop.net/hosted/thinkpad600e-fc4.html)

The ThinkPad 600E does require snd-cs42[26], not snd-cs46xx.

If we were to fix this problem (rather than just document it) then we
would have to fix the hardware detection so that snd-cs4236 got
loaded instead of snd-cs46xx on TP600E and we would have to get the
right "options" line into a module loader configuration file. The
latter would be difficult---it would involve the equivalent of
running alsaconf. The former should be doable and should be done.
To which package should this report be reassigned in order to
request that that happen?

Revision history for this message
Matt Zimmerman (mdz) wrote :

If the card can't be probed by the driver, I don't think there is much that we
should do to try to work around this. Changing the modprobe configuration based
on the model of a laptop is more complexity than I think is reasonable.

If it can be probed via ISAPNP, and the driver isn't properly advertising this
for hotplug's benefit, that would be a kernel issue.

Revision history for this message
Thomas Hood (jdthood) wrote :

(In reply to comment #8)
> If it can be probed via ISAPNP, and the driver isn't properly advertising this
> for hotplug's benefit, that would be a kernel issue.

OK, so the report is assigned to the right package.

Revision history for this message
S.W.B. (sb73542) wrote :

The soundcard in Thinkpad 600 and 600E is *NOT* PnP. It is just plain ISA. It is well supported
by ALSA driver snd-cs4236.

This card is a major hassle to get working with Ubuntu Warty and Hoary. I haven't tried it with
Breezy preview. I have found that on Mandrake-based distros, I can use alsaconf to probe for non-
PnP cards, and it finds and configure this card without a problem.

Revision history for this message
Thomas Hood (jdthood) wrote :

(In reply to comment #10)
> I have found that on Mandrake-based distros, I can use alsaconf to probe for non-
> PnP cards, and it finds and configure this card without a problem.

To get this working in Debian and Ubuntu someone would have to volunteer to be
the maintainer of the poorly written alsaconf program.

Revision history for this message
Ben Collins (ben-collins) wrote :

If it works, then there's not really a bug. Because it's ISA, I'm not inclined
to think it wont be fixed to where it doesn't require manual parameters.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.