Framework Laptop mainboard as an OpenWRT router - CPU fan ramps up with increased network traffic?

Hey everyone!

I recently upgraded my Framework Laptop 13 to an AMD mainboard and converted my 11th gen Intel board to be an OpenWRT router. I have two M.2 to 2.5Gbe adapters connected, one using the 2280 slot, and the other in the 2230 slot providing three ports total. They are the same adapters Wendell featured in a video a few months ago. I don’t recall exactly which one but I think it was related to homelab or mini PCs.

I don’t particularly have a problem, but I was wondering if anyone could explain why/how my CPU fan would ramp up as network traffic increases. I have a fibre internet connection which is 300 down, 100 up. The CPU ramps up even when that 300mbps connection is saturated through a WAN port to the LAN. The WAN and LAN are on separate cards.

Does the PCIe bus create enough of a load on the CPU to cause it to heat up? OpenWRT is reporting the CPU is effectively idling so I’m at a loss as to what’s causing it. I figured 11th gen Intel would be overkill and the system would be effectively silent and cool.

Pictures attached if anyone is curious about the Framework router setup!


3 Likes

I know little about the Framework main board, but most motherboard Ethernet ports, and USB Ethernet ports are software based devices. There is a controller , and the piece of software that routs all of the commands to the CPU, and the CPU does all of the handshake work, packet transfer, and transmission verification work. All that is work that the PC is constantly doing, and as the router gets busier the CPU gets hotter. You can probably solve part of the thermal problems you are having by making your custom case a bit larger, and provide more ventilation holes to accommodate 1 or 2 80mm fans which will provide more fresh air to help keep the router cool. Especially one fan over the CPU’s blower fan.

1 Like

This is the system load while downloading a game from steam but the system fan seems to be going near full speed as if I was playing it. Quite a bit of heat from it too.

My only guess is that while the CPU is effectively idle the PCIe bus is going nuts and therefore getting hot but I don’t know much about that aspect of the CPU to know for sure.

Blower fans are loud aren’t they. Now, on to business … your CPU is not idle, it is doing work. Logical core 3 (core 1 thread 2) is utilizing 25% of it’s thread’s processing bandwidth, and logical cores 4 and 5 (core 2 threads 1 and 2) are pushing 6% and 8% respectively. At idle a processor like this with an efficient OS such as this should be sitting at between 0-3% CPU utilization (closer to 0). Yours is using about 5% total (I never said that it was going to do so much work that it would be using 80% utilization, It is all in how the work is distributed across the cores and threads). But it is 2 cores doing all of the work. So, your CPU is working, and generating heat in the process. Likely between 65 - 75 degrees Celsius (149 - 167 in Fahrenheit). Ultra-low-power CPUs such as this one can get hot when working, especially transferring data over the Internet. I would repaste the cooler on the CPU, and strap a static pressure fan over where the CPU is to help cool it. You might also add more holes to help it breathe. Just my thoughts on your system.

On a side note, If that is your 3D printed design and handy-work. Good job. I really like the design. I just think it needs more air flow to help the CPU breathe.

Have you, um, “fingered” your laptop? *while wearing a groundstrap/anti-static. And maybe thin gloves to prevent shirts or greasy fingerprints on traces

I mean, you idea of PCI bus being busy, and like a “south bridge” chip heating up has merits.
I don’t know if computers even use south bridges anymore, or whatever specifically but if part of the machine does get hot, perhaps bung a heating or some such on it?
As in, could be one random temperature sensor somewhere.

I think you are right about the CPU demand being insufficient.

I mean, I never run openwrt, and have no idea if it polls the temperature sensors itself, or if you could get any access to them.

I agree … there is more than just the CPU cores, there is also IO controllers like the on die PCIe, and USB ports … etc.

1 Like

Looking into it more, the South bridge still persists for slower I/O, but the northbridge was moved to the CPU.

It could be the north bridge getting warm, within the CPU package, while the CPU is not processing a lot…

In which case, heatsink gets interesting, without replacing the existing blower unit & heatpipes…

So … we are back to a CPU blower is loud, and needs better airflow. It would be interestingto see if there is another cooler made by Framework or another 3rd party maneufacturer, though adding a fan will alleviate the symptoms in the short term.

Framework only has the cooler that is already on it.

Maybe cut a circular hole the size of the CPU-fan in the top and duct fresh air directly into that.

Although the CPU is basically idling as a whole package, the 1 core at 25% utilisation is creating a hotspot on the chip, which will spool up the fan. Laptop heatsinks also don’t have a large thermal mass to absorb the spike in heat output, so the temps will go up and down rapidly, spooling the fan with it if the fan curve is too responsive to tempwerature changes.

The IO controller on the main CPU die is also working, and that creates heat.

Show temperatures at idle and under load.

