Clock stuck at .39Ghz

Rebooted the computer via sudo reboot at the terminal.

Relaunched the game, idling in the same place.

CPU Utilization:

GPU:

Power usage:

Temperature readings:
temperature_readings_3

Battery stats:

It doesn’t seem like much has changed. The CPU clock speeds are climbing up a bit more. As of typing this it’s
now 2GHz on all cores except 2, which are at 1.2GHz and 1.9GHz. In-game performance has gone up from the 30FPS it was before rebooting to anywhere between 30-40FPS right now.

I’m going to let it sit idling a bit longer as is and see what happens. I wonder if the battery eventually topping off will cause a change, or if shutting the computer completely off and letting it stay off for 30 seconds or so before rebooting will change something. Will post more later.

Edit 1:
20m later battery is now registering as “fully charged” no longer any indication of discharging.

battery_stats_4

CPU stats:

GPU stats:

Power usage:

Temperature readings:
temperature_readings_4

In-game performance hasn’t fully recovered back to where it was before I started this test. I’m going to try rebooting again, and if there is no change, then do a full shut down and let it sit for 1m or so before checking again.

Edit2: After rebooting via sudo reboot performance is back to normal. clock speeds and all other stats seem to match what they were before starting the test.

Some thoughts I have:

  1. It’s tied to the battery charging state in some way, as soon as the battery no longer reports charging (sometimes it reports charging when it reads 100%).

  2. Why are my clocks higher with the power cord unplugged? That’s very counterintuitive. There doesn’t seem to be much of a difference in game framerates either way though.

  3. Is there a temperature sensor that is tied to the charging circuitry that the software isn’t able to see?

Wow, after reading through your saga, now I’m curious. Are you able to test whether this issue is isolated to Linux somehow? It definitely seems like there’s some strange interaction with the battery.

This makes sense. That’s the cooling fan you’re hearing. The system is likely configured to use it more conservatively while off the charger, since it does itself draw power. Ergo, when you unplug it, the system may raise the criteria for ramping up the fan. That being said, either way you’re not hitting a thermal limit during your game, as evidenced by your temperature readings, so I guess it doesn’t matter.

I don’t think I’m affected by this issue but I will begin testing it.

I’ve been using the computer normally since my last post, played some more games, did web browsing stuff. It hasn’t been rebooted or any other settings changed since then. Out of curiosity for why my clocks while plugged in weren’t reaching that high, I decided to run a benchmark to stress the CPU more and see how high the clocks go. These are my results:

While the benchmark was running, I was monitoring the clocks using a different tool instead of powertop, because powertop doesn’t update the frequency measuring very often and it only records the average clock speed over time. I used i7z CPU frequency scaling - ArchWiki and watched the clocks as the test was running. The cores were able to scale all the way up to the 4.7GHz for brief bursts on a single core as expected, with the 4 core multicore freqs peaking around the expected 4.1GHz for brief bursts. I’m curious to run this test again when it’s only on battery and see if my results change.

I could test using a windows trial version, but I’d need to get a separate boot drive as I don’t want to mess with my primary OS drive which is partitioned only for one OS at the moment. If someone else who is a windows user can try and reproduce the results I’m seeing here on their windows install that would be helpful.

I have a Batch 3 laptop, using the 1165g7 CPU.
I installed Windows 11, and then Cinebench r23 through the Windows store. At first I thought I had something, but it must have been due to outside influence. However, if this issue only occurs at specific charge levels (ie in a range from 65-90% or something similar) then my tests wouldn’t have showcased the issue properly. My laptop scores 5150-5180 points on this test, using the default 10 minute minimum benchmark time, and seems to maybe lose a few points plugged in, but it isn’t significant.

Next I’ll have to use 3Dmark tests and see if this issue only occurs with both the CPU and GPU under heavy load, since they share power and thermal budgets and one can thus limit the power of the other.

I ran geekbench under 3 conditions as a test:

