Skip to content

Framework Desktop Fan Speed Reporting #227

Description

@WindySIn

Using the --thermal flag, framework_tool reports appropriately three fan RPM values for the Framework Desktop, corresponding to the PWM inputs for APU fan, Sys1, and Sys2.

Issues are:

  • 1. Fans aren't labelled, all three outputs just show up as 'Fan Speed'
  • 2. If only the APU fan is plugged in, the RPM reading corresponds to the second readout, but if a fan is plugged into Sys1 then APU fan becomes first readout and the Sys1 fan becomes the second one. This behaviour is a potential source of confusion / error. I don't have a fan to put into Sys2 so I don't know what the behaviour will be if that slot is occupied.
  • 3. The --autofanctrl flag resets all of the fans. There is no way to only reset a single fan.

I imagine these are novel issues as the average laptop user doesn't tend to have to worry about multiple fans, but I'd be grateful if they could be looked at.

Activity

  1. JohnAZoidberg commented on Oct 29, 2025

    @JohnAZoidberg
    Member

    Fans aren't labelled, all three outputs just show up as 'Fan Speed'
    If only the APU fan is plugged in, the RPM reading corresponds to the second readout, but if a fan is plugged into Sys1 then APU fan becomes first readout and the Sys1 fan becomes the second one. This behaviour is a potential source of confusion / error. I don't have a fan to put into Sys2 so I don't know what the behaviour will be if that slot is occupied.

    Okay thanks, that looks wrong, I'll check it out.

    The --autofanctrl flag resets all of the fans. There is no way to only reset a single fan.

    The host command supports that, I didn't implement that in the commandline for simplicity. Can add it.

  2. JohnAZoidberg commented on Oct 29, 2025

    @JohnAZoidberg
    Member
  3. JohnAZoidberg commented on Oct 29, 2025

    @JohnAZoidberg
    Member

    For 3: #229

  4. JohnAZoidberg commented on Jan 18, 2026

    @JohnAZoidberg
    Member

    I haven't had a chance to get back to this yet, but thinking about it now, I think that'll need to be fixed in the EC. No change needed here in software.

  5. WindySIn commented on Jan 19, 2026

    @WindySIn
    Author

    I haven't had a chance to get back to this yet, but thinking about it now, I think that'll need to be fixed in the EC. No change needed here in software.

    I've been using my plugin that calls the existing framework tool, with minimal changes, for a few months now. My requested fixes are very much low priority 'nice-to-haves'.

  6. JohnAZoidberg commented on Jan 19, 2026

    @JohnAZoidberg
    Member

    Oh what is the plugin and what are your changes?
    I'm curious

  7. WindySIn commented on Jan 19, 2026

    @WindySIn
    Author

    Oh what is the plugin and what are your changes? I'm curious

    Ah sorry, I meant I hadn't had to change the plugin I wrote that uses the framework tool to interact with fan control.

  8. JohnAZoidberg commented on May 31, 2026

    @JohnAZoidberg
    Member

    I'm adding fan name decoding for the Desktop in #343

  9. JohnAZoidberg commented on May 31, 2026

    @JohnAZoidberg
    Member

    If only the APU fan is plugged in, the RPM reading corresponds to the second readout, but if a fan is plugged into Sys1 then APU fan becomes first readout and the Sys1 fan becomes the second one. This behaviour is a potential source of confusion / error. I don't have a fan to put into Sys2 so I don't know what the behaviour will be if that slot is occupied.

    I'm not sure I understand, APU fan is always the first one. Maybe try again with the decoded names.

  10. JohnAZoidberg commented on Sep 20, 2026

    @JohnAZoidberg
    Member

    @WindySIn is there still an issue?

  11. WindySIn commented on Sep 27, 2026

    @WindySIn
    Author

    Apologies, I've not had time to play with this in quite a while. I've closed the issue. For what it's worth the plugin has been working fine for some time now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions