Closed Eraden closed 3 years ago
I have a Vega 56 and I can confirm that the service is not working.
In service()
the speed from the config file (a PWM value) is compared to fan_min()
and fan_max()
but those functions return the fan RPM.
In my case, the outputs are:
fan1_min = 400
fan1_max = 3300
fan1_input = 637 (rpm)
pwm1_min = 0
pwm1_max = 255
pwm1 = 48
Setting the PWM target to 30 for example will result in:
fan1_min (400) > 30 || fan1_max (3330) < 30
And that's not working :smile:
Adding RPM values into the config will also not work because set_speed()
writes to pwm1
and not fan1_input
.
@r15ch13 I just wanted to comment the exact same thing.
Also the default config makes it look like speed has to be a percentage between 4 and 100, but the value gets directly, without conversion, written to pwm1
which goes from 0 to 255.
I think it would be best to keep it as a percentage from 0 to 100 (also allowing floats) in the config and then convert it to an int in the correct range.
And I'm not sure which would be better to change. Either use pwm1_min
and pwm1_max
for the boundaries and let set_speed
write to pwm1
, or use fan1_min
and fan1_max
for the boundaries and write to fan1_target
. I don't know if every AMD card has both options though.
EDIT: Ok, according to this the pwm interface should be used for the manual fan speed control (pwm1_enable=1
).
Sapphire Vega56 Pulse Kernel 5.12.14 Arch Fancontrol config in use: