# ibm thinkpad 600 no sound in months.....

## pac_man

OK i have gone through every post in the forum that contains anything about the cs423x sound chip for my ibm thinkpad 600 laptop....and for 3 months ive not had sound....and i was ok with it...but now its getting to the point where i'm on my windows partition just to do work and listin to music....AND WINDOWS SUCKS!!!!

so if anyone can help me out..please do....heres what ive done so far and what ive gotten from it.

ive compiled cs4232 modules into my kernel.

whenever I  type

# insmod snd-cs4232

/lib/modules/2.4.19-gentoo-r7/kernel/sound/isa/cs423x/snd-cs4232.o: Unresolved symbol ...

i get a bunc of unresolved symbols for things like snd_op13_create_Rsmp_60dc6ab5

snd_cs4231_mixer_Rsmp...

anyways theres about 11  of these symbols that it outputs....i have no idea how to fix these.....

When i type 

# modprobe snd-cs4232

lib/modules/2.4.19-gentoo-r7/kernel/sound/isa/cs423x/snd-cs4232.o: init_module:No such device

Hint insmod errors can be caused by incorrect module parameters, including IO or IRQ parameters

you may find more information in syslog or the output from dmesg

I dont know how to look up info on my syslog which i tried reading the man page for...and dmesg...but that didnt help  so i then tried what i always see people put up on their posts...

#modprobe snd-cs4232 irq=5 io=0x530 dma=3

lib/modules/2.4.19-gentoo-r7/kernel/sound/isa/cs423x/snd-cs4232.o: invalid parameter parm_irq

then it says that the insmod fails and all.....

I even tried different combonations of IRQ numbers(5,7,9) and io (330,530,220) and dma channels( 3,0) which i got off my windoze partition...it said i had two dma channels and i didnt know which one...so i tried both...

ANYWAYS...this is where i end...cause i'm frustrated...i have spent many hours working on gentoo and love this distribution more than any other( MS for linux ^H^H^H^Hredhat , mandrake , i even tried lycros[sic] for two hours....) but this sound is really really pissing me off and i want to get this fixed....cause frankly i dont wanna go to slackware and start all over.....

IM OR EMAIL OR POST PLEASE!!!....

----------

## theprisoner6

pac_man, 

you have probably already done this, but..

Have you tried using Alsa for your sound mdules?

There are many sound cards supported in the kernel (as I'm sure you've seen), unfortunatly they don't seem to work well.

I've installed linux on a 600 thinkpad in the past, so I know the sound can be made to work. The distros I used (at the time) included alsa and automatically installed it.

I would remove the kernel compiled modules and then install alsa. (emerge alsa-driver) then try a modprobe using its drivers.

its not much but hope it helps..

-prisoner

----------

## pac_man

 *theprisoner6 wrote:*   

> 
> 
> I would remove the kernel compiled modules and then install alsa. (emerge alsa-driver) then try a modprobe using its drivers.
> 
> 

 

ok well....where exactly where would the Alsa drivers be...because i've tried the ones from the kernel...but even when i emerge alsa...i really dont know where the drivers from alsa actually are.

----------

## bagu

Hey..

the same problem here. I've got a lot of help from here.

This guy has it all working, so it is possible. The fact that he uses debian doesn't mean gentoo can't do the same thing. I've gotten it to work, but not the way I like. The sound won't work on startup, but a bit of manual fiddling makes it work. This is not OK though, it should work at startup, so that's what I'm working on now.

It should be apparent (if you read through the webpage) that the problem appears because of non-standard plug and play firmware and bugs in the linux implementation of PnP. 

I'll post more when I'm not this sleepy.. (it's 03.15 in the morning here in sweden..and I'm at work!)

----------

## bagu

I got this to work a couple of hours ago, and I must tell you.. it's most definately one of the ugliest hacks ..

Ok this is how I did it:

Get (compile, that is) lspnp and setpnp from the pcmcia-cs package.

Figure out what plug and play id's the sound hardware has using lspnp -v. It should be quite obvious.

Write an rc-script accordig to The Gentoo Linux rc-script Guide. The script should use setpnp to enable the sound hardware at bootup since linux can't do it for us for whatever reason. (to init my hardware i use setpnp 0e on and setpnp 0f on)

use rc-update to add the script to the 'boot' runlevel

Theese steps will make sure that the soundhardware is accessible when it's time to load the modules. Now I use the ALSA sound modules since it offers the best support for the soundchip in my ThinkPad 600E. This is how:

Almost follow The Desktop Configuration Guide sound chapter. Follow it down to where it says:

```
rc-update add alsasound boot
```

..and go to my next step instead:

Edit /etc/conf.d/local.start and add this line:

```
/etc/init.d/alsasound start
```

Follow the rest of The Desktop Configuration Guide sound chapter. 

Reboot and die smiling ;)

Ok, no guarantees, but since I've been tearing my hair for like 2 months over this and virtually fiddling with everything soundrelated on my system and finally got it to work, this should do it..

Good luck!

----------

## nicke#

Hi 

I got it running without any mess, on my IBM 600E.

$ uname -r 

2.4.19-gentoo-r9

Kernel config:

# Sound

#

CONFIG_SOUND=m

CONFIG_SOUND_OSS=m

CONFIG_SOUND_TRACEINIT=y

CONFIG_SOUND_DMAP=y

CONFIG_SOUND_CS4232=m

Later on:

modprobe cs4232 io=0x530 irq=5 dma=1

This sound works fine in xmms, mplayer and so on.

Now I have to figure out how i can get IR to work with my T68I   :Confused: 

----------

## Vspirit

Hi Nicke#

Now I have sound also, thanks to your info.

Unfortunately in a very bad quality.

a lot of 'pop's in the sound stream while playing with mpg123 (only player tested so far).

How can this be resolved? where could the problem be? what mixer are you using?

---

Update:Solution: A few more parameters to modprobe solved the 'pops'

modprobe cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=5 synthirq=-1 synthio=-1

source with more useful sound info for tp600:

http://www.levien.com/tp600.html

the quality improved amazingly.

----------

## pac_man

 *nicke# wrote:*   

> Hi 
> 
> I got it running without any mess, on my IBM 600E.
> 
> $ uname -r 
> ...

 

u know when u RTFM u actually can get stuff done    :Embarassed:  .... being that the kernel has its own doumentation under /usr/src/linux/Documentation/sound u will find a file by the name of CS4232 which pretty much tells u how to set it up and how to compile it into the kernel.  after that i just wrote a script to boot turning on some io ports for the sound card and loading some modules in for sound....and now it works.......

see....its just that easy!  :Rolling Eyes: 

----------

## verdoc

I have tried this and still have no luck.

```

#

# Sound

#

CONFIG_SOUND=m

CONFIG_SOUND_OSS=m

CONFIG_SOUND_TRACEINIT=y

CONFIG_SOUND_DMAP=y

CONFIG_SOUND_CS4232=m

```

```
# modprobe cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=5 synthirq=-1 synthio=-1

/lib/modules/2.4.19-gentoo-r10/kernel/drivers/sound/cs4232.o: init_module: No such device

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.19-gentoo-r10/kernel/drivers/sound/cs4232.o: insmod /lib/modules/2.4.19-gentoo-r10/kernel/drivers/sound/cs4232.o failed

/lib/modules/2.4.19-gentoo-r10/kernel/drivers/sound/cs4232.o: insmod cs4232 failed
```

----------

## pac_man

you have to DL tcpcl (i think)...its a package u can emerge for thinkpads.....after that u can write a script to turn on the audio ports....

if u have any problems i guess email me....

----------

## brianben2

I had the issue where audio sounded like Max Headroom, very choppy and restarting. mpg123 would play like that but mplayer complained about "buggy audio driver?" 

I have the Sound Support and CS4232 compiled as kernel modules.  The issue happened when I had the module loaded via /etc/modules.autoload. 

I took cs4232 out of /etc/modules.autoload and added this to the /etc/conf.d/local.start ...

/sbin/modprobe cs4232 io=0x530 irq=5 dma=1

and all is well[/b]

----------

## GREGC

I have been having the same problem regarding the alsa not working on a thinkpad 600, and I have read thru this thread 100 times.  My problem?  Emerging pcmcia-cs (twice) has not yeilded the "lspnp" or "setpnp" programs.  A google search for these programs or source has found zip.

Anyone want to post a link to these needed programs?  And can someone walk through the usage?  Apparently, lspnp finds the irq settings and such, but we already know that now.  What I need is the setpnp, and the script that allows the script to stay on reboot.  I compiled alsa libs, drivers and utils from source, but no go.  Kernel sound is configured as a module, although cs4xxx was not an option under menuconfig.

Any help, please?

GregC

----------

## wire

Hi,

I have a 600e also and have trouble following the instructions in this thread to get the sound working because there is no /proc/bus/pnp directory on my system, and therefore I can't use setpnp or lspnp. What do I do to fix that? What do you guys need to see to help me? I have the two pnp things in the kernel compiled as modules, and am going to try to compile them into the kernel right now.

-kai

----------

## wire

never mind got everything working. Oh man did i do the celebration dance after the sound started working.

-kai

----------

## hijjt

What did you do to finally get it working.  It is hard to follow a forum and learn from it when people don't share how their solutions worked out.

----------

## miunk

Well you most likely need to have PNP support compiled into your kernel. Once you have that, if you add "+pnp" to your USE flags and re-emerge pcmcia-cs then you should be up to speed and have the lspnp and setpnp programs.  Once you have them what to do with them after that is still a mystery to me.

Basically what was recommended above did not work for me, I have ALSA modules built from a 2.6 kernel.  If I:

setpnp 0e on

setpnp 0f on

modprobe snd-cs4232

I still get no love. Shall I add the proper lines to modules.conf?  I suspect I will still need to specify the io, irq, dma, etc.  Is that correct?  What was described above (modprobe arguments) seem to be for OSS modules only.  I will report back once I have tried to add my aliases to modules.conf

----------

## ChopChopMasterOnion

I find that it gets choppy on my 600 and 600e thinkpads when the module is initially loaded.  to get proper sound, I have to unload and reload the module after the first loading of the module after boot. like this:

boot -> load module -> unload module -> load module

even by IBM's admission their integration of the sound chip in the 600/600e was flaky and even inconsistent, so between two 600e thinkpads one method may work and another may not work.  They've also decided not to pursue it further on their part, which I can understand since it's older anyhow (I am typing on one as I sit here, so naturally my opinion differs from theirs).  here's a script I use to load and unload the module.  I do it two or three times usually after booting, though it's not really necessary, just to make sure it gets done.  Works fine with OSS on 2.4 kernels, though I just got onto a 2.6 test kernel and have no sound yet.  I'll follow the instructions in the rest of this thread to see what I can get running.

The script (/root/.soundstart on my box, you may choose another name):

```
#!/bin/bash

rmmod cs4232

modprobe cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=9
```

----------

## miunk

Ok, I can follow all of the options except for the "mpu" stuff.  If I run a:

```
lspnp -v
```

One of the five "audio controllers" has IO of 0x530 and irq of 5, but nothing on the list has an io of 0x330?  Is this correct?  BTW, I am compiling a 2.4 kernel now to test.

What is an "mpu"?

----------

## miunk

As mentioned above, switching from the ALSA drivers to the OSS drivers did the trick.

----------

## ryan83vt

 *wire wrote:*   

> Hi,
> 
> I have a 600e also and have trouble following the instructions in this thread to get the sound working because there is no /proc/bus/pnp directory on my system, and therefore I can't use setpnp or lspnp. What do I do to fix that? What do you guys need to see to help me? I have the two pnp things in the kernel compiled as modules, and am going to try to compile them into the kernel right now.
> 
> -kai

 

How did you get this working? I put "+pnp" in my make.conf so lspnp exists but it says /proc/bus/pnp doesn't exist.

----------

## Galahad

Strange, for me the reight module is snd-cs4236, not 4232 (Thinkpad 600 2645).

You have to have a pnpbios supporting Kernel (2.4.x-ac series).

----------

## ryan83vt

 *Galahad wrote:*   

> Strange, for me the reight module is snd-cs4236, not 4232 (Thinkpad 600 2645).
> 
> You have to have a pnpbios supporting Kernel (2.4.x-ac series).

 

I have gentoo-sources-2.4.20-r6. Do I need to dl a different kernel source?

edit:

see https://forums.gentoo.org/viewtopic.php?p=721041#721041 for this question, I thought this was starting to diverge some from the original topic.

----------

## ryan83vt

I got lspnp and setpnp working, but I can't load the module:

```

$modprobe snd-cs4236

FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.0/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device

```

I have a thinkpad 600. I also have kernel 2.6 because that's the only way I could get lspnp and setpnp to work. I have the sound drivers compiled as modules, and NO SOUND. alsa-driver also won't compile anymore, but I still have it installed so I can still run it. Here's what I've done:

-compiled kernel

-installed alsa packages

-used setpnp to turn on the sound card

-run /etc/init.d/alsasound start

-get the error message from above.

----------

## ryan83vt

OK I am getting really impatient with this. Nobody has responded at all, and I have tried everything I can think of. It seems that everyone involved in this thread is gone, everyone in this thread has less than 100 posts but me, is anyone around who knows anything about this subject? Ok more info I have found is below...

dmesg outputs the following:

```

CS4236+ soundcard not found or device busy

```

only about 100 times. What is going on? I got rid of alsa-driver because I have kernel 2.6.

oh and when I run modprobe with io=530 or something like that, dmesg adds the following line to the end of the 100+ lines shown above:

```

snd_cs4236: Unknown parameter 'io'

```

coincidentally, lsmod yields

```

Module

snd_op13_lib

snd_hwdep

snd_cs4236_lib

snd_mpu401_uart

snd_rawmidi

snd_cs4231_lib

```

when none of these are in modules.autoload or modules.autoload.d/kernel-2.6

edit: on a side note, I just recompiled my kernel like I always do, but with oss support to see if that would help, and now it won't boot up, gives a "invalid compressed format (err=1)" error. Wonderful. my laptop hates me.

----------

## miunk

Sorry for not responding - I guess after you get this nightmare of a sound card working you never want to think about it again...

Anyway.  It still seems as though you insist on using ALSA.  Have you tried the OSS drivers?  You should be able to find them in the "make menuconfig" for the 2.6 kernel (that is what I am running as well).  So try "rc-update del alsasound" and recompile the kernel with the right OSS driver compiled as a module.  Then reboot to be paranoid and modprobe it.  

For my 600e this worked right away -- please give it a try and if you need I will post some more specifics.

----------

## recoco.zhang

pac_man,suggest you to install AlsaDrivers.here is the Specific cards and drivers which ALSA supports. http://alsa.opensrc.org/index.php?page=AlsaDrivers .In this doc,we can see that ALSA drivers really support cs423x sound chipset.

Another solution is to install kernel 2.6. Kernel 2.6 has a build in ASLA driver support.Just configure the kernel for ALSA and the CS4237 chipset.

Here is a good case.Pls visit http://home.nedlinux.nl/~bart/?page=11

good luck!  :Cool: 

----------

## AZbaer

I use Red Hat/Fedora and SUSE, when I installed these distro I had no sound. All th efixes would not work for me. I was lucky enough to have the orginal Software with the TP 600 that I bought. So I took the machine back to Win95, rebooted the machine into DOS and found that the sound card in DOS runs as a Soundblaster PRO, withthe settings of  220, 5 and 1. I have never tried ALSA but use sndconfig. Why the TP600 i have is a 266MHZ unit.

