Fan Troubleshooting

I’m having an issue getting my fan (and the s2) button to work. The CPU temp goes up above 40C, but the fan doesn’t turn on. I’ve tried resetting the fan threshold with no luck. Any ideas on how I could troubleshoot this further?

In [2]: api.get_fan_health()
Out[2]: 1
In [3]: api.get_fan_speed()
Out[3]: 0
In [4]: api.set_fan_speed(1)
Out[4]: 1
In [5]: api.get_fan_speed()
Out[5]: 0

Hi @ben.stookey,
So what is the output of api.get_fan_automation()?
For soft power on(S2-short press), the pogo pin needs to be soldered.
We will soon add the usage video and document to the docs .

Thanks, @ensar. Here’s the automation output:

In [4]: api.get_fan_automation()[0]
Out[4]: 40
In [5]: api.get_fan_automation()[1]
Out[5]: 100

Of course it’s not just that the automation isn’t working. As you can see in my post above, the fan health is supposed to be good, but the fan won’t start even if I set the fan speed to 1.

I was hoping the fact that S2 isn’t working for long press or short press might be a related clue…

Any ideas, @ensar?

I’d really like to get the S2 long press working too…

Hi Ben,
Sorry for the delay in response, we’ve looked into your issue and it seems the agent to be inactive.
Make sure the power_agent is active when using API or pressing S2 button, and also check the pins of the cooling fan.

Thanks

Not sure if it helps what you are trying to do but I was able to get the fan to come on offline and without the agent by sending the system temp api.send_system_temp(). Fan came on right away. Now to be useful you would basically need a script that runs every so often to send the system temp. Hope that helps.

2 Likes

@ben.stookey, @ensar,

After setting the fan automation (of which only the HIGH speed works), the only way I got it respond to temperature increases was to use

send_system_temp()

in a ‘watch’ loop script (watch executes the script every 2 seconds) which caused the fan to respond as expected to the system temp. For what ever reason, it doesn’t seem to be more automatic than that, even when one keeps reading the temp sensors.

S