Bug 4078 - kernels 2.6 destructive for IBM TP600 sound chip
Summary: kernels 2.6 destructive for IBM TP600 sound chip
Status: RESOLVED CODE_FIX
Alias: None
Product: Platform Specific/Hardware
Classification: Unclassified
Component: i386 (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: other_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-22 03:29 UTC by Wim Osterholt
Modified: 2008-09-22 09:00 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.*
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Wim Osterholt 2005-01-22 03:29:32 UTC
Distribution: ALL kernels 2.6.5 (- 2.6.9)
Hardware Environment: IBM Thinkpad TP600 laptop (P2MMX 233MHz 64MB)
Software Environment: Gentoo, Redhat, rescue CDs (RIP)
Problem Description: upon reboot the audio chip (cs4232) appears destroyed.

Steps to reproduce: boot just a 2.6 kernel.

A second problem is that some kernels will crash before you even get to the
prompt. Rescue CDs (RIP) will run. Selfmade kernels in gentoo will crash, unless
you disable hotplugging at compile time. (Crashing requires nothing more than
taking a good .config from my 2.4 kernel and run make oldconfig and not
selecting anything new.)

'Solution': please put a big warning somewhere to NOT RUN a 2.6 kernel on this
piece of hardware.  I realise that there won't be that many TP600s out there,
even less that will ever run a 2.6 kernel. It will be a very tedious job to get
hold of this problem. (Yes, the sound chip can be restored, but it takes hours
and cannot be easily be done by Joe Average. I succeeded in getting it back some
ten times, but I don't know if that will stay possible.) 

The only warning I ever met is in the 'lmsensors' package to not run
sensors/sensors-detect on a TP600 because it will destroy the sensor chip(s).
(I'm not even aware of any sensors in the TP600)
I think the problem is similar. (The main board chipset gets reconfigured in a
way that some things are available at different addresses, or none at all.)

Regards,
Wim Osterholt
Comment 1 Natalie Protasevich 2007-08-23 15:06:18 UTC
Wim,
Are you still using the laptop, have you resolved problem with booting linux 2.6+ on it?
Thanks.
Comment 2 Wim Osterholt 2007-08-23 19:08:29 UTC
bugme-daemon@bugzilla.kernel.org zei ooit: 
>Subject: [Bug 4078] kernels 2.6 destructive for IBM TP600 sound chip
>Date: Thu, 23 Aug 2007 15:06:18 -0700 (PDT)
>
> http://bugzilla.kernel.org/show_bug.cgi?id=4078
> 
> 
> protasnb@gmail.com changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |protasnb@gmail.com
>           Component|Other                       |i386
>             Product|Other                       |Platform Specific/Hardware
> 
> 
> 
> 
> ------- Comment #1 from protasnb@gmail.com  2007-08-23 15:06 -------
> Wim,
> Are you still using the laptop, have you resolved problem with booting linux
> 2.6+ on it?
> Thanks.

Hello,

I'm surprised to hear from you; It's the only mail I received.
Since there's no date reference to the original report, I cannot easily
retrace the original message to check, I'm afraid.
There isn't much to add anyway.

Yes, I'm still using them (both) and nothing has been resolved.

There is a thinkpad mailing list, but that wasn't helpful either.
It must be that IBM (like so many other manufacturers seem to do) assembled
their ThinkPad600 from different kinds of hardware without any indication in
the type designation. I have two different kinds of TP600, both bearing the
IBM notation 'type 2645', both crashing on kernel 2.6 and leaving a dead
sound system.
Since there seem to be people happily running kernel 2.6 (the majority?)
there must be another kind of hardware around. I've met only disbelieve..
(Crashing means it does make it hardly ever to the prompt before locking up
 on whatever rescue disk / live CD I have tried.)


I managed to make a stripped down kernel version (2.6.18 I believe it was) that
actually did run for a while, but a laptop without PCMCIA support is totally
useless. And it still messes up the sound system.
It's too tedious a job after every 2.6 boot/crash to open it up to remove the
CMOS battery and follow a cumbersome procedure with an external setup program
(PS2.EXE, booted from floppy, doing nasty things on your DOS partition) to get
all settings restored. I couldn't get it automated.
I don't know how to debug a starting kernel. If the problems would occur at
all in a virtual machine, I cannot run vmware ('missing cmov instruction')
if that would help.


Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 3 Natalie Protasevich 2007-08-24 01:33:20 UTC
Sorry to hear this, what a sad story. 
You can start with providing information on how your system crashes. All boot messages that appear on the screen are important and can tell what actually happened. You can make a screen shot or snap picture with your camera, or catch those with serial console, or just write them down and attach to this bugzilla.
Comment 4 Wim Osterholt 2007-08-25 07:23:33 UTC
bugme-daemon@bugzilla.kernel.org zei ooit: 
>Date: Fri, 24 Aug 2007 01:33:20 -0700 (PDT)
>
> http://bugzilla.kernel.org/show_bug.cgi?id=4078
> 
> ------- Comment #3 from protasnb@gmail.com  2007-08-24 01:33 -------
> Sorry to hear this, what a sad story. 
> You can start with providing information on how your system crashes. All boot
> messages that appear on the screen are important and can tell what actually
> happened. You can make a screen shot or snap picture with your camera, or
> catch
> those with serial console, or just write them down and attach to this
> bugzilla.

Good you reminded me of the serial options in lilo and grub; I've never
played with that.
I need some time to collect these data. (IRCC the crashes occurred somewhat
randomly. Once I even could log in before it froze.) 


Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 5 Wim Osterholt 2007-09-05 18:10:35 UTC
bugme-daemon@bugzilla.kernel.org zei ooit: 
>Subject: [Bug 4078] kernels 2.6 destructive for IBM TP600 sound chip
>Date: Wed,  5 Sep 2007 04:45:13 -0700 (PDT)
>
> http://bugzilla.kernel.org/show_bug.cgi?id=4078
> 
> 
> bunk@kernel.org changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |bunk@kernel.org
>          Regression|0                           |1
> 
> 
> 
> 
> -- 
> Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
> You reported the bug, or are watching the reporter.
> 

Hello,

I don't understand the meaning of this apparently empty message.

If you are waiting for more test reports, just be patient.
My findings thusfar don't fit very well my earlier statements. I may need to
explain how I got so far.
Someone gave me a TP600, which I'm happily using ever since. Since it's not
likely that I can afford a new laptop, just to get rid of a few problems (and
get new ones in return?) I'm going to keep using it for a long time to come.
Less of a problem was that I couldn't run a 2.6 kernel (only needed for the
new hostap development). Big problem was that a 2.6 kernel would disable
sound, while playing music is a primary life requirement, sort of.
This has changed a bit now that Gentoo announced to drop kernel 2.4 support
in november! ('your profile will be removed' in their language.)

Then they gave me another TP600 with only 32MB RAM, a smaller harddisk, no
battery and no power adapter. The screen was a bit larger (800x600), but
otherwise it looked the same: sound got lost when trying a 2.6 kernel.
So it stayed just a spare machine that got not much attention.
It's just last week that I realised that it had a different CPU, video
chipset and what else. (Pentium II Deschutes  instead of Mobile Pentium MMX)

I'm not sure how and what I tried in the past, I think that has been years
ago.  Now I only tried this spare machine and am amazed to find that it is
capable of running RIP-7.5 just fine. (Rescue In Peace CD, kernel 2.6.2)
It will however disable the sound system.
Note that /proc/cpuinfo reports erroneously 59.244MHz for the actual speed
of 233MHz.
The somewhat larger RIP-15.2 (kernel 2.6.16) will boot up to the prompt and
will occasionally show a 'respawning too fast' error. Actually logging in
is not possible due to lack of ramdisk space. (it's only 32 MB!)
Booting the latest BackTrack CD will end up in looping in endless errors,
all related to (lack of) memory somehow.
Booting recent install CD's from distributions like Ubuntu or Suse is not
possible because of a new booting standard which I don't understand.
Only CD's with a 'boot floppy image' can boot on old machines like TP600. 

I've not yet tested these boot CD's on my normal TP600 on which I'm typing
this mail right now. I owe you that.

I may need to switch RAM and harddisk to the spare TP600, just to run
2.6 kernels, but it must be safe for the sound system first.
The sound chip is a CS4232 (or compatible).
The I/O address is settable by PS2.EXE. When kernel 2.6 disabled the sound
system, PS2.EXE will not restore it to one of the two I/O settings and
the chip remains invisible anywhere in the I/O address space. (using a DOS
tool).
It makes me think that the kernel probing disables the address decoder(s)
somewhere in the chipset, fortunately enough a setting that can be restored
by removing the CMOS battery.
I once tried a kernel with almost everything modularized in the hope that
the bare kernel would leave the sound untouched, to no avail.
I don't feel capable to dig up in the source where all the probing happens
or to find the relevant differences with 2.4 kernels.

Regards,
Wim Osterholt.


----- wim@djo.tudelft.nl -----
Comment 6 Natalie Protasevich 2007-09-22 22:19:53 UTC
Wim, please take your time working on this; previous message only meant that the bug was marked as "regression".
Comment 7 Wim Osterholt 2008-01-22 17:54:59 UTC
bugme-daemon@bugzilla.kernel.org zei ooit: 
>Date: Wed,  5 Sep 2007 18:10:36 -0700 (PDT)

>------- Comment #6 from protasnb@gmail.com  2007-09-22 22:19 -------
>Wim, please take your time working on this;

Whell, I did take some time, but almost forgot what to report.

> ------- Comment #5 from wim@djo.tudelft.nl  2007-09-05 18:10 -------
> 
> >Date: Wed,  5 Sep 2007 04:45:13 -0700 (PDT)
> 

I ran the same tests I did on the spare TP600 now on my regular TP600.
It also ran RIP-7.5 just fine. (Rescue In Peace CD, kernel 2.6.2)
It did not mangle the sound system. 
The somewhat larger RIP-15.2 (kernel 2.6.16) crashes in an endless loop that
makes it hard to read what happened. On 32MB it ended up having not enough memory
to unpack and hold all required stuff in ram, but it just couldn't run them.
Now on 64MB it has not enough memory either, but it crashes on some program
now only partially available. If it were longer ago I would have serial terminals
and cabling available, but that's all gone. I'm not going to build it up to
see that it's all about insufficient memory, which is now clear to me.
Booting the latest BackTrack CD will now succeed, wether 64MB is enough or
it found some swap partiton to use. (It doesn't correctly use the graphical
screen: it seems to think that is has a larger screen, like the other TP600.)

The conclusions now are that kernel-2.6 _can_ run on a TP600, but that there
are now (at least) _two_ places in kernel-2.6 that will affect the audio
system.

Unfortunately I don't have any configuration info for these kernels.
(I haven't asked the maintainer of the RIP distributions yet.)

So you may be glad that it seems not to be that kernel-2.6 crashes on a TP600,
but I am not, because I still cannot run them.

Regards,
Wim Osterholt.


----- wim@djo.tudelft.nl -----
Comment 8 Natalie Protasevich 2008-02-02 02:18:08 UTC
Thanks for the report. If you manage to collect boot traces please attach them.
Comment 9 Natalie Protasevich 2008-05-13 10:46:03 UTC
Please reopen the report if you have outstanding problems with the latest kernel.
Comment 10 Wim Osterholt 2008-05-15 17:23:50 UTC
bugme-daemon@bugzilla.kernel.org zei ooit: 
>Subject: [Bug 4078] kernels 2.6 destructive for IBM TP600 sound chip
>In-Reply-To: <bug-4078-4844@http.bugzilla.kernel.org/>
>Date: Tue, 13 May 2008 10:46:03 -0700 (PDT)
>
> http://bugzilla.kernel.org/show_bug.cgi?id=4078
> 
> 
> protasnb@gmail.com changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|NEW                         |REJECTED
>          Resolution|                            |UNREPRODUCIBLE
> 

And again I do not understand the above stuff.
The problem is quite reproducible. If you bother to just borrow one or
two TP600's and dare to boot from a few boot-CDs with kernel 2.6 you'll
get convinced soon enough.

> 
> ------- Comment #9 from protasnb@gmail.com  2008-05-13 10:46 -------
> Please reopen the report if you have outstanding problems with the latest
> kernel.

You do not mention what you consider to be this latest kernel.
Gentoo, which I'm using, does not go higher than 2.6.23-r8.
At kernel.org I find 2.6.25 and 2.6.25.3 and 2.6.26-rc2.
It's not quite clear to me that the latter one is the one you might refer
to.
Since it still takes a lot of time to compile a kernel on this slow laptop
that also gets more and more unstable every day (because gentoo dropped
support for 2.4 kernels and now every update introduces more bugs. Even
modprobe is suddenly segfaulting) I may give it one shot if compiling
succeeds.


Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 11 Natalie Protasevich 2008-05-15 18:01:01 UTC
You can use latest stable release from kernel.org (it's 2.6.24.5 as of today), or just compile latest git tree, depending on how you prefer to download kernel source. Anything above 2.6.25  can be considered pretty fresh.  
Thanks.
Comment 12 Wim Osterholt 2008-05-16 16:43:30 UTC
> 
> ------- Comment #11 from protasnb@gmail.com  2008-05-15 18:01 -------
> You can use latest stable release from kernel.org (it's 2.6.24.5 as of
> today),
> or just compile latest git tree, depending on how you prefer to download
> kernel
> source. Anything above 2.6.25  can be considered pretty fresh.  
> Thanks.
>

2.6.26-rc2 happened to be the first one present. Quickly ran make oldconfig
on a config file of 2.6.18 (the last one I tried).
After compiling it could even boot up to a prompt somehow.
Much to my surprise after booting back to normal I had the sound system
still working!

Next I must try a fully featured config and check if that would work out.
So far it looks good.


Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 13 Wim Osterholt 2008-05-19 17:26:58 UTC
> ------- Comment #12 from wim@djo.tudelft.nl  2008-05-16 16:43 -------
> 
> > 
> > ------- Comment #11 from protasnb@gmail.com  2008-05-15 18:01 -------
> > You can use latest stable release from kernel.org (it's 2.6.24.5 as of
> today),
> > or just compile latest git tree, depending on how you prefer to download
> kernel
> > source. Anything above 2.6.25  can be considered pretty fresh.  
> > Thanks.
> 
> 2.6.26-rc2 happened to be the first one present. Quickly ran make oldconfig
> on a config file of 2.6.18 (the last one I tried).
> After compiling it could even boot up to a prompt somehow.
> Much to my surprise after booting back to normal I had the sound system
> still working!

The latest 2.6.24-gentoo-r8 (judging from the patches this is 2.6.24.7)
also left the soundsystem working.

It looks like you've done good work. :-)
Thanks.

Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 14 Natalie Protasevich 2008-05-19 17:39:24 UTC
Yea, there are quite a few really really awesome people working on this kernel...
Glad you have your system working, good luck.
Comment 15 Wim Osterholt 2008-06-19 16:46:23 UTC
>Date: Mon, 19 May 2008 17:39:25 -0700 (PDT)
>
> http://bugzilla.kernel.org/show_bug.cgi?id=4078
> 
> ------- Comment #14 from protasnb@gmail.com  2008-05-19 17:39 -------
> Yea, there are quite a few really really awesome people working on this
> kernel...
> Glad you have your system working, good luck.

Sorry to bother you again, but I cheered too soon.
Somehow blinded by old habits, I believed in miracles too easily.
Thinking the mixer was silenced by a reset and was not enabled by POST
routines, I alway used 'aumix -L' in the startup scripts. I didn't notice
any errors because the mixer now remained in an enabled state and I was happily
enjoying the cdplayer all the time. (I seldomly use aumix for sound control).

Kernel 2.6.24-gentoo-r8 (and GoblinX-mini CD) made the sound chip disappear
in a working state (later?), so that POST routines cannot find it to change
state. Don't know if it always works out the same.

I was just concentrating on getting udev and pcmcia to work on 2.6 and
didn't notice the sound problem until now.
A stripped down kernel may have been safe recently, but the more full blown
version I need still isn't.


Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 16 Wim Osterholt 2008-06-29 16:01:31 UTC
> ------- Comment #15 from wim@djo.tudelft.nl  2008-06-19 16:46 -------
> 
>...
> A stripped down kernel may have been safe recently, but the more full blown
> version I need still isn't.

Just to elaborate some more on it:
I happened to stumble on a brandnew release of BackTrack3-final two weeks
ago and a brandnew release of GobliX-Mini three weeks ago. I expected their
kernels to be sufficiently 'new', like you asked for.

BackTrack3-'final' :-(yet full of bugs)-: stayed at an 'old' kernel for some 
unknown reason. Booting the bare kernel-2.6.21.5 (without any modules present)
disabled the sound system effectively.

Goblinx-Mini runs 2.6.24.3, but booting that bare kernel didn't perform any
better. This kernel at least has its configuration compiled in.

I should start with a totally stripped down version of the kernel, then
adding features one by one. If I ever get through this time consuming 'brute
force debugging' I'll let you know.


Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 17 Wim Osterholt 2008-06-29 18:18:08 UTC
> ------- Comment #12 from wim@djo.tudelft.nl  2008-05-16 16:43 -------
> > ------- Comment #11 from protasnb@gmail.com  2008-05-15 18:01 -------
> > You can use latest stable release from kernel.org (it's 2.6.24.5 as of
> today),
> > or just compile latest git tree, depending on how you prefer to download
> kernel
> > source. Anything above 2.6.25  can be considered pretty fresh.  
> > Thanks.
> >
> 
> 2.6.26-rc2 happened to be the first one present. Quickly ran make oldconfig
> on a config file of 2.6.18 (the last one I tried).
> After compiling it could even boot up to a prompt somehow.
> Much to my surprise after booting back to normal I had the sound system
> still working!

Tried it again, works out the same.
2.6.26-rc2 also makes the sound mixer disappear. What fooled me was the
difference that in this case the mixer settings are not zeroed before the
mixer disappears. When I start the CD player, I hear the music.

It prooves the sound mixer registers are not zeroed by a hard reset, harware
wise. So that is done by software.
Kernel 2.6.26-rc2 behaves differently compared to older kernels I tried,
in this respect.
This is reproducible.


Regards, Wim.


----- wim@djo.tudelft.nl -----
Comment 18 Wim Osterholt 2008-07-06 18:12:44 UTC

> ------- Comment #7 from wim@djo.tudelft.nl  2008-01-22 17:54 -------
> 
> I ran the same tests I did on the spare TP600 now on my regular TP600.
> It also ran RIP-7.5 just fine. (Rescue In Peace CD, kernel 2.6.2)
> It did not mangle the sound system. 
> The somewhat larger RIP-15.2 (kernel 2.6.16) crashes in an endless loop that
> makes it hard to read what happened.

I fetched some extra memory from cannibalized hardware and could run he
above more easily now.  (160MB)
It is clear that the RIP rescue CDs do not harm the sound system.
The maintainer, Kent Robotti, didn't answer email. However, somewhere
I dug up the configuration of the RIP-15 kernel.
I tried that config file on kernel 2.6.24-gentoo-r8. The make procedure
kept on posing many new questions on which I answered NO. The resulting
kernel left the sound system untouched. Hooray.

There's now a tedious job left to add all the features I need, one by one,
to get to the point where it goes wrong.

Groeten, Wim.


----- wim@djo.tudelft.nl -----
Comment 19 Thomas Gleixner 2008-09-05 04:20:14 UTC
Wim,

impressive detective work. Is there any update to this or anything we can help with ?
Comment 20 Wim Osterholt 2008-09-05 05:33:36 UTC
bugme-daemon@bugzilla.kernel.org zei ooit: 
>In-Reply-To: <bug-4078-4844@http.bugzilla.kernel.org/>
>From: bugme-daemon@bugzilla.kernel.org
>Date: Fri,  5 Sep 2008 04:20:14 -0700 (PDT)
>
> http://bugzilla.kernel.org/show_bug.cgi?id=4078
> 
> ------- Comment #19 from tglx@linutronix.de  2008-09-05 04:20 -------
> Wim,
> 
> impressive detective work. Is there any update to this or anything we can
> help
> with ?
> 

You are right. But so far there isn't anything useful to report on the
subject.
Using kernel 2.6.24-gentoo-r8 I came to a point that the laptop could
become useful (working PCMCIA, USB, sound), but it hasn't lead to a disabled
sound chip yet. And there are lots of (useless for me) options left to
try out, brute-forcing is a long way to go and you didn't point out a more
elegant way to get there.

There is one positive thing to report:
The TP600 has a little joystick in the middle of the keyboard. I always
thought it had flaky hardware. When starting gpm it almost never gave me
mouse functionality. I was obliged to press the joystick firmly to a side
while gpm was starting up. And even then I sometimes had to restart it a few
times to get it working.
Now, on kernel 2.6 it just starts perfectly on its own. The same gpm. It
must be a kernel matter.

Now the bad news, the are bugs to report.
At some point in history alsa got developed. I never used it.
With kernel 2.6 good old support (for cs4232) has vanished, so
I'm forced to use alsa. It works more or less. (snd_cs4232)
I foolishly switched to kernel 2.6.25 'the latest' and couln't get alsa
to work. All modules got loaded automatically (even with on-demand loading
disabled), lsmod told me they were 'in use' and I couldn't unload them.
Nothing worked and I didn't find a way to check if it did use the correct
settings. Removing the modules, adding them later and loading them manually
gave the same results and no errors. I'll stick to 2.6.24 now.
With the 2.6.24 kernels I stumbled on a situation that I could not set
the microphone level. Then I found a situation that I at least could
set a non zero level, but the microphone still gave no sound!
(The microphone works fine under kernel 2.4)



Groeten, Wim.


----- wim@djo.tudelft.nl -----
Comment 21 Alan 2008-09-22 09:00:27 UTC
If there are still ALSA bugs please open new bugs for just those.

Note You need to log in before you can comment on or make changes to this bug.