Sunday, May 17, 2015

Lenovo Thinkpad X201 Fan Replacement

This is not a Python-related post per se, but it may be useful to people getting started with UNIX-based, open source software, or even a Windows user who happens to be using a Thinkpad X201 laptop.


1) I use OpenBSD as my operating system because I am striving to learn UNIX and I find that distro the best for me for that purpose.

2) The venerable legacy IBM/current Lenovo Thinkpad line of laptops tends to be one of the best supported by OpenBSD and other BSD development communities (small, but loyal dev and user base).

3) I buy my Thinkpads refurb'd because they're cheaper that way.

4) Laptop parts only last so long before they start failing, more so with refurbished ones.  It was easy to replace the hard drive; the fan is a bit more complicated in terms of disassembling the laptop.

5) I'm a bit mechanically challenged and tend to break things permanently when trying to fix them.  This post hopefully will serve to help others overcome this lack of confidence and fear.

There is actually a really good step by step still frame photo series on the web about how to take apart a Thinkpad X201 and replace the fan.  I used that extensively during this task:

A walkthrough of my experience and a few notes:

Mr. Dexter's Star Wars joke about philips head screws (actually bolts) notwithstanding, stripping those little guys is a problem.  I was lucky this time.  In my model train adventures, I've been less so.

There are few things more annoying than a deep seated, little phillips head bolt or screw.  The thought of taking a power drill to a laptop to extract one of these makes me a bit nervous.  Fortunately, just before Radioshack went bankrupt a few months back, I found a nice set of long shaft phillips head screwdrivers in Tucson in one of their stores.  Those tools have been indispensible.

This is the laptop after I got the fan hooked up.  There is a forum on the internet from a few years back where someone is asking how to test the fan.  People just kept trolling him and laughing at him.  Here is how it's done.  Basically you hook everything up (in my case I only needed the power, screen, and keyboard) without actually putting the laptop back together (those zillion phillips head bolts!) and boot up.  It's hard to see, but the fan is happily whirring away over there on the left.

It's weird operating on a machine you're used to having in one piece - reminiscent of those scenes in STTNG where they take apart LCDR Data ("Data and Commander Riker are in engineering examining Data's head.")

Heating up:

You don't want to test the computer too long in this state (without the fan in the proper place and the machine put back together).  Thinkpads and the X201 in particular are notorious for running hot.  You can see from the screen that the machine is heating up at about a degree Centigrade in the time it takes me to type in the next sysctl command/query.

sudo shutdown -hp now

I put it all back together and the only (well, not really - see below) thing different was a slight nick on the keyboard:

Hey!  Where did these "extra" screws (bolts) come from?!  Uh-oh . . .

. . . and the sound doesn't work either - looks like I was a bit too hasty in putting this thing back together.  We'll give it another try . . .

. . . it looks like some of those extra bolts hold that important piece of aluminum in place . . .

. . . and a few more over here . . .

. . . uh, OK, that's my problem with the sound :-(

That sound card connection is paper thin - I think that's why it has to be secured with a little snap-in thingy in the picture.  Hardware is pretty amazing sometimes.  To all my electrical engineering friends:  I bow to you.

This time I test the laptop again, but for sound.  Doing what computer techs do (taking apart laptops and fixing them)

I tell you folks
It's harder than it looks

(Sorry, had to).

After I got all the screws (bolts) put back in (save 4 - I have no idea and I'm leaving good enough alone), I still (thought) I had a problem with the sound.  It turns out I've been through this before.  On UNIX-based systems the X201 mute key works funkily.  This link explains it a bit for a Debian Linux system.  Whether OpenBSD is different under the hood or not, the behavior to the user is essentially the same:

And I was good to go!

Hope this helps someone like me.

Thanks for stopping by.