Excessive heat on Lenovo Thinkpad E450 even with CPU @ 100% idle

Hello everyone,

I am new to FreeBSD and this is my first post.

I filed PR 271938 to technically follow through the issue mentioned in the title. But posting here for visibility, suggestions, ideas and experience. My Lenovo Thinkpad E450 generates excessive heat even without any CPU usage (~100% idle), with the clock speeds stepped all the way down. The heat is persistent, right after booting into the live DVD, after installation and even after booting into the freshly installed system, from a complete state of cool down and rest.

The issue seems to be OS (FreeBSD) dependent. Note: No I am not complaining, I just want to over come this issue and be able to use FreeBSD as my daily driver. As posted in the PR, I have tried everything suggested by the good folks at #freebsd IRC.

My thoughts:
  1. May be the CPU usage is measured improperly?
  2. May be it is the GPU that's causing the issue and the heat gets transferred to the CPU? The GPU isn't enabled though, I don't think its visible in sysinfo and I haven't installed the specific drivers. I don't know, I am just textually thinking loud.
Is there more i could do to check, test and may be solve this issue? I can't really figure out what's causing the issue. Please share your thoughts and ideas and help me figure out/ sort this issue.

Thank you.
 
Not sure what sysinfo is, but try running pciconf -lv, and check that it does not show up in there.
pciconf -lv shows my AMD GPU

Code:
vgapci1@pci0:5:0:0:     class=0x038000 rev=0x00 hdr=0x00 vendor=0x1002 device=0x6900 subvendor=0x17aa subdevice=0x5021                                    
vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'                                                                                                  
device     = 'Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile]'

Does this mean, may be there is a chance of heating from GPU?
 
Well, your CPU temperatures are not high, so that is not the issue. Unless coretemp(4) reporting is very wrong for this cpu - which is unlikely.
One other thought: is the BIOS on this machine updated to the latest version available?
 
It is high, it starts with 41,41,37,37 C to 60,60,58,58 C in a span of 18 minutes (tested again a few hours ago) with CPU being 100% idle, nothing running.

Yes, updated to the latest version.
 
It is high, it starts with 41,41,37,37 C to 60,60,58,58 C in a span of 18 minutes (tested again a few hours ago) with CPU being 100% idle, nothing running.

Yes, updated to the latest version.

Yes those temps are too high for an idle i5 at <800 MHz. From the PR:

dev.acpi_ibm.0.fan: 0
dev.acpi_ibm.0.fan_level: 7
dev.acpi_ibm.0.fan_speed: 0

It appears that your fan is not running. On manual at any level above 0 the speed should be at least 3000 up to maybe 5000+ at 7, which would be felt by hand as a strong flow of warm air.

So, can you feel the fan airflow, especially at 7?

If not, can you feel it if you boot linux?

I.e. is the fan broken, or is the controller broken under FreeBSD?
 
My first thought is clogged intakes, trying to run the laptop on a bed, or deeper inside... clogged cooling fins/dead fan on the processor.

Belkin makes (made?) a laptop cooler that runs off USB power.
It adds air flow to the underside... useless if the intakes are clogged.
A good vacuum cleaner goes a long way to helping unclog the intakes.
I don't like servicing laptops in general... full disassembly with fragile ribbon cable connectors leaves me liable for a dorked up machine.
 
Yes those temps are too high for an idle i5 at <800 MHz. From the PR:

dev.acpi_ibm.0.fan: 0
dev.acpi_ibm.0.fan_level: 7
dev.acpi_ibm.0.fan_speed: 0

It appears that your fan is not running. On manual at any level above 0 the speed should be at least 3000 up to maybe 5000+ at 7, which would be felt by hand as a strong flow of warm air.

So, can you feel the fan airflow, especially at 7?

If not, can you feel it if you boot linux?

I.e. is the fan broken, or is the controller broken under FreeBSD?
This was the first thing I checked. I confirm that I can both, hear the fan running and feel the airflow, when I place my ear and palm near the vents. But the intensity doesn't change though regardless if dev.acpi_ibm.0.fan_speed: 0 or dev.acpi_ibm.0.fan_speed: 7. The intensity is the same as I have felt when I had Linux installed.
 
This was the first thing I checked. I confirm that I can both, hear the fan running and feel the airflow, when I place my ear and palm near the vents.

Ok.

But the intensity doesn't change though regardless if dev.acpi_ibm.0.fan_speed: 0 or dev.acpi_ibm.0.fan_speed: 7.

I guess you mean adjusting dev.acpi_ibm.fan_level - not fan_speed which is readonly?

I've only used T and X series thinkpads, but maybe your E450 model doesn't use fan_level up to 7?

Try with .fan=0 and say .fan_level=3 to see if .fan_speed then shows something > 0? Or if it feels of sounds any different?

And in automatic mode (dev.acpi_ibm.fan=1) does dev.acpi_ibm.fan_speed show >0 when you can hear and/or feel the fan running?

The intensity is the same as I have felt when I had Linux installed.

