IBM Thinkpad 600E bios mod for processor update

Don't ask how to hack password. (BIOS Passwords)
KevP
New visitors - please read the rules.
Posts: 6
Joined: Fri Jul 04, 2008 11:34 am

Sorry, it got moved during maintenance. It's back up now. Let me know you results.. 8)
pikaia
New visitors - please read the rules.
Posts: 10
Joined: Fri Apr 18, 2008 8:49 pm

Thanks for the link. It works great. But I can't seem to find anything that automatically restarts the L2 cache after suspend or sleep mode. Am I just missing it?
KevP
New visitors - please read the rules.
Posts: 6
Joined: Fri Jul 04, 2008 11:34 am

Hi, I don't know how this could be achieved from within Windows. A quick Google search turned up some hits for running a program on ACPI resume by using an event notification. I'd have to research this (free time is in short supply at the moment!). On the Armada we don't have this problem, the L2 cache is always on once first enabled.
gilf
BIOS Rookie
Posts: 38
Joined: Mon Feb 18, 2008 5:10 pm

Just checked this thread again after a number of months and am glad to see it is still of use to many people.

I'd like to update you all on our two TP 600E laptops which were modded with both the processor upgrade and the bus upgrade.

They work hard every day absolutely reliably! My wife and I each have one, and we are running Ubuntu 7.10 (Gutsy Gibbon) as the primary OS, with VMWare able to run Windows 98 SE as a guest operating system. I also have another partition with straight Win98SE, and can boot with Grub bootloader into that.

They are plenty fast for ordinary purposes, including running two OS at once, and playing DVD movies without jitter full screen on the Ubuntu OS as long as the color depth is set at 16 bit. The movie player that seems to work best with this setup is VLC.

With regard to heat, I had purchased a larger heat pipe and fan set from another computer (as detailed by one person early in this thread), but I have never had to install it. My computer runs warm but not hot under ordinary use and has been absolutely reliable. (DVD movies cause it to run hotter than normal use, so I make sure it is not sitting on a bed or cushion.)

I also have the max RAM possible at about 554 Megabytes on this machine I am typing on right now. It has been running all day and it is sitting on my lap right now. Just warm and the fan output is also slightly warm, that's all.

With regard to starting up in deep sleep mode, I find that the best solution for that in both Windows and Ubuntu is to make the Grub bootloader modification detailed earlier in this thread. Because it happens at the boot level, it doesn't make any difference which OS you boot into -- the speedup is already in place when the OS boots. So you don't have to load the Powerleap utility in Windows. In fact you can boot ANY OS and have the speed at full value without any special utility. That would apply to XP, any flavor of Linux, or anything else for that matter, even DOS.

So I just want to say how pleased I am with this computer and these mods after many months of hard daily use. Sharedoc this is a great resource. Thanks again.
Last edited by gilf on Mon Aug 18, 2008 5:54 am, edited 3 times in total.
gilf
BIOS Rookie
Posts: 38
Joined: Mon Feb 18, 2008 5:10 pm

Oh forgot to mention in the above post -- the processors are a 550 and a 750 Mhz on these laptops, and both Ubuntu and Powerleap report that the speed of the 750 machine is 810 Mhz with the bus speedup. I forget what the 550 machine reports.

Code: Select all

cat /proc/cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 6
cpu MHz         : 810.330
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse up
bogomips        : 1621.88
clflush size    : 32
pikaia
New visitors - please read the rules.
Posts: 10
Joined: Fri Apr 18, 2008 8:49 pm

gilf.

I went and wiped my XP install and put Ubuntu on my 600. I followed your instructions but the L2 cache is NOT enabled. I've double checked everything but so far nothing.

I looked at the site where you got the mod from and I don't understand much of what he's saying. Is there anyway you could break it down once more. I unzipped. Moved all the files and added tpad to my grub/menu.lst and saved. Rebooted and still no L2 cache. I feel like I should have installed something. I'm a bit lost.

I'd appreciate any sort of help, from anyone really who has gotten this to work.

