Well, I finally decided to try and modify the EC, reading through this thread multiple times, watching tutorials about hex editors and such. I have been sweating blood for hours. I managed to find the rpm tables in the $01AC000.FL2 file, and using the programmer calculator function of the Windows built in calculator I managed to verify that I was indeed looking at the correct numbers.lab wrote: ↑Sat Feb 02, 2013 9:32 amNot completely happy with the heat from ATI graphics I decided to replace the motherboard in my T60p with one that has Intel integrated graphics (on ebay only ~$20 plus shipping). I had expected a power consumption of something like 10W att idle, similar to my T400, but it turned out to be as high as 15W, only 3W lower than the tweaked ATI 5200.
Very well, after undervolting the CPU the temperatures has gone down a bit and I guess a temperature of 45 degrees Celcius at low load (internet browsing, watching movies) is acceptable.
I have tested some different rpm tables both on the ATI 5200 system and on the Intel board and all has been flashed to the bios not causing any problems.
The current setting is 2100-2400-3000rpm:
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 2100 2400 3000 32767
1056 3000 3500 4400 32767
1056 3000 3450 3800 32767
1056 3000 3450 3800 32767
As the table show I left the last three lines unaltered, since my guess is that each line represents a different configuration and the three last lines are the highest factory settings and thus unlikely to be used for an Intel graphics system. So far my guess seems to hold.
For those non hackers (like myself) interested in making the same modifications to bios EC, a simplified version of the steps posted before are:
1. Download the latest version of the bios utility for T60/T60p from Lenovo, unpack and load the $01A3000.FL2 or $01AC000.FL2 (identical) in a hex editor capable of displaying both hex and decimal.
2. Implement the LRC, e.g. in Matlab, and test the algorithm on all three check blocks to make sure you get the check value of 0.
2. Find the rpm table at the location given in previous post and alter the settings as you find suitable (keep an eye on the temp readings afterwards to make sure cooling is sufficient).
4. Calculate the LRC for block [011000, 030000), replace the check word in 0x02fffe and then re-calculate to make sure its correct and sums to 0.
5. Save in flash folder and update bios with "winuptp.exe /s" run from the same folder. Since silent mode, wait a couple of extra minutes after the process has finished to make sure the update is completed before rebooting.
NO WARRANTY OF SUCCESS, FOLLOW THESE INTRUCTIONS AT YOUR OWN RISK.
Edit. The power consumption has now droped to 12.5W at idle after installaing some missing drivers for wireless network(I think!).
But here is the thing: after hours of thinking, Googling and reading, I still have absolutely no clue how to do that checksum thing, or in fact what the heck is that. Also no clue how to use Matlab. So in the quoted post, lines number 2 and 4 as numbered, to me read like Chinese. And no matter how hard I try, I just can't comprehend it. I could modify the rpm values, but don't understand that validation process involving checksums and such.
So by this point I am sure it's obvious that I am not a hacker by any means. I am perfectly capable with everyday things and maintenance on my laptops, but this is just way out of my league.
So my question would be this: Could the people who already managed to modify these files with lower RPM values, share those modified files? I would even be willing to pay some for a custom file with values I would specify (I am not rich or anything, but a quiet laptop would worth a few quid for me).
EDIT: I am also aware of the risks of bricking my laptop, but T60 motherboards are pretty cheap nowadays, I would gladly take the risk if I have a chance of having a near silent T60.
EDIT 2: I have successfully modded the EC firmware with modified rpm values for the fan. Huge thanks for forum member "lab", he helped me out with the checksum modification. The new fan levels are: 1700-2200-2700 (factory values were: 3000-3400-3800). In all fairness I could have started with 1800 or 1900 rpm as level 1, as it would have been still silent (also, maybe because I use a heatsink-fan assembly from a Thinkpad T500, my fan on level 1 runs slightly below the given 1700 value, somewhere between 1500-1650). The difference in indescribable. My T60 has become a perfectly silent laptop, the perfect machine for my needs. Now the only thing that will be left is upgrading the screen backlight with a LED kit , I bough from xiphmont a while ago (still haven't got the time to put it in, and also kinda waiting for the factory ccfl to die).
This is why I love this forum, so many helpful guys here, who share the same love for these old, great machines.