Since then I have always enjoied sound on my TP600.

----------

## elboricua

I have a thinkpad 600e 2645 5au.  I can get sound working on my laptop but only with OSS.  I cannot get ALSA to work at all.  I get the same error as others here.  However OSS sounds and works fine.  I use with ESD for sound on my laptop.  Here is how:

1.  I downloaded this ISO Image that loads with dos and has thinkpad configuration options for dos. ps2.exe is the name of the program on the iso.  I disabled the onboard modem.  I could not get it to work anyway, and got the exact configuration, irg, dma, io etc from the card.  I did that because I am lazy and it was easier than installing the Thinkpad Configuration Tools.

2.  I am using a 2.6.2 kernel with OSS compiled in and cs4232 compiled as a module.  If you compile the driver into the kernel you will only get clicks and static from the speakers.

3.  I did not set the modules to load in /etc/modules.autoload.d/kernel-2.6  For some odd reason I get the same weird popping sounds.  I am not sure why.  I found a script on the Linux on Laptops website and I use that to start sound.  I created the script and then call it from  /etc/conf.d/local.start

Here is the script

```
#!/bin/sh

        #

        # sound - start sound subsystem modules

        #

        # 2002-12-30,jtk

        case $1 in

        start)

                echo "Starting sound subsystem..."

#               /sbin/modprobe isa-pnp

                /sbin/modprobe ad1848

                /sbin/modprobe uart401

                /sbin/modprobe cs4232 io=0x530 irq=5 dma=1 dma2=0 mpuio=0x330 mpuirq=9

                          ;;

        stop)

                echo "Stopping sound subsystem..."

                rmmod cs4232

                rmmod uart401

                rmmod ad1848

#               rmmod isa-pnp

                ;;

        *)

                echo "Usage: $0 {start|stop}"

                exit 1

        ;;

        esac

        exit 0

```

I hope that this helps out anyone with a Thinkpad 600 series.

----------

## stormlead

Just a quick addendum to the really helpful post by elboricua:

you have to disable quick boot in the BIOS for this to work, otherwise the thinkpad wont assign IRQs (expecting a PnP OS).  In my experience, getting the BIOS to work requires pressing F1 before and during power-up, otherwise it won't go into it.

----------

## tbart

Hello!

As no solution completely worked for me, I'd like to sum up all the things i had to do to get it working on my TP600.

The soundcard is a cs4237B, isa card.

1) The pnp thing.

use lspnp as mentioned in one of the posts above, and setpnp -b to activate the card.

```
setpnp -b 0e on
```

 and 

```
setpnp -b 0f on
```

 in my case.

if this does not work, you have to activate pnp support in the kernel.

BUT: this was not enough for my config. i had to disable ACPI completely (though it works quite well despite the fact the notebook's so old); maybe you can turn it on again after setpnp-ing. i don't know.

2) Modules

use ALSA, it's newer and better. OSS works, too.

you'll have to emerge alsa-utils or alsa-tools, (i don't know which, i took both)

It took ages for me to find the correct settings, and it seems that isapnp=0 was the switch that finally did the trick. else i only had those "device not present or busy" thing. (i used kernel modules, not alsa-drivers.)

these are:

```

IBMTP600 ~ # cat /etc/modules.d/alsa 

# Alsa 0.9.X kernel modules' configuration file.

# $Header: /var/cvsroot/gentoo-x86/media-sound/alsa-utils/files/alsa-modules.conf-rc, v 1.4 2004/11/16 01:31:22 eradicator Exp $

# ALSA portion

alias char-major-116 snd

# OSS/Free portion

alias char-major-14 soundcore

##

## IMPORTANT:

## You need to customise this section for your specific sound card(s)

## and then run `update-modules' command.

## Read alsa-driver's INSTALL file in /usr/share/doc for more info.

##

##  ALSA portion

alias snd-card-0 snd-cs4236

## alias snd-card-0 snd-interwave

## alias snd-card-1 snd-ens1371

##  OSS/Free portion

alias sound-slot-0 snd-card-0

## alias sound-slot-1 snd-card-1

##

# OSS/Free portion - card #1

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-oss

alias sound-service-0-12 snd-pcm-oss

##  OSS/Free portion - card #2

## alias sound-service-1-0 snd-mixer-oss

## alias sound-service-1-3 snd-pcm-oss

## alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss

alias /dev/dsp snd-pcm-oss

alias /dev/midi snd-seq-oss

# TP 600 Sound

# found somewhere on Thomas Hood's page I guess

# does not seem to be important, works without it, too

# original

#options snd-card-cs4236 snd_port=0x530 snd_cport=0x538 snd_mpu_port=-1 snd_fm_port=0

x388 snd_irq=5 snd_dma1=1 snd_dma2=0

# ALSA sound

options snd-cs4236 index=0 port=0x530 cport=0x538 fm_port=0x388 irq=5 dma1=1 dma2=0 i

sapnp=0

# OSS sound

#options cs4232 io=0x530 irq=5 dma=0 dma2=1

# Set this to the correct number of cards.

options snd cards_limit=1

```

afterwards

```

rc-update add alsasound boot

```

to get your modules loaded and volume settings saved/restored.

you'll probably like to see relevant parts of my .config

```

#

# Sound

#

CONFIG_SOUND=y

#

# Advanced Linux Sound Architecture

#

CONFIG_SND=m

CONFIG_SND_TIMER=m

CONFIG_SND_PCM=m

CONFIG_SND_HWDEP=m

CONFIG_SND_RAWMIDI=m

CONFIG_SND_SEQUENCER=m

CONFIG_SND_SEQ_DUMMY=m

CONFIG_SND_OSSEMUL=y

CONFIG_SND_MIXER_OSS=m

CONFIG_SND_PCM_OSS=m

CONFIG_SND_SEQUENCER_OSS=y

# CONFIG_SND_VERBOSE_PRINTK is not set

# CONFIG_SND_DEBUG is not set

#

# Generic devices

#

CONFIG_SND_MPU401_UART=m

CONFIG_SND_OPL3_LIB=m

# CONFIG_SND_DUMMY is not set

# CONFIG_SND_VIRMIDI is not set

# CONFIG_SND_MTPAV is not set

# CONFIG_SND_SERIAL_U16550 is not set

CONFIG_SND_MPU401=m

#

# ISA devices

#

# CONFIG_SND_AD1848 is not set

# CONFIG_SND_CS4231 is not set

CONFIG_SND_CS4232=m

CONFIG_SND_CS4236=m

# CONFIG_SND_ES1688 is not set

# CONFIG_SND_ES18XX is not set

```

note: i use snd-cs4236 not snd-cs4232, this was just a try.

all this is working flawlessly on

```

IBMTP600 linux # uname -r

2.6.11-gentoo-r5

```

i do not isapnp in any way, that does not seem to work (and works like this, so why change?)

btw: if anyone reads that: i heard rumours that it is possible to put up to p3-800 into this notebook. up until p3-600 without soldering, 800 with soldering. (disable speestep routines)

this has to be a mmc2 boxed cpu. have a look at

http://www.wimsbios.com/phpBB2/viewtopic.php?t=4046&highlight=tp600

i do not know exactly if it's only possible with a 600e, but someone said that 600 -> 600e is possible, and lots of people put p3's into 600e's, working nicely.

ne1 living near austria is welcome to offer me a mentioned cpu!

to keep things clean, please post audio-related things here and pm me if it's cpu-related, this should not be posted here.

i hope this helped!

tbart

----------

## Lubomir

No. It ist not possible. The Thinkpad 600 have mmc1 that goes to max 400mhz.

I have upgradet my tp600 from 233 to 400, from 96mb ram to 42xmb ram, from 12gb hdd to 100gb 7200rpm and from cd to dvd-rw-dl    :Very Happy: 

----------