Thanks.

EDIT: Ok, it did work, but for whatever reason I was only getting 133Mhz of the 500Mhz processor in Ubuntu. I'm using PCLinuxOS now andit works great! I'm going to try installing Xfce or Gnome to see how they compare but even with the KDE its still pretty responsive. Thanks!
clarence
New visitors - please read the rules.
Posts: 15
Joined: Wed Sep 10, 2008 7:19 am

chantage wrote:Hi,

That's right. I put the code in GRUB. The speedstep mod and the level 2 cache can be enabled before booting an operating system.

Being a Linux user, I have not been satisfied with the existing solutions to enable the speedstep mod. The kernel module by wmarcusm is great but has one problem. Since it does not change the kernel's internal variables like loops_per_jiffies, time-related tasks can malfunction. If you do 'sleep(1)', it actually sleeps less than 1 second. I do a lot of timing-sensitive stuff, so it is a real problem for me.

The tsc is not recalibrated either. To make everything work properly, the kernel source has to be modified. But, if you have no problem giving up tsc, it is possible to add "clock=pit" to the kernel boot options. Then you only need to update loops_per_jiffies or cpu_data.loops_per_jiffies, which can be done in a kernel module.

But I wanted to use tsc as the time base and did not want to patch and recompile the kernel everytime I install a new kernel. So I put them in the boot loader, GRUB.

I am not using Windows, but if you do, it will activate the mod and enable the cache before Windows loads. It will also activate the mod/l2cache when waking up from WinXP hibernation. (If APM hibernation is used, it won't work, as APM hibernation/wakeup is implemented in BIOS and bypasses the bootloader. WinXP uses ACPI by default and implements its own hibernation method.)

Even with this version of GRUB, wmarcusm's programs will be still useful for re-enabling the feautures after waking up from suspend or APM hibernation.

One thing to note is that the port address is hardcoded. :-) Yes, it sounds stupid, but all three ThinPad 600E's that I have access to reports the same base i/o address for the south bridge. So far I had no problem on any of the three. If you do, probe it using wmarcusm's code and put that number in place of the existing hardcoded base address.

To use the feature, you just need to add "tpad" command to your boot configuration file. If you add the "--nods" option, it will only enable the l2 cache and leave the speedstep mod alone.

One final note is that, if you only have NTFS partitions, you cannot use this version of GRUB, as it lacks NTFS support. The stage2 images can be installed on linux or fat partitions. It will be great if it is ported to WINGRUB or GRUB4DOS. If you have no idea what I am talking about, just stay with your current configuration.

The source tar ball is available at:
http://www-rtsl.cs.uiuc.edu/~klee7/grub-0.97tpad.tgz

Enjoy!

- Chantage
Chantage or anyone else who can help

I cannot find where I picked up the following text from, which appears to be actually following the last line in Chantage's post above, however assuming the total post or a reference to it was on the forum somewhere, here is what I had picked up:

Installation Instruction
If you have Linux installed on your TP600E, just follow the regular installation method on Linux, configure,
make, and make install. Then just modify /boot/grub/menu.lst.
For your convenience, I am also providing prebuilt binaries and the boot disk image.
BOOT.ZIP is the binary distribution of the modified GRUB bootloader
for ThinkPad 600E modifications
(P-III upgrades and the DeepSleep mod).
1. The first step is to create the grub boot disk. Download the
disk image.
If you have a running Linux or FreeBSD system, use the following
commands to create a boot disk.
dd if=grub.img of=/dev/fd0
Page 1 of 2
http://kihwal.fayoly.net/600e/grub.html 09/09/2008
For DOS/Windows users, use rawrite.exe to transfer the image
to the disk.
2. Decompress the boot.zip to a partition of the supported types.
An ideal choice will be ext2, ext3, or vfat. NTFS is not supported
in this version. The files must be in the path like "C:\boot\grub" or
"D:\boot\grub"
3. Boot the computer with the GRUB boot disk you created in the
first step. At the GRUB command prompt, chooe the root partition
where we stored the files in the step 2. The first partition of the
first drive will be (hd0,0) so type in "root (hd0,0)".
If you are not sure, you can use the "find" command to find out.
Try "find /boot/grub/stage2".
4. Install the boot loader to the MBR using the "setup" command.
Type in "setup (hd0)" for installing to the first disk.
5. Customize /boot/grub/menu.lst.