I start with a freshly rebooted computer, no extra programs running in the background except

  1. i7z to monitor cpu freqs
  2. htop to monitor cpu usage across all cores
  3. psensor to monitor CPU and system temperatures
  4. geekbench5 the test program

Condition 1: Fully charged battery, plugged in, battery not showing as charging.
Trial 1: Framework Laptop - Geekbench Browser
Plugged_in_trial1

Trial 2: Framework Laptop - Geekbench Browser
Plugged_in_trial2

Trial 3: Framework Laptop - Geekbench Browser
Plugged_in_trial3

Condition 2: Unplugged, started just after running the test from above, so 100% charge and not charging
Trial 1: Framework Laptop - Geekbench Browser
unplugged_trial1
Trial 2: Framework Laptop - Geekbench Browser
unplugged_trial2
Trial 3: Framework Laptop - Geekbench Browser
unplugged_trial3

Condition 3: Plugged back in, after running the test above. Starting battery level was 95%
Trial 1: https://browser.geekbench.com/v5/cpu/10403872 96% charge
replugged_trial1

Trial 2: Framework Laptop - Geekbench Browser 98% charge
replugged_trial2

Trial 3: Framework Laptop - Geekbench Browser 99% charge
replugged_trial3

The results are very interesting. The best performer was unplugged, on battery, the second best was plugged in, fully charged battery, and the worst performer was plugged in, charging battery.

Some other observations:

  1. When I was running the test unplugged, starting from a full charge, I noticed in i7z that the frequencies were most consistently high, and on all cores simultaneously.
  2. I did not utilize the iGPU at all during these tests, though I imagine it would siphon off power from the CPU which may cause the CPU to downclock further.

I’m going to test ones more when the battery is showing “100% charged” but still “recharging,” and then again right after it no longer shows that it’s recharging. If I don’t see anything interesting, I won’t post the results unless someone asks me to because I’ve spammed this thread enough with data. I have a feeling that the results are going to be the same as the first set of test conditions posted above.

The trend seems pretty clear, charging the battery is taking away power from the CPU to do tasks. I don’t know if this is an issue with the firmware on the laptop, or with how my OS is configured. If someone with windows can chime in and post their results.

Edit:
Trial 4: 100% charged, battery reports “plugged in, still discharging” despite not going down in charge.

replugged_trial4

If anyone wants any detailed system configuration info i’d be more than happy to provide it if asked, and you tell me what you need and how to get it.

Edit:
Reading up more about CPU frequency governors on the arch wiki, I came across this:
https://wiki.archlinux.org/title/CPU_frequency_scaling#BIOS_frequency_limitation
specifically referring to BIOS Frequency Limitation. Perhaps the BIOS is telling the OS to limit the frequency when this down-clocking issue is occurring?

1 Like

MAJOR DISCOVERY

This post gave me the idea:

I switched the power supply out. I was using the framework power supply and I swapped it for a

RavPower PD Pioneer 90W Model RP-PC128
which supports the following PD modes:
5V3A, 9V3A, 12V3A, 15V3A, 20V4.5A, 90W Max
and my performance issues are all gone!

Here are the results: Plugged in, starting with 100% power
Trial 1: Framework Laptop - Geekbench Browser
Thermals:
changeAdapter_trial1

Trial 2: Framework Laptop - Geekbench Browser
changeAdapter_trial2

Trial 3: Framework Laptop - Geekbench Browser
changeAdapter_trial3

Trial 4: Framework Laptop - Geekbench Browser
changeAdapter_trial4

Trial 5: Framework Laptop - Geekbench Browser
changeAdapter_trial5

I ran 5 trials just to be completely sure there was no fluke. You can see the scores went up significantly compared to all other tests I’ve run.

