The time now is Fri 24 May 2013, 15:09
All times are UTC - 4 |
| Author |
Message |
tempestuous
Joined: 10 Jun 2005 Posts: 4944 Location: Australia
|
Posted: Wed 04 Feb 2009, 06:57 Post subject:
Audio fix for old Thinkpads (and maybe others) |
|
Apparently some ALSA audio drivers have stopped working under recent kernels. This can be due to the way that some audio chipsets (particularly ISA ones) need to be enabled either by bios or by the plug-and-play routines of the operating system.
There's a good explanation of the problem here -
http://www.thinkwiki.org/wiki/Problem_with_broken_sound_on_some_ThinkPads
As you can see, quite a number of Thinkpad models are affected:
600E, 770X, 770Z, T43p, T60, T61, X60s
The solution (in theory) is to force the activation of the audio device with a command such as this -
| Code: | | echo 'activate' > /sys/devices/pnp0/00:05/resources |
However, some diagnosis is in order, because the resource value I just quoted (00:05) can vary.
For the Thinkpads there is a script which will determine all the correct values, and then enable the device. I have packaged this script as a dotpet, now attached. Instructions:
1. Install the dotpet.
2. Open /etc/modprobe.conf in Geany, and delete all reference to "snd-cs4236".
3. Blacklist "snd-cs46xx"
4. Reboot.
5. Run the script -
Don't run the ALSA configuration wizard!
If sound works, you can make this fix permanent by adding "soundcard-on" to the end of /etc/rc.d/rc.local
EDIT Feb 5 2009 dotpet revised to fix script error.
Very silly that only one person out of the four who downloaded this package had the sense to report this error.
| Description |
|

Download |
| Filename |
snd-cs4236-soundcard-enable.pet |
| Filesize |
1.06 KB |
| Downloaded |
558 Time(s) |
Last edited by tempestuous on Thu 05 Feb 2009, 06:59; edited 1 time in total
|
|
Back to top
|
|
 |
ssme
Joined: 15 Jan 2009 Posts: 79
|
Posted: Wed 04 Feb 2009, 09:18 Post subject:
|
|
hi, i just tried the fix on the thinkpad 560x (cs4237b sound chip) running pup 4.1.2 retro.
i deleted the sound config from modprobe.conf. i couldn't find anything like cs46xx to blacklist. i rebooted and ran the script from the terminal. the output i get is:
| Code: |
/usr/local/bin/soundcard-on: line 34 [: =: unary operator expected
FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.21.7/kernel/sound/isa/cs423x/snd-cs4236.ko): Invalid argument
|
i can get rid of the first error (unary operator) by deleting a bit of whitespace in the appropriate line of code, but i don't know if that actually fixes anything! and the second, fatal, error persists.
am i being incredibly stupid and doing something wrong?
thanks!
|
|
Back to top
|
|
 |
tempestuous
Joined: 10 Jun 2005 Posts: 4944 Location: Australia
|
Posted: Wed 04 Feb 2009, 22:05 Post subject:
|
|
ssme, the issue relates specifically to the matching of a CS4610 chip with a CS4239 chip, which is unconventional. Your Thinkpad 560x is not listed as affected, so the script will not be compatible.
As a longshot, you could try these two commands to see if your audio device is enabled -
| Code: | echo 'activate' > /sys/devices/pnp0/00:05/resources
echo 'activate' > /sys/devices/pnp0/00:06/resources |
|
|
Back to top
|
|
 |
ssme
Joined: 15 Jan 2009 Posts: 79
|
Posted: Wed 04 Feb 2009, 22:58 Post subject:
|
|
sorry, my mistake.
i got the sound working on the 560x with a hack, copying the ALSA-generated code from puppy 1.0.8 into the 4.1.2 modprobe file. it worked fine, and then it stopped working. back to the drawing board...
|
|
Back to top
|
|
 |
vtpup

Joined: 15 Oct 2008 Posts: 1077 Location: Republic of Vermont
|
Posted: Thu 05 Feb 2009, 22:41 Post subject:
|
|
Tempestuous
I have a piece of information to add about the TP600e after testing it for 2 days, now. This is with BIOS INET36WW and Puppy 4.1.2 retro.
It is critical to include all 4 port addresses (for example using mfr default sound ports: cport=0x538 port=0x530 sb_port=0x220 fm_port=0x388).
Often fewer ports are thought necessary than the 4 above, but I tested against them eliminating one by one, and it failed to operate properly without the full complement. Symptoms were continuous white noise when the usual shortened list was used. This was tested against a clean new BIOS flash with the BIOS initialized and quick boot turned off.
Even the Thinkwiki url you referenced includes the shortened port list (sb port unnecessary). I don't know if this would apply to other model Thinkpads, but definitely applies to the specific test case above.
These port specific assignments are not written in stone, by the way, many utilities in Windows (including the Device Manager I believe) and at least one in DOS can alter port assignments on a Thinkpad. Initializing the BIOS will revert port assignments to factory default settings but may affect other programs in Windows in a dual boot system if the ports were set up for a custom configuration.
I did not have to activate as you mentioned earlier in this thread, but maybe this was due to the earlier kernel of retro?
I have also come across a thread here where activating 00:11 (as I remember it) was the key for someone. I'll try to find that thread. EDIT Sorry, no, turned out to be a Dell Inspiron using the same sound chips.)
Thanks for all your work in getting sound going for these computers.
|
|
Back to top
|
|
 |
obxjerry

Joined: 29 Jan 2010 Posts: 394 Location: Louisville, Kentucky
|
Posted: Tue 30 Mar 2010, 18:18 Post subject:
|
|
I have a Thinkpad 600e running Puppy 421 retro. I got my sound working last night by following these steps.
1. Check your bios to make sure that you have "QuickBoot = OFF".
2. Open /etc/modprobe.conf in Geany and delete all reference to "snd-cs4236".
This will be in a section marked "ALSA configuration".
3. Open /etc/rc.d/rc.local in Geany and add this line
modprobe snd-cs4236 isapnp=0 cport=0x538 port=0x530 sb_port=0x220 fm_port=0x388 irq=5 dma1=1 dma2=0
4. Save. Reboot.
Using modprobe snd-cs4236 index=0 port=0x530 cport=0x538 isapnp=0 dma1=1 dma2=0 irq=5 produced nothing but squelch (static)
Jerry
|
|
Back to top
|
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|