End

I tried to follow the above on a Thinkpad 600E currently running WinXP prior to any processor upgrade or mods just to try out the GRUB method of loading WINXP as I am not familiar with Linux. I soon intend to put in a faster MMC-2 processor. I had done steps 1 and 2 bove to prepare the grub boot disk and the grub files in a separate FAT partition. WinXP was in (hd0,0) and boot.zip files were decompressed in (hd0,6) as I had Partition C, NTFS, for Windoes, Extended partition Logical drive D, NTFS dor data and extended partion logical drive E, FAT for Grub. However I could not get to step 4 because when I booted the Thinkpad with the floppy created in Step 1 using rawwrite.exe, no boot actually happened and I discovered that the hard disk also became unbootable after that as if the boot sector was changed/damaged. I could never get to the "find /boot/grub/stage2" and could not use the "setup (hd0)" command to transfer the boot loader to the MBR. I have since restored the hard disk by reinstalling Win XP. My Win XP file partition system is NTFS. Is tht the problem? Where am I going wrong?
gilf
BIOS Rookie
Posts: 38
Joined: Mon Feb 18, 2008 5:10 pm

Clarence:

Your "E: Drive" in Windows is really not a drive, but the third partition on your first hard drive. You apparently called it (hd0,6) in Grub or in an unzipper program, which is wrong.

Grub specifies partitions and drives in numbers, not letters, and uses a double number to consistently identify a drive partition. It is much less confusing than Windows, since Windows reserves A: and B: for floppies, and calls C: D: and E: drives, despite the fact that in your case, they are actually partitions on your first hard drive. It gets worse if you also have a cdrom, which also gets a drive letter designation, usually following the last hard drive partition.

Grub specifies everything starting from zero. The first hard drive is 0, and the first partition on that drive is 0. Therefore the first partition is called, in Grub, (hd0,0). The next partition on that drive would be (hd0,1). The first partition on a second hard drive would be (hd1,0)

So, what in your case Windows calls "Drive E:" (actually the third partition on your first hard drive) Grub would call (hd0,2)

Since you said you installed the unzipped Grub disk to (hd0,6), heaven knows where it went. Sounds like you clobbered your first partition.
Last edited by gilf on Sat Sep 13, 2008 8:49 pm, edited 1 time in total.
gilf
BIOS Rookie
Posts: 38
Joined: Mon Feb 18, 2008 5:10 pm

Now folks, I have a problem. Hope Sharedoc or Beatoem still looks at this thread.

After bragging above how well our two computers have been running for months, maxxed out with speedup mods, Ubuntu, and max memory, all of a sudden, my tp600E started crashing. :(

First guess was memory. I have two 256 Meg Kingston modules onboard, so I pulled one of these -- the most recent. The computer booted and ran fine.

Okay, so I got itthe memory used on eBay, I'll just get another. But first I wanted to make sure it was that module, so I put it back in and pulled out the other module. The tp600E crashed again. So it seemd to be the first module.

Then I thought, what if it's related to the slot ? So I switched the crashing memory into the other slot. It booted fine. Uh oh :(

As a final check I switched that module with the "good" module. Booted fine. Then moved the "good" module to the bad slot. Crash. :cry:

A bad slot. To check out what was happening, I ran memtest 86+ from the Ubuntu LiveCD and found that the first data bit was sticking high a minute or so into the test regimen. It was consistent across subsequent addresses, not just a single address, so it probably is the low bit data line.

So, any suggestions on a repair? Or workaround? I can run the computer with 256 megs, but it really slows down when it runs out of memory and starts using the disk cache. I'd really like to get up to at least 384 megs if possible. I sure miss the old 544 megs memtest on bootup.

Damn, I really loved this computer, it was my daily workhorse.

Thanks for your help!
clarence
New visitors - please read the rules.
Posts: 15
Joined: Wed Sep 10, 2008 7:19 am

gilf wrote:Clarence:

Your "E: Drive" in Windows is really not a drive, but the third partition on your first hard drive. You apparently called it hd(0,6) in Grub or in an unzipper program, which is wrong.

Grub specifies partitions and drives in numbers, not letters, and uses a double number to consistently identify a drive partition. It is much less confusing than Windows, since Windows reserves A: and B: for floppies, and calls C: D: and E: drives, despite the fact that in your case, they are actually partitions on your first hard drive. It gets worse if you also have a cdrom, which also gets a drive letter designation, usually following the last hard drive partition.

Grub specifies everything starting from zero. The first hard drive is 0, and the first partition on that drive is 0. Therefore the first partition is called, in Grub, hd(0,0). The next partition on that drive would be hd(0,1). The first partition on a second hard drive would be hd(1,0)

So, what in your case Windows calls "Drive E:" (actually the third partition on your first hard drive) Grub would call hd(0,2)

Since you said you installed the unzipped Grub disk to hd(0,6), heaven knows where it went. Sounds like you clobbered your first partition.
Gilf

First of all, many thanks Gilf for your prompt post.
I do appreciate it. Actually, even if I had got to the stage of using an incorrect Disk/Partition numbering notation in Grub, it never came to that because my Grub Boot Floppy disk never booted and consequently I never was able to either reference or access the Grub partition after this boot. I have now realised that my Grub boot didk was never properly prepared because of an error in my usage of the rawrite.exe utility. I have since prepared another disk and will try again. Still, it remains a mystery as to how my Windows XP boot sector was damaged by just trying to boot with a wrong Grub floppy disk, since it never booted. Anyway, I will drop that issue now. I will check the numbering notation again. I had read in Grub documentation that partition numbers 0 to 3 only apply to primary partitions; and that logical drives in an extended partition start with 4. That is why I planned use higher numbers for the drives in the extended partition. Anyway, may be I need to make a second primary partition and I will brush up again.

In the meantime, my Thinkpad 600e is already working with a much faster PIII MMC-2 albeight without Speedstep. Full memory is working at 544MB. I am concentrating on getting a stable system before the final full speed processor mod. L2 cache was disabled with bios editor so smooth boot. Before I attempt Grub again (I am interested because that will speed up Win XP boot), I would at least like to get the 256K cache working with the Powerleap Cache configuration utility, or CPUMSR, in Win XP.

However, I cannot get the Powerleap cache utility to work. I can start it once in Win XP, but when I hit the Configure L2 cache button I get a blue screen and the TP reboots and runs fine again without the L2 cache. Currently the Powerleapleap Cache utility's pwlp.sys and pwlp.vxd files are in the same directory PleapUtility in program files where I put Powerleap Cache Config Tool.exe and that is where I start it from.

If gilf or anyone else can help me progress with the Powerleap utility with its correct usage I will be very thankful. Similarly, any tips on the correct usage of CPUMSR because I am a little apprehensive about using it.

What a great forum! Thanks all for your ideas and contributions.

Clarence
pikaia
New visitors - please read the rules.
Posts: 10
Joined: Fri Apr 18, 2008 8:49 pm

First of all, thanks again for all the help.

The Grub fix works great... in Ubuntu. However, I installed Mandriva XFCE edition (which is great) and everytime I try to swap the grub files I get dumped to a grub> prompt at boot, which I have no idea how to get around or fix. Super Grub Disc didn't fix the problem. So... what do I do? I'm going to try switching it file by file until I either get it to boot properly with the L2 cache enabled, or find out what is causing this problem so I can try to avoid the problem file.

Do you guys know which of the files in the boot.zip folder that is responsible for the tpad l2 cache fix? It might save me some head aches if I can just swap in the one I need.

Thanks. I'd really like to run Mandriva... but oddly the fix worked fine in PCLinuxOS (which is based on Mandriva).

EDIT: I went through every file in the boot.zip grub folder and swapped it in one by one. The last file I transferred in, "Stage2", is what screws the system up. I loaded all files and none of them activate the L2 cache together, so I assume the key is in the Stage2 file. Is there anyway we can mod this file to fix this?
clarence
New visitors - please read the rules.
Posts: 15
Joined: Wed Sep 10, 2008 7:19 am

For some of us 600e users our needs may be a bit basic, we may want to live with the 150MHz lower speed and we may only run Win XP for the usual applications. So no Linux support needed and no deepsleep utility needed. Just L2 cache enabling needed.

From earlier messages by pikaia and others it seems the Powerleap Cache Config utility has given run problems and the Powerleap CPU Panel utility has given installation problems. I know Sharedoc and others have helped by offering to send their worked/working version files they installed. However pikaia's experience was that the powerleap utility worked after a clean install of win XP but stopped working again after some windows updates. I am having the same problems and I am running SP3 with all the latest updates. This kinda suggests this utility makes some address space violations or other infringements which only get picked up in later windows updates or service packs and therefore it may no longer be a stable solution.

With the great experience existing on this forum may be someone can offer the latest comments on these solutions for the L2 Cache enabling requirement for a 600e particularly for those only interested in running win XP.

May be it is still the Powerleap Cache Config Utility with a specific new version with information on its stability in Win XP. May be Sharedoc/someone can offer some latest advice.

May be it is CPUMSR with comments on its usage. Beatoem has already given some, may be he/someone can elaborate more on the minimum menu entries that need to be used just for the L2 cache enabling purpose, what problem areas can be there, is there any risk of Bios being modified and if risks exist how to avoid these.

May be it is the GRUB Bootloader as it will also speedup Win XP boot process. Gilf has already published work and may be Gilf/someone may put in/refer to a crisped up piece of advice on the exact minimum to download and the install instructions for those who use win XP only and have no Linux experience.

May be KevP can elaborate on his Win XP deep sleep utility as to whether it already does/can incorporate L2 cache enabling and would it be an appropriate solution for L2 cache enabling by Win XP users. Also will it still be harmless for those who do not need the deepsleep component and only need L2 cache enabling.

Thanks all.
clarence
New visitors - please read the rules.
Posts: 15
Joined: Wed Sep 10, 2008 7:19 am

This is regarding Gilf's latest post on one of his TPs beginning to crash after many months of usage quite likely due to some memory module or memory slot problems that may have developed.

Now, at the outset, my technical experience is probably nothing compared to what is clearly there on this forum so I may be pointing to things that the experts already know. However, I am a very long term Thinkpad user and have experience with different types of memory modules so I will share some experiences that may help towards a solution.

The most common problem in Thinkpad memory appears to have been related to the so called high density modules as you begin to use higher capacity (128MB-256MB) modules and/or a higher bus speed (100 or higher MHz). Since in Gilf's case the same modules have been working for months, and as he has tried module/slot combinations, as Gilf says it may be slot damage rather than module damage. However it still may be a case of memory modules having been degraded after use including the on board 32MB and giving some problems in combination.

Gilf 256MB Micron memory module MT16LSDF3264HY-13E or what appears to be its Crucial equivalent CT32M64S4W7E.16FGY seem very stable, the data sheet indicates 4K refresh rate, 100-133MHz compliance and 2-3 CAS latency support. They obviously have 16 chips on them. Although this by itself does not indicate low density, together with the refresh spec. it does.

Unless you already have, may be you can try with one of these to see if a new module of this type will solve the problem. I am sure you already have experimented after disabling onboard memory with your current modules to see if any combination works.
gilf
BIOS Rookie
Posts: 38
Joined: Mon Feb 18, 2008 5:10 pm

The commonest cause of problems with Grub is in specifying the wrong drive number for necessary components that have to be loaded in sequence. Be sure that you have the right drive and partition designation for where you put things. Be sure that on that partition the right files are in the right directories with the right names.

If you don't, the initial loader will start, but the whole system will get lost looking for a necessary file, before it can continue booting any operating system. I suspect this is what happened in the XP system. I bet the XP partition was fine, but the boot stopped before it could load ithe OS while looking for a file somewhere.

This might have looked like the XP partition was damaged to you (because it wouldn't boot) but it probably wasn't damaged. The initial program loader just couldn't find it because of a bad reference.

Another thing to check: the file menu.lst has the location(s) of your operating system(s) and in this file you want to double check the (hdx.x) references to make sure they are right.

I would suggest that if anyone is unfamiliar with Linux or Grub specifically that they take it up on another (possibly Linux) forum thread devoted to Grub -- mainly because people will be expert enough there to quickly troubleshoot your problem, rather than here, where a couple of us may have forgotten what we did to get things working :) , and likely don't have anything like your hard drive and OS configuration. That doesn't mean I won't try to help, time permitting, just that you might get a real-time exchange withj someone elsewhere. I look at this forum infrequently.

Also, people coming here are looking for the TP600E hardware mod stuff, not individual system Linux/Grub troubleshooting, so all of this is kind of obscuring that.

I will however look at my own Grub setup and try to tell you what I have, time permitting.
Last edited by gilf on Sat Sep 13, 2008 8:51 pm, edited 1 time in total.
gilf
BIOS Rookie
Posts: 38
Joined: Mon Feb 18, 2008 5:10 pm

Okay I've looked at my system to try to remember how Grub works.

a.) You must have an initial program loader that will jump to the ext or FAT boot partition where GRUB resides.