Some thoughts:

  1. My performance numbers may go down when the laptop needs to charge as I’m using it.
  2. My framework power adapter may be defective? Or perhaps it has something to do with how it negotiates what PD spec to use, which could be an issue with the adapter, or on the laptop side. I know its not the USB-C cable that plugs into either end because I used the same one with both adapters.
  3. I also noticed that all of the cores were able to sustain their max 4.1GHz boosts during the multicore tests much better than before (pretty much 90-100% uptime), which explains the increased thermals, and the significant difference in multicore scores, and maybe why the single core scores weren’t affected that much comparing the two plugged in tests when the battery is fully charged.
  4. The reason the unplugged battery scores were so much better than the plugged in scores is because the battery is able to deliver the required power, whereas the power adapter couldn’t supply it.
  5. Maybe there is a short somewhere and the additional power that this adapter puts out was able to overcome it? This could be a problem, though I would expect that much power would produce a hot spot that’s very obvious on the board.
  6. My battery health is reporting that it’s at 98% again.

In closing, this could be an issue for people who are using under-powered power adapters, I’m very curious to see what power adapters the other people reporting the problem are using.

Can someone from the framework team test this and confirm? Also, what PD specs does the laptop itself support for charging?

5 Likes

I figured it might have been power interference. Did you try isolating the problem further? Try changing the outlet in the building that you are using or if you can, a better type-c cable.

I just ran the same test again using a different power outlet, both adapters. Same results.

1 Like

I don’t think this is related to the specific adapter, please note that a LOT of threads have been merged into one and there is a lot of reading to be done.

This is NOT isolated just to linux, this happens on all platforms reported so far, thus both Windows and Linux.

@nrp (Nirav), does it make sense to create a summary for this thread as the first post, or possibly pin it as a ‘known issue’ that is being investigated? Judging by the large amount of posts from different users, this appears to be a broader problem than we originally expected.

Please let us know what can we do to help you guys (and gals) to track down the issue and if needed, test out any alpha, beta or RC updates (BIOS, Drivers, etc.).

Thanks!

4 Likes

I keep wondering why it only happens at certain battery charge levels.

Earlier when I plugged in the power adapter at 51% charge, there wasn’t any issues.