Limit the clock speed, if possible, only on one core(probably won’t reduce overall cpu temperature) that works the most when the fan starts going brrrrr.
Force fans to behave differently, unfortunately laptops often do not want to listen to what the OS tells them and rely on what they have in the BIOS.

Many laptops have extremely low thermal capacity and the level between a quiet and a loud fan is sometimes literally a few degrees.

When the machine is working, the CPU is also working to some extent, regardless of what you do, even when downloading data from the Internet, it can cause the temperature to increase so much that the fan goes brrrrr and this is nothing extraordinary, just an extremely low thermal capacity of the cooling system.

I have a (dumb) idea.

Get a passive heatsink of sorts, some thermal pads and sit the heatsink on the heatpipes near the CPU. Maybe even point a small fan at the heatsink.

I don’t think throwing more cooling at the problem is really solving it. When the network is idle the system is drawing about 18w or so and when under a bit of a network load that jumps to around 24-25w. This mainboard is from a laptop that originally had only the one fan cooling the entire system so its within spec, but something is causing a higher power draw than it should but I’m not sure what it is since the CPU is at a very low usage.

My understanding is that the old northbridge was moved to the CPU in the mid-2000s. What we call the Chipset is now the southbridge. Though I’m not sure what the chipset is like on these mobile systems so maybe its on-die now as well and that is what is heating things up. Also possible it just doesn’t have a chipset and only uses the lanes and ports the CPU offers.

I think I need to see if I can take a closer look at power draw within Linux. lm-sensors or something to see what’s going on beyond CPU processes. When I get a chance to shut the system down later today I’ll see if I can have the BIOS start in a lower power state on boot.

1 Like

I put a USB power meter on the it and the system power draw is about 18W when idle, 24-25w under network load. A system like this should be much lower at idle so something is drawing more power and therefore outputting more heat than it should. Throwing more cooling is just a band-aid instead of figuring out the cause.

Okay, I do not know what CPU that main board has on it, but I am going to choose the top-tier model CPU that sold on 11-gen Intel based Framework laptops, and that was the Intel Core i7 1185G7. The 1185G7 is an ultra low power CPU that uses a 10nm SuperFin lithography that can run at a base speed of between 1.2 and 3 GHz based on the OEM laptop manufacturer’s configuration. It can top out at 4.8 GHz. The power draw is between 12 Watts at idle, and 28 watts max.

Again 12 watts is the idle for this CPU package, the USB ports are powered, as is the storage to a base degree. The USB, PCIe, and the 1185 G7’s iGPU are all drawing power as part of the CPU package, as is the North-bridge and I/O controller. This (short of the storage itself) is all part of the CPU package.

As you put more load on the system more power is being drawn. You are using more I/O, more USB, and more CPU. The more load the higher the power draw, the more heat generated. No, the CPU cores are not doing all of the work, just part of the work, the rest is being done by the packages I/O controller, and the various IO bits like PCIe, USB … etc …

That is why it is getting hot. The CPU package is doing all of the work. The CPU packages T-Junction is rated for 100 degrees Celsius (212 degrees Fahrenheit). That is hot. At the end of the day you need to cool it better by changing the thermal paste on the CPU package, adding a fan, changing the cooler, and improving the ventilation of the chassis. Whatever you need to do to lower the thermals of the CPU. Otherwise you will need to deal with the fact that it will sound like a vacuum cleaner

You can ignore the thermals and call adding fans or modifying the cooling methodology a “band-aid” if you want, but the thermals generated by the CPU are no joke, and ignoring it will lead to thermal fatigue and failure of the CPU package.

Why do you think that there is a lot of thought put into the thermal design of desktop computers. Liquid cooling via radiator, or massive aluminum fin stacks with fans are used to keep the CPU cool so that they remain operational. Air-flow design in tower chassis are also considered as well. It’s why performance desktop computers are tongue-in-cheek referred to as space heaters because they can raise the temperature of a room. Some laptops used to burn people’s laps, and the components that did that were the CPU and the GPU, and now in many cases the CPU and GPU are one chip.

It all comes down to the fact that you do not have enough cooling.

I figured it out!

Cooling was not really the problem. 11th gen intel can get hot and it is a laptop chip but I was right about there being something causing the system to heat up and draw more power. 18W is more than the 12W idle and was generating heat and therefore fan noise.

I went through the router software and it turns out the culprit was DNS over HTTPS. I installed it after reading some blog post and didn’t think much of it.

Now the system is sitting at around 12-13 watts.

4 Likes

Ok, cool :slight_smile: .

1 Like

Now I’m curious what about DNS Over HTTPS causes such a high power draw but relatively low CPU. Maybe its cache intensive or something?

1 Like

It is end to end encryption. meaning packets and queries are encrypted and decrypted on each end. My ISP does not support it, but if your router is using something like Cloudflare’s DNS (aka 1.1.1.1), the DNS over HTTPS is an option. It actually is a good thing to have enabled.

1 Like