Linux 2.6.1 on a Thinkpad 600E
Jan. 14th, 2004 02:54 pmAs always, I've been trying to upgrade my Linux box and keep it current with the most recent deployments. Now that the 2.6.1 kernel is out I've been working out how to install it on Lain, which is a thinkpad 600E.
My first try through was a complete bust. I didn't understand the new module model well enough, but after re-reading the instructions I managed to get it to work; I could reboot to 2.4 and run in 2.6 without much problem. The sound is different in 2.6; instead of a hacked cs4232 card, it actually recognized the cs4600 card and uses it. Unfortunately, this doesn't do me much good as I still can't get sound working.
But the real nightmare was that APM didn't work. That's a killer on a laptop, naturally, where having power management is essential, especially if you want the laptop to suspend correctly. I finally found the culprit. The relevant discussion regarding the Thinkpad 600 line can be found here. Note that if the patch isn't in the correct places in 2.6.2 you may have to hack this patch in by hand. It's completely cargo-cult; I don't understand quite what it does in the place that it's in, but I understand the effect: it pokes the port to turn off the floppy driver in the BIOS. A closer look at the code shows that this is where are block devices are instantiated in the kernel and hardware responsibility for them is surrendered.
I had hoped that would be the end of it, but no. Of course not. I was given another rude shock when, after popping out the network card, ifconfig locked up trying to shut down the ethernet port. This was not the case on the 2.4.21 kernel.
I had hoped to have the 2.6.1 kernel up and running quickly. It promises a great many improvements. But not today. I've gone back to 2.4.21 and will probably be there for a few more weeks.
My first try through was a complete bust. I didn't understand the new module model well enough, but after re-reading the instructions I managed to get it to work; I could reboot to 2.4 and run in 2.6 without much problem. The sound is different in 2.6; instead of a hacked cs4232 card, it actually recognized the cs4600 card and uses it. Unfortunately, this doesn't do me much good as I still can't get sound working.
But the real nightmare was that APM didn't work. That's a killer on a laptop, naturally, where having power management is essential, especially if you want the laptop to suspend correctly. I finally found the culprit. The relevant discussion regarding the Thinkpad 600 line can be found here. Note that if the patch isn't in the correct places in 2.6.2 you may have to hack this patch in by hand. It's completely cargo-cult; I don't understand quite what it does in the place that it's in, but I understand the effect: it pokes the port to turn off the floppy driver in the BIOS. A closer look at the code shows that this is where are block devices are instantiated in the kernel and hardware responsibility for them is surrendered.
--- linux/drivers/block/ll_rw_blk.c_ORIG Mon Jan 5 20:51:28 2004
+++ linux/drivers/block/ll_rw_blk.c Mon Jan 5 20:35:23 2004
@@ -2690,6 +2690,9 @@
for (i = 0; i < ARRAY_SIZE(congestion_wqh); i++)
init_waitqueue_head(&congestion_wqh[i]);
+#if defined(__i386__) /* Do we even need this? */
+ outb_p(0xc, 0x3f2);
+#endif
return 0;
}
I had hoped that would be the end of it, but no. Of course not. I was given another rude shock when, after popping out the network card, ifconfig locked up trying to shut down the ethernet port. This was not the case on the 2.4.21 kernel.
I had hoped to have the 2.6.1 kernel up and running quickly. It promises a great many improvements. But not today. I've gone back to 2.4.21 and will probably be there for a few more weeks.
Re: drrrrrr....
Date: 2004-01-17 04:55 pm (UTC)