AMDGPU fan 0 rpm

Okay. I think that you have done before :

sudo systemctl enable amdfan

did you see or hear if your fans are running ?

if not :
Now let’s try:

sudo systemctl start amdfan

and after type:

amdfan --monitor

Normally you should get in your terminal a window showing your temperatur and your speed of your fans.

If you look at my earlier response you can see that amdfan is already running so there’s no need to run

sudo systemctl start amdfan

amdfan --monitor

Screenshot from 2022-03-19 16-54-58

The other question is what fan curve you have. I don’t know what is default, but it could be that they turn on above certain temperature (e.g. above 40 °C – it’s my manual setup on RX 6600XT, below this temperature I have 0RPM).

I’ve set it run at 15% from 0-30c then 15%+ after that

Could you check your amdfan.yml file with this command:

cat /etc/amdfan.yml 

or with this one (she looks to do the same thing):

amdfan --configuration

You should get something like this:

cat /etc/amdfan.yml 
#Fan Control Matrix.
# [<Temp in C>,<Fanspeed in %>]
speed_matrix:
- [4, 4]
- [30, 33]
- [45, 50]
- [60, 66]
- [65, 69]
- [70, 75]
- [75, 89]
- [80, 100]

# Current Min supported value is 4 due to driver bug
#
# Optional configuration options
#
# Allows for some leeway +/- temp, as to not constantly change fan speed
# threshold: 4
#
# Frequency will change how often we probe for the temp
# frequency: 5
#
# While frequency and threshold are optional, I highly recommend finding
# settings that work for you. I've included the defaults I use above.
#
# cards:
# can be any card returned from `ls /sys/class/drm | grep "^card[[:digit:]]$"`
# - card0

amdfan --configuration
#Fan Control Matrix.
# [<Temp in C>,<Fanspeed in %>]
speed_matrix:
- [4, 4]
- [30, 33]
- [45, 50]
- [60, 66]
- [65, 69]
- [70, 75]
- [75, 89]
- [80, 100]

# Current Min supported value is 4 due to driver bug
#
# Optional configuration options
#
# Allows for some leeway +/- temp, as to not constantly change fan speed
# threshold: 4
#
# Frequency will change how often we probe for the temp
# frequency: 5
#
# While frequency and threshold are optional, I highly recommend finding
# settings that work for you. I've included the defaults I use above.
#
# cards:
# can be any card returned from `ls /sys/class/drm | grep "^card[[:digit:]]$"`
# - card0

If not we should create it.

I already have it

Hum. Just an idea and I think that 's why it doesn’t work.
At first look with amdfan --monitor, I’ve seen that your temperature is 31 °c and according the yaml file amdfan is started to 33 °C
For me it is the reason than amdfan doesn’t work.
then we must modified or find the good parameters for working your graphic card.

I said 0-33c not 33c but that was on corectrl, which is now disabled. I just have amdfan with the default settings

# [<Temp in C>,<Fanspeed in %>]
speed_matrix:
- [4, 4]
- [30, 33]
- [45, 50]
- [60, 66]
- [65, 69]
- [70, 75]
- [75, 89]
- [80, 10

I’m not sure to understand why you said 33c and the rapport with corectrl.

Me I have said 33c because you have said to have the same yml file like me and then the second line i.e - [30, 33].
and with amdfan --monitor you have [0, 31].
I think that we must adjust the yaml file for get
Actually, amdfan will run when your graphic card temperature will be at only 33 c and not 31c.

For that you must modified your amdfan.yml file(normally in root, save it) and restart amdfan service with this command.

sudo systemctl restart amdfan

But before we can do something with this ocmmand.

sudo amdfan --manual

Normaly it should ask you :slight_smile:
-which card? [card0] said card0

  • fan speed modified [1,.,100%] or ’ auto’ answer the first
    And check again with amdfan --monitor

Sorry but I don’t think I’m getting anywhere with this but thanks for your help anyway. I don’t think this is the correct route to resolve this problem.

For me, amdfan works but your graphic card is not enought hot (31c) to run it because your default file configuration start to 33 C. If amdfan is still running it will work fine alone when your graphic card will reach this temp. And the reason for me why amdfan has worked fine without additionnal work (mine was at 50 °C and now at 35°C)
Anyway, in the future this one will grow/rise up and if you have nothing running you’ll get like me in January a black screen one time (for me it was at 54/56 °C). No display. A bit surprising and annoying :joy:

And if you take a look at the github page of amdfan you can modified manually this value (for sample [30, 30] without any danger. After it is your choice and I understand.

Your issue seems to be similar to this one but not exactly the same.

Just a tip. Sometimes, run amdfan --monitor to check your temp.

A last word. You should open an issue asking help to the dev for getting the good value if you are not sure.

The mine:
amdfan

Since lm-sensors didn’t display the GPU FAN speed in RPM I decided to calculate the speed from the PWM, the shell bash is - btw I am not a coder so this might be messy

#!/bin/bash

pwm1=$(cat "/sys/class/drm/card0/device/hwmon/hwmon2/pwm1")
rpm_max=3300
pwm_max=255
rpm1=$(echo "$rpm_max/100" | bc -l )
rpm2=$(echo "$pwm1/$pwm_max" | bc -l)

echo "scale=0; $rpm1*$rpm2*100 / 1" | bc

Then I just added this to conky

execi 1 /home/user/.config/conky/fan_script.sh} RPM

Nice idea.

Just a precision. lm_sensors is just a set of sensors that display speeds, temperatures,… The file is created with the sensors-detect command. The problem is, like for me, that it did not detect the fans and all that is associated such as the temperature, the rotation speed… because these were at zero. lm_sensors has a tool that I intentionally omitted, called pwmconfig. This (after testing them) creates a file that is actually corrupt at first sight. This file can be modified by having the correct values. The only big problem is that when you run pwmconfig as root, my fans went from 0 to 3600 rpm for fans without being able to stop them. The 12 attempts that I made still allowed me to discover a lot of things about pwmconfig and lm_sensors. Luckily for me it was live usb.

fan2go allows to regulate this kind of problem but you have to make a configuration file by hand which is not too difficult in itself when you have the right values.

The advantage of amdfan is that it applies a matrix at a given temperature it applies a fan rotation speed.

The advantage of amdfan is that it applies a matrix at a given temperature it applies a fan rotation speed.

For me pwmconfig, corecrtl worked fine for me.

For me pwmconfig, corecrtl worked fine for me.

Lucky man. :grin:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.