Fan control and precise curve adjutments

Hello !

I’m currently trying to optimise my thermal / noise ratio, so I’m looking for something that allows custom curves for the 3 fan headers (PWM) on the motherboard.

I was able to get some script to sort of work by passing commands through the framework_tool. But it is kind of unstable and not that smooth (because of interference with the embeded controller [EC]).

As anyone tried something like this, or gathered any useful information ?

Have a good day/night,

L_J

1 Like

have you tried this

1 Like

I did come across this but I had convinced myself that it was surely only meant for laptops motherboards.

I guess there’s no risk in trying anyway.
I’ll try and keep you updated.

Thanks for the reply !

Edit : I guess since ozturkkl’s tool relies on framework_tool and ryzenadj -which already work on my system- there’s a very good chance it’ll work.

It does work !

But it’s limited to a single curve for my total of 4 fans, which I -ideally- want to control independently (for positive pressure, noise, etc.) .

It does the job fine for now but I’m considering either tinkering with the code myself (I know nothing about Rust or Svelte so that’d be quite the adventure) or suggesting to Kemal Ozturk via github.

I’m sure there’s a way to autodetect fan headers -which would also futureproof the code for compatibility with possible new Framework designs or refreshes.

Thanks again for the suggestion, I should have kept it simple from the beggining. :grinning_face_with_smiling_eyes:

your welcome for the suggestion :grin:

1 Like

Feel free to create a feature request as an issue in GH. I’ve been pretty busy last couple weeks but who knows maybe I’ll get to it.

The problem is, I don’t own a Framework Desktop and not sure if my 16 has multiple headers for me to test the code with…

1 Like

I see two problems from tweaking the fan curves

  • The EC’s average CPU temp too slow to react. So it went too hot before the fan spins up and kept running after temp went down.
  • The fan’s speed overshoots and causes loud noise when spinning up from 0 speed.

The only workaround I found for these 2 issues is keeping the fan running all the time and speed up early at low temp. I wish the EC can be better tuned to address these 2 issues and add more transition points to allow smoother curve (currently it really is just a single linear slope).

I’m not particularly in any rush, I thought of it more as a mid/long term global improvement. :sweat_smile:
I don’t want you to feel like I’m pressuring you or anything.

Here’s the issue / request for any people who’d be interested or want to contribute : [Feature Request] Independent Fan Curves per Fan Header · Issue #51 · ozturkkl/framework-control · GitHub

1 Like

Thank you, not feeling pressured at all haha :slight_smile:

1 Like