hamishcoleman / thinkpad-ec

Infrastructure for examining and patching Thinkpad embedded controller firmware
GNU General Public License v2.0
1.07k stars 115 forks source link

Could the ec be patched to reduce the minimum fan speed? #167

Open dalao3 opened 4 years ago

dalao3 commented 4 years ago

I recently trying to switch my thinkpad from T420 to T440p for 4k output. The first thing I notice is when I use it at night it's quite noisy. I searched around and found the problem is the minimum fan speed (level 1) on T420 is about 2000RPM while on T440p it's 3000RPM. Fan control software can only change the level from 0 to 7. The rpm is controlled by the ec and it appears there is no way to control it by rpm using software (https://forums.lenovo.com/t5/ThinkPad-T400-T500-and-newer-T/T440-minimum-fan-speed/td-p/4042589). So could the ec be patched to reduce the fan speed?

hamishcoleman commented 4 years ago

Unfortunately, the T440p has a different set of checksums (and probably encryption keys) for its EC firmware.

I have added some basic support to extract the EC for inspection:

make t440p.GLHT30WW.img.orig Will download the current BIOS version and extract the EC firmware. It looks similar to the xx30 firmware, so it is probably still using an ARCompact CPU, but it also looks like the firmware needs a partial decryption step (which is what we dont have the keys for - but the same techniques that zmatt used to find the keys for the xx30 firmware could be used)