Does linux acpi_ibm have similar fan stats / controls? Does it show fan speed rpm?

I'm assuming you could use a linux boot USB to check.

I found the E450 Hardware Maintenance Manual at manualslib.com. It has many different fan / thermal options, but no clues for me.
 
Does linux acpi_ibm have similar fan stats / controls?

According to the acpi specification, fans with fan control via levels (instead of setting the speed via percentage) report the available fan levels via an acpi method. So it can be 7 levels, it can be more, or less. So it shouldn't be hardcoded into the driver. But maybe thinkpads act differently. ?

Maybe ask the acpi_ibm driver developer, if this persists. Maybe he has an idea.
 
I guess you mean adjusting dev.acpi_ibm.fan_level - not fan_speed which is readonly?
Yes sorry, thanks for catching the mistake.
Try with .fan=0 and say .fan_level=3 to see if .fan_speed then shows something > 0? Or if it feels of sounds any different?
Tried, the speed is still 0 and it i hear and feel the same.
And in automatic mode (dev.acpi_ibm.fan=1) does dev.acpi_ibm.fan_speed show >0 when you can hear and/or feel the fan running?
No, still 0 and hear and feel the same
Does linux acpi_ibm have similar fan stats / controls? Does it show fan speed rpm?

I'm assuming you could use a linux boot USB to check.

I found the E450 Hardware Maintenance Manual at manualslib.com. It has many different fan / thermal options, but no clues for me.
Thanks for the direction, I'll check it out.
 
According to the acpi specification, fans with fan control via levels (instead of setting the speed via percentage) report the available fan levels via an acpi method.

Our acpi_ibm(4) doesn't report available levels, via sysctl anyway.

Levels can vary with model. My T430s can use 0 (off) to 7, but also 8 which is free running, faster, and NOT recommended.

sozuba could try 8, though it's looking like fan control on his is broken.

So it can be 7 levels, it can be more, or less. So it shouldn't be hardcoded into the driver. But maybe thinkpads act differently. ?

I expect so. You could check
/usr/src/sys/dev/acpi_support/acpi_ibm.c

It all depends on the EC (embedded controller) and these can vary by model.

Maybe ask the acpi_ibm driver developer, if this persists. Maybe he has an idea.

Good idea. Submitting a PR should alert him and/or the current maintainers. Source code dates from 2004.
 
Tried, the speed is still 0 and it i hear and feel the same.

No, still 0 and hear and feel the same

Thanks for the direction, I'll check it out.

Ok, good luck, and there's a User Manual there as well.

Sorry, I forgot you'd already filed that PR. I suggest concentrating your efforts there, add any extras, keep it alive. I just added a pointer back to here.
 
If you still have no success, perhaps a deep dive is warranted.
Obtain a fresh tube of Arctic Silver heat paste, pull the fan, clean the CPU top surface and apply new paste.
You can boot the Hirens Boot CD for Win10, and use HWMonitor to check the CPU temps, if you suspect it is OS dependent.
 
Laptops are bottom breathers and prone to sucking dust and debris.
Got a strong shop-vac and suck out all the vent openings on bottom and side.
You might have success in clearing the cooling fins without disassembly and opening the case.
 
Levels can vary with model. My T430s can use 0 (off) to 7, but also 8 which is free running, faster, and NOT recommended.
Hi,

I have a T430, upgraded with a quad core CPU. I use an old version of BSDfan, modified to make use of this "free running" fan speed.
With such a CPU, it is mandatory. I don't know if it's recommended or not, but afaik, it just matches the "disengaged" level you get on Linux using Thinkfan. I don't know if this helps with an E450, though...
 
Obtain a fresh tube of Arctic Silver heat paste, pull the fan, clean the CPU top surface and apply new paste.
I know this is late, and the OP may have solved his issue, but for future readers who may have this model, "pull the fan" is a deceptively complex operation involving removing a fair number of parts, including the keyboard and keyboard bezel (ie the top cover) and the system board just to reach the fan. The system board comes out from under the keyboard, the fan is below that, unlike in most systems where you can get at the fan just by removing the bottom cover. Similarly, all of the above if you need to replace the main battery.
 
Is strange idea but I have an old IBM thinkpad, the boot stops even if fan works.
Apologies for posting this disgusting image.
It's just what I found when searching for the cause of my Thinkpad's similar heat problem.

IMG-20230224-170605.jpg
 
I have a T430, upgraded with a quad core CPU. I use an old

Very nice set of tips there, thanks. Bookmarked.

version of BSDfan, modified to make use of this "free running" fan speed.

I ran a sh script 'daemon' on my 2 earlier thinkpads with similar hysteresis levels for years .. I'll see if I can find it.

With such a CPU, it is mandatory. I don't know if it's recommended or not, but afaik, it just matches the "disengaged" level you get on Linux using Thinkfan.

I expect "disengaged" will wear faster, more vibration, but that beats overheating.

I don't know if this helps with an E450, though...

Me neither, don't know Es.
 
Back
Top