Framework Laptop 16 Ryzen 7040 BIOS 4.03 Release STABLE

if you use linux… can you report what you have with sudo ./ryzenadj -i

  • for different BIOS if possible…
  • for the different power config?
    may be you can report your battery charging config and stat (someone suggest the power limit may be different with different battery status… )

The Ryzen 7 + Radeon 7700S can use more than what the 180W power can deliver, it is possible they try to reduce in some case the battery usage.

I think I may have made a small discovery, but I’m not sure. I wanted to see if I could get my CPU to use more watts if I opened the expansion bay latch to “disable” my dGPU, and noticed that in the Framework Control tool that I had open, the TDP dropped to 35w. Trying to manually adjust the TDP didn’t increase it either.

One thing I’ve noticed is that my CPU seems to run hotter than I remember lately compared to the 3.x bios patches. I was getting pretty bad 1% CPU spikes in Battlefield 6, but it turned out to be related to CPU thermals. Once I put my dGPU plugs back in to increase CPU airflow, the issue went away. I had to use 5 each, blocking half of the dGPU vent but my stutters went away. If I did less than that, I still got stuttering, but it was mitigated. 5 was just enough to pass some sort of threshold.

I believe my 544mhz issue may also be a result of overheating.

Blocking GPU fans to increase CPU airflow - Framework Laptop 16 - Framework Community

Unfortunately nothing fixed for me over 4.02. I will say since applying the BETA I’ve only received the 544 Mhz bug once. It did require a reboot to recover. It hasn’t happened again.

The issue with my Keyboard / Macropad, Ethernet Adapter all shutting off and coming back up hasn’t resolved itself at all. It still happens several times per hour, ever since I applied 4.02.

Windows 11, 7940HS with 7700S GPU.

I have had an issue lately where sometimes when I put the keyboard back in (I had a key on mine fail, so I’ve been doing testing), it won’t work and I need to take it out and it back in again (which I believe is a separate issue from the key failing).

Im no tech expert so I dont know if I already have this update or did these steps, but for vaguely a month now my “d” key has been acting up or flat-out not working. Would that be related to this update?

Thought I should put this here. I have the 7700S GPU running NixOS and I’m still running into the 544mhz bug. I believe I’ve been running into it since 3.06. It seems to occur randomly, though I think it’s always happened when either the system has been on for a few hours, or the system is on low load. Like with rune_san, I’ve had issues with my Ethernet shutting off then back on again, however I’ve been having that issue since I got the laptop. I’ve tried using a UGREEN dock and the official Ethernet adapter, and both run into the same issue. I’ll try to downgrade to 3.05 and see what happens with the CPU bug.

I have that same problem and as far as I can tell, it’s a hardware failure.

Keyboard repeating and missing letters, mostly one key (d) - Framework Laptop 16 / Linux - Framework Community

Have you had any high temps (~100c) or overheating related issues? I’m not sure if it’s just coincidence that my keyboard failed after I started getting those or not.


Regarding the 0.55Ghz issue, I have spent a lot of time doing various tests in coordination with Framework Support lately, and at least in the case of my device the issue seems to be due to over heating. I can reproduce the 0.55ghz fault by running 3D Mark’s Steel Nomad stress test (windowed) + Cinebench R23 multicore test, and about 10 minutes later the cpu will throttle to 0.55Ghz. I’m still investigating a solution as my board is now out of warranty, but my GPU plugs seem to help.

My overheating issues were due to the vents needing to be cleaned. I’ve also ordered a new keyboard.

fwupdmgr is not working for me.
Do I have to use a different repository? or activate the beta channel?

It looks like 4.03 was just recently added to Stable as this thread was Beta when I made my comment. It’ll likely take a little time before the update is available to fwupdmgr, I’d check a couple times a day. It should be available before monday.

1 Like

I thought you blocked your vents on purpose? :rofl:

That… that’s different! As it turns out, if you’re CPU is overheating due to blocked vents, you can block more vents to temporarily mediate the issue!

1 Like

my config:

  • fw16 Ryzen 7940HS
  • no dGPU
  • Dual M.2 Adapter
  • Fedora 43 .

Update the bios today with no probleme. (from 4.02)
I just had to turn everything off including the charger (an Anker Prime (250W, 6 ports, GaNPrime)) otherwise there was no charge.