b.) the boot partition must have a Boot directory, and a Grub subdirectory under it.

c.) the stage 1, 1.5, and 2 files must be in the Grub subdirectory, as well as a file called menu.lst.

d.) menu.lst is a text file which must have proper drive and partition (hdx,x) references to any and all operating systems you have. The ones at the very bottom of the menu.list file are usually the Windows ones.

Pkaia,

re.
I had read in Grub documentation that partition numbers 0 to 3 only apply to primary partitions; and that logical drives in an extended partition start with 4. That is why I planned use higher numbers for the drives in the extended partition. Anyway, may be I need to make a second primary partition and I will brush up again.
You may be right. I didn't realize this, but I just checked my menu.lst and the actual partition structure with gparted, and it turns out that my first logical partition is numbered (hd0,4) even though it is the third partition on the disk. My apologies!

However, on your system if C: is primary, and D: is logical and E: is logical, following your system, E: would be (hd0,5) not (hd0,6), yes?

I also think I've found the instruction which went bad for you in the Grub installation instructions. It is:

Code: Select all

3. Boot the computer with the GRUB boot disk you created in the
first step. At the GRUB command prompt, choose the root partition
where we stored the files in the step 2. The first partition of the
first drive will be (hd0,0) so type in "root (hd0,0)". 
The last 5 words should read "if your files were installed to the first partition you would type in "root (hd0,0)". If not, type in the proper partition designation."

In your case that would be -- for logical drive E: -- (hd0,5) -- using your numbering system.

Then follow the rest of the steps.

Notice that in step 4. of your quoted instructions you are changing the initial program loader. This is why your XP system would no longer boot normally -- it commits you to Grub at startup, and since Grub had the wrong drive number (hd0,6) it got stuck.

Step 4 does modify your MBR and thus Win XP boot loader no longer runs first, Grub does. But Grub should be able to initiate Win XP. It couldn't because of the wrong drive designation.

By the way, "setup (hd0)" is correct.

So, my suggestion to you would be to run steps 3 and 4 of the installation procedure again. Just use the (hd0.5) parameter in step 3. Also check that the last entry in menu.lst (for winxp) points to (hd0,0).
Last edited by gilf on Sat Sep 13, 2008 8:58 pm, edited 1 time in total.
Post Reply