amdfan icon indicating copy to clipboard operation
amdfan copied to clipboard

fan_speed reports as '0'

Open richardtatum opened this issue 3 years ago • 4 comments

Kernel: 6.1.6-273-tkg-pds GPU: Radeon 6800XT

amdfan is running correctly as a service and the output appears correct using amdfan --monitor however the fan_speed reports as zero.

➜  ~ amdfan --monitor
AMD Fan Control - ctrl-c to quit
                 amdgpu
┏━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Card  ┃ fan_speed (RPM) ┃ gpu_temp ℃ ┃
┡━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ card0 │ 0               │ 28.0       │
└───────┴─────────────────┴────────────┘

Aborted!
➜  ~ systemctl status amdfan.service
● amdfan.service - amdfan controller
     Loaded: loaded (/usr/lib/systemd/system/amdfan.service; enabled; preset: disabled)
     Active: active (running) since Tue 2023-01-17 18:01:12 GMT; 1min 52s ago
   Main PID: 642 (amdfan)
      Tasks: 1 (limit: 38381)
     Memory: 68.6M
        CPU: 179ms
     CGroup: /system.slice/amdfan.service
             └─642 /usr/bin/python /usr/bin/amdfan --daemon

Jan 17 18:01:12 sff systemd[1]: Started amdfan controller.
Jan 17 18:01:13 sff amdfan[642]: [18:01:13] INFO     Starting amdfan                                amdfan.py:217

Running manually via amdfan --daemon produces no errors.

My config file:

➜  ~ cat /etc/amdfan.yml
#Fan Control Matrix.
# [<Temp in C>,<Fanspeed in %>]
speed_matrix:
- [50, 4]
- [60, 70]
- [65, 75]
- [70, 85]
- [77, 95]
- [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

Let me know if there is anything else I can provide to help diagnose this issue? It appears the fans themselves may still be running at the requested RPM but the monitoring just doesn't reflect that.

richardtatum avatar Jan 17 '23 18:01 richardtatum

You may want to check that /sys/class/drm/card0/device/hwmon/hwmon1 is properly populated (card0/hwmon1 may be different for you).

Make sure that this directory has the relevant "temp1_input", "pwm1_max", "pwm1_min", "pwm1_enable", "pwm1", files in there.

I have a 6800xt as well running on 6.1.6-zen1 and it's correctly exporting my sysfs in there.

mcgillij avatar Jan 17 '23 18:01 mcgillij

I believe everything that is required is in there:

➜  ~ ls -a /sys/class/drm/card0/device/hwmon/hwmon0/
.            fan1_input   freq1_input  in0_input  power1_average      power1_cap_min  pwm1_max    temp1_crit_hyst  temp2_crit       temp2_label      temp3_input
..           fan1_max     freq1_label  in0_label  power1_cap          power1_label    pwm1_min    temp1_emergency  temp2_crit_hyst  temp3_crit       temp3_label
device       fan1_min     freq2_input  name       power1_cap_default  pwm1            subsystem   temp1_input      temp2_emergency  temp3_crit_hyst  uevent
fan1_enable  fan1_target  freq2_label  power      power1_cap_max      pwm1_enable     temp1_crit  temp1_label      temp2_input      temp3_emergency

richardtatum avatar Jan 17 '23 18:01 richardtatum

Are you able to read/set the values either manually or with amdfan --manual? Do you get any permissions errors?

mcgillij avatar Jan 17 '23 21:01 mcgillij

Sorry for the late reply.

I am able to set the values manually, no permission errors.

richardtatum avatar Jan 21 '23 19:01 richardtatum