for the power it look good now:


#> on battery
## > eco
CPU Family: Phoenix Point
SMU BIOS Interface Version: 15
Version: v0.18.0 
PM Table Version: 4c0009
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    30.000 | stapm-limit        |
| STAPM VALUE         |     6.776 |                    |
| PPT LIMIT FAST      |    30.000 | fast-limit         |
| PPT VALUE FAST      |     6.755 |                    |
| PPT LIMIT SLOW      |    20.000 | slow-limit         |
| PPT VALUE SLOW      |     6.759 |                    |
| StapmTimeConst      |     6.690 | stapm-time         |
| SlowPPTTimeConst    |     5.056 | slow-time          |
| PPT LIMIT APU       |     0.000 | apu-slow-limit     |
| PPT VALUE APU       |     0.000 |                    |
| TDC LIMIT VDD       |    70.000 | vrm-current        |
| TDC VALUE VDD       |     2.803 |                    |
| TDC LIMIT SOC       |    18.000 | vrmsoc-current     |
| TDC VALUE SOC       |     1.237 |                    |
| EDC LIMIT VDD       |    81.641 | vrmmax-current     |
| EDC VALUE VDD       |    28.087 |                    |
| EDC LIMIT SOC       |    26.000 | vrmsocmax-current  |
| EDC VALUE SOC       |     2.219 |                    |
| THM LIMIT CORE      |   100.000 | tctl-temp          |
| THM VALUE CORE      |    40.401 |                    |
| STT LIMIT APU       |    44.000 | apu-skin-temp      |
| STT VALUE APU       |    38.127 |                    |
| STT LIMIT dGPU      |     0.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |     0.000 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |

##> balance
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    53.000 | stapm-limit        |
| STAPM VALUE         |     9.143 |                    |
| PPT LIMIT FAST      |    53.000 | fast-limit         |
| PPT VALUE FAST      |    18.830 |                    |
| PPT LIMIT SLOW      |    35.000 | slow-limit         |
| PPT VALUE SLOW      |     5.649 |                    |
| StapmTimeConst      |     0.000 | stapm-time         |
| SlowPPTTimeConst    |     0.000 | slow-time          |
| PPT LIMIT APU       |     0.000 | apu-slow-limit     |
| PPT VALUE APU       |     0.000 |                    |
| TDC LIMIT VDD       |    70.000 | vrm-current        |
| TDC VALUE VDD       |    11.172 |                    |
| TDC LIMIT SOC       |    18.000 | vrmsoc-current     |
| TDC VALUE SOC       |     1.226 |                    |
| EDC LIMIT VDD       |    51.406 | vrmmax-current     |
| EDC VALUE VDD       |    71.684 |                    |
| EDC LIMIT SOC       |    26.000 | vrmsocmax-current  |
| EDC VALUE SOC       |     3.452 |                    |
| THM LIMIT CORE      |   100.000 | tctl-temp          |
| THM VALUE CORE      |    55.524 |                    |
| STT LIMIT APU       |    44.000 | apu-skin-temp      |
| STT VALUE APU       |    36.270 |                    |
| STT LIMIT dGPU      |     0.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |     0.000 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |

##> perfo...
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    60.000 | stapm-limit        |
| STAPM VALUE         |     7.855 |                    |
| PPT LIMIT FAST      |    60.000 | fast-limit         |
| PPT VALUE FAST      |     7.931 |                    |
| PPT LIMIT SLOW      |    40.000 | slow-limit         |
| PPT VALUE SLOW      |     7.716 |                    |
| StapmTimeConst      |    11.761 | stapm-time         |
| SlowPPTTimeConst    |    10.002 | slow-time          |
| PPT LIMIT APU       |     0.000 | apu-slow-limit     |
| PPT VALUE APU       |     0.000 |                    |
| TDC LIMIT VDD       |    70.000 | vrm-current        |
| TDC VALUE VDD       |     3.548 |                    |
| TDC LIMIT SOC       |    18.000 | vrmsoc-current     |
| TDC VALUE SOC       |     1.162 |                    |
| EDC LIMIT VDD       |    60.070 | vrmmax-current     |
| EDC VALUE VDD       |    49.199 |                    |
| EDC LIMIT SOC       |    26.000 | vrmsocmax-current  |
| EDC VALUE SOC       |     2.036 |                    |
| THM LIMIT CORE      |   100.000 | tctl-temp          |
| THM VALUE CORE      |    41.751 |                    |
| STT LIMIT APU       |    47.000 | apu-skin-temp      |
| STT VALUE APU       |    36.330 |                    |
| STT LIMIT dGPU      |     0.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |     0.000 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |

#> with power:
##> eco
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    65.000 | stapm-limit        |
| STAPM VALUE         |     7.530 |                    |
| PPT LIMIT FAST      |    65.000 | fast-limit         |
| PPT VALUE FAST      |     7.569 |                    |
| PPT LIMIT SLOW      |    48.000 | slow-limit         |
| PPT VALUE SLOW      |     7.280 |                    |
| StapmTimeConst      |     9.152 | stapm-time         |
| SlowPPTTimeConst    |    13.267 | slow-time          |
| PPT LIMIT APU       |     0.000 | apu-slow-limit     |
| PPT VALUE APU       |     0.000 |                    |
| TDC LIMIT VDD       |    70.000 | vrm-current        |
| TDC VALUE VDD       |     3.144 |                    |
| TDC LIMIT SOC       |    18.000 | vrmsoc-current     |
| TDC VALUE SOC       |     1.205 |                    |
| EDC LIMIT VDD       |   140.000 | vrmmax-current     |
| EDC VALUE VDD       |    66.678 |                    |
| EDC LIMIT SOC       |    26.000 | vrmsocmax-current  |
| EDC VALUE SOC       |     2.596 |                    |
| THM LIMIT CORE      |   100.000 | tctl-temp          |
| THM VALUE CORE      |    40.112 |                    |
| STT LIMIT APU       |    44.000 | apu-skin-temp      |
| STT VALUE APU       |    34.794 |                    |
| STT LIMIT dGPU      |     0.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |     0.000 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |

##> balance
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    65.000 | stapm-limit        |
| STAPM VALUE         |     4.354 |                    |
| PPT LIMIT FAST      |    65.000 | fast-limit         |
| PPT VALUE FAST      |     4.374 |                    |
| PPT LIMIT SLOW      |    52.000 | slow-limit         |
| PPT VALUE SLOW      |     4.332 |                    |
| StapmTimeConst      |    13.513 | stapm-time         |
| SlowPPTTimeConst    |    17.207 | slow-time          |
| PPT LIMIT APU       |     0.000 | apu-slow-limit     |
| PPT VALUE APU       |     0.000 |                    |
| TDC LIMIT VDD       |    70.000 | vrm-current        |
| TDC VALUE VDD       |     0.474 |                    |
| TDC LIMIT SOC       |    18.000 | vrmsoc-current     |
| TDC VALUE SOC       |     1.115 |                    |
| EDC LIMIT VDD       |   140.000 | vrmmax-current     |
| EDC VALUE VDD       |    20.631 |                    |
| EDC LIMIT SOC       |    26.000 | vrmsocmax-current  |
| EDC VALUE SOC       |     2.600 |                    |
| THM LIMIT CORE      |   100.000 | tctl-temp          |
| THM VALUE CORE      |    33.885 |                    |
| STT LIMIT APU       |    44.000 | apu-skin-temp      |
| STT VALUE APU       |    36.530 |                    |
| STT LIMIT dGPU      |     0.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |     0.000 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |

##> perfo
|        Name         |   Value   |     Parameter      |
|---------------------|-----------|--------------------|
| STAPM LIMIT         |    65.000 | stapm-limit        |
| STAPM VALUE         |     5.132 |                    |
| PPT LIMIT FAST      |    65.000 | fast-limit         |
| PPT VALUE FAST      |     5.163 |                    |
| PPT LIMIT SLOW      |    54.000 | slow-limit         |
| PPT VALUE SLOW      |     5.129 |                    |
| StapmTimeConst      |    18.399 | stapm-time         |
| SlowPPTTimeConst    |    23.906 | slow-time          |
| PPT LIMIT APU       |     0.000 | apu-slow-limit     |
| PPT VALUE APU       |     0.000 |                    |
| TDC LIMIT VDD       |    70.000 | vrm-current        |
| TDC VALUE VDD       |     1.072 |                    |
| TDC LIMIT SOC       |    18.000 | vrmsoc-current     |
| TDC VALUE SOC       |     1.109 |                    |
| EDC LIMIT VDD       |   140.000 | vrmmax-current     |
| EDC VALUE VDD       |    44.172 |                    |
| EDC LIMIT SOC       |    26.000 | vrmsocmax-current  |
| EDC VALUE SOC       |     2.664 |                    |
| THM LIMIT CORE      |   100.000 | tctl-temp          |
| THM VALUE CORE      |    35.099 |                    |
| STT LIMIT APU       |    49.500 | apu-skin-temp      |
| STT VALUE APU       |    36.217 |                    |
| STT LIMIT dGPU      |     0.000 | dgpu-skin-temp     |
| STT VALUE dGPU      |     0.000 |                    |
| CCLK Boost SETPOINT |       nan | power-saving /     |
| CCLK BUSY VALUE     |       nan | max-performance    |

so look 35W power limit is gone.
:+1:

1 Like

This is what I came looking for.
I was on 3.05 until last night.
Specifically while gaming in Arc Raiders I occasionally saw frames drop and become inconsistent. It may or may not recover on its own over the course of a few minutes.
(~90-110fps ~12ms frame times, drop to ~45fps ~28ms frame times)

After monitoring all my thermal sensors etc. Seeing no issues, I decided to check for updates because I know I hadn’t looked at updates since maybe a month after first receiving my FW16 with the same loadout CPU/dGPU loadout as you.

On 4.03, my frames seemed to stay higher and more stable for a period, then it hit, dropped to 12fps, I forget what the frametime reports were.

A laggy stuttery mess, I extract from my mission, and recovery occurs at some point on the way to extract.

Repeat tests, similar, unpredictable time to issue, unpredictable time to recovery, but recovery for sure.

Okay, check dmesg.
Dmesg shows some wine UMIP issues.
Disable UMIP, stable fast frames ~120fps for longer, but then when slowdown hit, it was catastrophic. >2000ms frame times.

Pop open some additional monitoring, sure enough, regardless of power/performance profiles and settings, all cores dropping to 514Mhz.

After that, I closed out the game, hit it with s-tui for cpu stress, and furmark from flatpak for gpu stress. Within 5 minutes, same throttling, okay, so not Wine/Proton related.
Continued testing with s-tui off, and furmark on its own could still cause the CPU frequency drop, and I could see furmark stutter and drop to ~5fps from ~35

:frowning:

1 Like

I ended up resolving this issue by cleaning my cpu/gpu vents of the hair/lint that had built up. It wasn’t much, but it was enough to make the difference. Perhaps that’d fix it for you too.

1 Like

There is a huge long thread about stuttering games and how to fix it.

One thing to look for is whether the battery is being charged or not.

sudo ectool chargecontrol
interfaces:0xffffffff
comm_init_dev being used /dev/cros_ec
Charge mode = IDLE (1)
Battery sustainer = on (65% ~ 70%)
Flags = 0x0
(Flags == 0 is allow IDLE state, 1 is no IDLE state allowed)

Check if “Charge mode = IDLE”. If it says “NORMAL” then it is charging.

Also

ectool battery 0
interfaces:0xffffffff
comm_init_dev being used /dev/cros_ec
Battery 0 info:
  OEM name:               NVT
  Model number:           FRANDBAT01
  Chemistry   :           LION
  Serial number:          0084
  Design capacity:        5491 mAh
  Last full charge:       5332 mAh
  Design output voltage   15480 mV
  Cycle count             122
  Present voltage         16179 mV
  Present current         0 mA
  Remaining capacity      3755 mAh
  Desired voltage         17600 mV
  Desired current         5491 mA
  Flags                   0x0b AC_PRESENT BATT_PRESENT CHARGING

“Present current 0 mA” means it is not charging.

Essentially, the stuttering can happen when it starts charging.

I made my own EC firmware, to avoid the stuttering. Essentially, it just ensures that the battery does not charge while gaming. Then when you finish gaming, you set it to charge up again.

But, you can use the commands above to at least see if the problem you are seeing is the same as i saw.

1 Like

So far, it looks like this solved the issue. I will have to use it for longer to see if it ever decides to pop up again, but it looks pretty good.