Maybe it has to do with what specific power levels the charger charges at? Maybe there’s some kind of PD level switch over that takes place at certain battery charge levels, and if, for example, the adapter delivering 9V3A (27W) isn’t enough to both charge the battery and run the computer at a high performance level, (yet the energy demand isn’t high enough yet to switch over to 15V3A (45W), but 12V3A (36W) that my other power adapter delivers (does the framework adapter support that charge level?) is sufficient and is why it works? It could also be that the power adapters should be capable of delivering the necessary power, but the switchover isn’t taking place because of a bug, which could explain why clocks suddenly drop to 400mhz (super low power) because something went wrong.

You’re correct in that this needs more investigation.

1 Like

Has anyone tried this?

1 Like

Warning: Make sure you read and understood the section above. CPU frequency limitation is a safety feature of your BIOS and you should not need to work around it.

If the firmware is telling the OS to downclock there’s probably a reason for it, the point is to figure out what that reason is, not bypass it.

If the people who have had the downclocking issue else can reproduce the results I posted above, check to see if the power supply is what’s caused the problem for them, or if it may be something else that needs to be looked into. If you’re not running linux, you can come up with your own test on windows that follows a reproducible, controlled methodology to test it. I would suggest some kind of benchmarking software that stresses the CPU and produces a measured result, like Geekbench, and some monitoring software to watch temperatures and frequencies as the test takes place, then record your results and post them.

Also, if someone who has not had the downclocking issue can run the tests too, maybe you do have the issue but haven’t noticed it, and also with a weaker power supply to see if it happens to them.

1 Like

What’s the latest on this? Are we still pending investigation to conclude on the root cause the impact of the broader audience here?

ezhik I know it would suck but I feel the best move is just for users to send in the laptops that are effected by this issue and have the actual framework team diagnosis the problem as it could be a hardware issue. They would probably come to an answer much faster than users who may or may not know what they are doing and what to look for or report.

2 Likes

I already went through an RMA, kudos to Framework as it was a painless experience (once again, setting a new standard for other OEMs).

But is that really a resolution? I would rather send in the charger that I am using or buy a separate one for Framework team, than send in the whole system, which I use day in and day out for work and pleasure.

So my laptop is behaving like this:

Using the framework charger.

When plugged in, fully charged, it’s performing worse than when it’s unplugged, on battery.

When it’s unplugged, on battery, it’s performing normally with no clock speed issues.

When plugged in, charging, it’s performing worse than both of the above cases. (throttling to 400mhz then slowly clocking up to 1.8GHz and no higher as the laptop charges, upon plugging in the power cord)

When using a different, stronger charger (90W vs 60W), it’s performing full power in each of those above scenarios.

This isn’t supposed to be how the laptop performs, correct? Should I start an RMA and have the laptop replaced because it or the power supply are defective (or both?) @nrp @Kieran_Levin

Edit: I just tested it with another power supply, so tested 3 power supplies in total. The 90W one works perfectly in all scenarios, the framework one is producing issues, and a 20W one did not cause any issues, and the battery and power adapter were both correctly discharging at the same time and no downclock took place.

Edit 2: When I plug another device into the second port on the 90W power supply, the power gets split between the 2 devices, for example, my phone will charge at 18W and the USB-C PD power mode for the laptop will change to a lower one. Upon doing this, I’ve observed the drop in clock speeds/performance, but it is not as bad as the framework adapter-- clock speeds drop from 3GHz down to 1.9GHz instead of plummeting to 400MHz.

2 Likes

I only just became aware of this yesterday after my laptop unexpectedly slowed to a crawl when charging. Haven’t noticed any issues on battery. I’ve only had time to do some very basic testing but it does seem to be related to charge level, pretty much flips a switch as soon as the battery hits 85% charge; below that, performance is as expected, above that, clocks are stuck around 0.39GHz. Edit: by the time it hits 90% charge performance has partially recovered but still isn’t going much beyond 2GHz, running an all-core workload like Cinebench R23 has clocks pegged around 1.8GHz.

Second edit: at 100% charge, Cincebench R23 clocks sit around 2.8GHz; normally on battery I can achieve around 3.5GHz all-core - granted, that might partially be a thermal issue related to heat from charging.

I don’t have a second USB-C charger floating around to test unfortunately, but I’ll do what I can to help diagnose this and get a log file of the behavior.

Also doesn’t matter which port I use for charging, same behavior in all of them.

Edit 3: quick and definitely not scientific plot of this behavior, the actual shifts in behavior seem to occur around 85% charge (sorry I wasn’t logging before that, but clocks were behaving normally to that point), 91% charge, and 96% charge, or thereabouts. This is mostly idling with a browser open, random blips are from trying different charging ports and running Cinebench briefly. Again I’ll try to be more systematic abou this when I have time.

Edit 4: Can confirm the PROCHOT flag is being thrown until about 97% charge level.

3 Likes

Just to throw my hat in the ring, I am seeing this issue on Arch Linux as well. Everything is fine, unless I am plugged into AC power, and the battery reaches around 83-84% charge. When I reach 84% charge the CPU frequency tanks down to 0.39Ghz ish. It recovers if I unplug the AC power.

1 Like

So I thought maybe this was a windows 11 bug because I just started noticing it after last week’s update. At first when using my 30w PD battery to extend the battery life while gaming and now with the Framework Charger.

I have a batch 3 i5, running windows 11 release preview and Beta bios. So far my troubleshooting steps:

Pulled the Keyboard, EMI shielding looks fine.

Tested all ports with and without my USB C expansion, all ports affected.

Tried different cables with both chargers, no change.

Interestingly enough, the StarTech Thunderbolt 3 dock doesn’t seem to be affected and I get full core clocks when plugged into that. Battery is charging and the normal 30ish watts.

I still have more testing to do at different battery levels but figured I’d check the forums first. Sucks that this seems to be a broad issue.

I’ve read on another thread that if the motherboard is running outside of the case without a battery, that it needs a 100W USB PD adapter to run.