Russell Coker: Taking my Thinkpad Apart and Cooling Problems
I ve been having some cooling problems with my Thinkpad recently. It s an old model T41p which is outside the service period so IBM/Lenovo won t help me (at least not unless I give them more money). If I run it for a few minutes at maximum CPU when the ambient temperature is about 20C then it gets to 90C, apparently 93C is the temperature at which it turns itself off, so obviously I need to do something to keep it cool. On the really hot days of summer my air-conditioners can t keep any part of my house below 30C, so on such days I can t do any compiles on my Thinkpad or watch videos.
My Thinkpad seems to idle at a temperature that is about 35C higher than the ambient temperature. At this rate the system could get close to it s maximum temperature on a 45C day by just idling! Not that I plan to have a warm Thinkpad on my lap if I ever happen to be outside on such a hot day.
I suspect that a large part of the problem is the dust that has accumulated inside the machine. I asked about this on the LUV mailing list and Andrew Chalmers suggested The Chaos Manor review of taking a Thinkpad T41p apart [1]. The Chaos Manor guy wanted to replace his CPU with a faster one so he had to get access to all the same bits.
I followed the instructions until I got to the stage of prying the heatsink off the video chip. I figured that I will never be able to attach it as well as it is currently attached so I will get different cooling problems if I go any further. Taking it apart to that degree was a moderate amount of work, getting the keyboard bezel off was the most difficult part, and taking the palm-rest off required removing bits of plastic that were stuck in place to cover screw holes which will probably fall off in a week or two.
Probably everyone who owns a T41p that they regularly use has a similar problem to me as all such machines have been out of support long enough to have accumulated a lot of dust. So I recommend that other T41p owners not disassemble their machine as much as I did, but instead go for my plan B which is to blow compressed air through the CPU cooling system. Doing this merely requires removing the keyboard. One tip that I have heard is that you should hold the fan in place when blowing compressed air as the pressure of the air may spin the fan fast enough to generate enough electricity to damage the motherboard or damage it s bearings. But you might want to wait until I ve got my Thinkpad done before you blow compressed air through yours, it could very well be destroyed.
The other option is to try and use software to control the temperature. Patricia Fraser suggested controlling the fan speed [2]. I did some experiments and found that increasing the fan speed dramatically slowed the increase in the temperature. A 10 minute build is almost certain to bring the temperature to dangerous levels in a default configuration, but it seems that if I set the fan to maximum speed before starting the build then I can mitigate this problem. Most programs that I work on will compile in significantly less than 10 minutes.
Another possibility that occurred to me is that of limiting the speed of the system. It seems that ACPI has support for reducing the CPU frequency when the temperature rises too much, but Matthew Garrett has pointed out that this effectively increases the amount of energy used (and heat dissipated) for any given quantity of work [3]. So what I want to do is to cause the CPU to idle periodically when it gets too hot. I ve been idly considering writing a program that uses SIGSTOP and SIGCONT to control the operation of programs such as make, or writing a program that creates a new pty (like script) and pauses the output whenever the CPU gets too hot.
Of course the easy option would be to figure out how to set the threshold temperature where the CPU speed is limited. Which is made slightly more complicated by my choice of kernel 2.6.30 for Ext4 support. Now the kernel doesn t work with my acpid and I m starting to get forced into an upgrade to Debian/Testing.
Does anyone have any ideas?
Funnily, I just discovered while digging in a user issue of my pet
package geneweb, that "start-stop-daemon" has a "--umask" switch,
designed exactly for doing what I currently do with a wrapper script
in the package..:-)
After all, it's only 3.5 years that it's sitting here waiting for
me..:-)
Looks like I'll have to do an upload for geneweb which I'll do happily
as it will drop what I consider a quite bad hack.
"We are currently working on getting the code shipped out, we have your shipping address on file and will ship the code out as soon as it is ready, this will be by the end of this month."
One thing everyone forgot to talk about the WebKitGTK+ hackfest was that master Dan Winship added basic Content-Encoding support to libsoup, and patched WebKitGTK+ to use it. If you are using a recent enough version of those you will finally be able to visit web sites that send gzipped content despite the browser saying it could not handle it, like the
I've been using an iphone since late 2007 as my primary phone and so
I've gotten quite a few contacts and SMS conversations stored on it.
Now that Collabora has given me a nice and shiny N900, I wanted to
move my contacts and conversations over, but this proved to be a bit
more work than expected. Please note that the following procedure
worked for me, I have tried to take reasonable steps to prevent
anything breaking, but if something breaks, you get to keep both
pieces. I am not responsible and this comes with absolutely no
warranty. Take backups.
What you need
So I previously mentioned I'd knocked up a simple automation tool, for deploying policies (read "scripts") from a central location to a number of distinct machines.
There seemed to be a small amount of interest, so I've written it all up:
Merry Christmas! Happy New Year! Yeah, it's that time of year again, I am writing a blog post 


My mutt said this last night:
WICD 1.7.0-1 just landed in Unstable!
This is supposed to be the last 1.* release -- upstream will actively work on 2.0, and fix
bugs on 1.7 only if they're serious enough.
I will obviously support 1.7 until 2.0 comes out
Enjoy!
News is slow this month on the FusionForge development front. We're
all busy gathering all the things that we want to go into the next
release, but there's no big news from the code. However, there is
something of interest.
You may have heard about the Coclico project, which is an initiative
aiming at collaboration and convergence between several forge engines,
most notably FusionForge, Codendi and Novaforge. That project was
started last October, and it holds regular meetings with its members.
The next meeting is scheduled for the 2nd of February in Paris, and we
thought we could host an open meeting on the 3rd for non-Coclico
members, a bit like the forge meeting we had last year (which is when
FusionForge was officially born), but with an emphasis on what Coclico
did so far. Since most of the FusionForge hackers are in Western
Europe, and several are in Paris (especially if we add those who go to
Paris for the Coclico meeting), we thought it would also be a good
opportunity to gather for a technical and social meeting.
It seems the Coclico open session didn't generate much interest this
time (at least, it hasn't so far), so I proposed to hijack the room
for this FusionForge meeting, and I didn't hear any objections. I
have several themes I'd like to discuss with people, and possibly
start implementing during that day: