Fan speed control not working

Hello, I’m trying to follow this guide: https://wiki.archlinux.org/title/Fan_speed_control
However, if I run pwmconfig I get permission denied:

# pwmconfig version 3.6.0+git
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.

We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.

Found the following devices:
   hwmon0 is nvme
   hwmon1 is k10temp
   hwmon2 is nct6687
   hwmon3 is amdgpu

Found the following PWM controls:
   hwmon2/pwm1           current value: 81
/usr/bin/pwmconfig: line 180: hwmon2/pwm1: Permission denied
   hwmon2/pwm2           current value: 98
/usr/bin/pwmconfig: line 180: hwmon2/pwm2: Permission denied
   hwmon2/pwm3           current value: 97
/usr/bin/pwmconfig: line 180: hwmon2/pwm3: Permission denied
   hwmon2/pwm4           current value: 102
/usr/bin/pwmconfig: line 180: hwmon2/pwm4: Permission denied
   hwmon2/pwm5           current value: 90
/usr/bin/pwmconfig: line 180: hwmon2/pwm5: Permission denied
   hwmon2/pwm6           current value: 93
/usr/bin/pwmconfig: line 180: hwmon2/pwm6: Permission denied
   hwmon2/pwm7           current value: 97
/usr/bin/pwmconfig: line 180: hwmon2/pwm7: Permission denied
   hwmon2/pwm8           current value: 84
/usr/bin/pwmconfig: line 180: hwmon2/pwm8: Permission denied
   hwmon3/pwm1           current value: 30

Giving the fans some time to reach full speed...
Found the following fan sensors:
   hwmon2/fan1_input     current speed: 546 RPM
   hwmon2/fan2_input     current speed: 0 ... skipping!
   hwmon2/fan3_input     current speed: 375 RPM
   hwmon2/fan4_input     current speed: 387 RPM
   hwmon2/fan5_input     current speed: 342 RPM
   hwmon2/fan6_input     current speed: 365 RPM
   hwmon2/fan7_input     current speed: 0 ... skipping!
   hwmon2/fan8_input     current speed: 495 RPM
   hwmon2/fan9_input     current speed: 0 ... skipping!
   hwmon3/fan1_input     current speed: 414 RPM

I already tried chmod +w /sys/devices/platform/nct6683.2592/hwmon/hwmon2/pwm*, but this just fixed the error, but didn’t change the fan-speed. I found this similar problem, but I have different hardware, and I also don’t fully understand what part of what he did was bad and what was good.
My mainboard is a MSI MAG Tomahawk.

Thanks for help! :slight_smile:

https://github.com/Fred78290/nct6687d ???

I have to do modprobe nct6687 after installing that, right?
That leads to

$ sensors
nct6687-isa-0a20
Adapter: ISA adapter
+12V:           12.17 V  (min = +12.14 V, max = +12.17 V)
+5V:             5.05 V  (min =  +5.04 V, max =  +5.05 V)
+3.3V:           0.00 V  (min =  +0.00 V, max =  +3.34 V)
CPU Soc:         1.01 V  (min =  +1.01 V, max =  +1.01 V)
CPU Vcore:     940.00 mV (min =  +0.94 V, max =  +1.21 V)
CPU 1P8:         1.84 V  (min =  +1.84 V, max =  +1.84 V)
CPU VDDP:        0.00 V  (min =  +0.00 V, max =  +0.00 V)
DRAM:            1.35 V  (min =  +1.35 V, max =  +1.35 V)
Chipset:       948.00 mV (min =  +0.74 V, max =  +0.97 V)
CPU Fan:          0 RPM  (min =    0 RPM, max = 1049 RPM)
Pump Fan:         0 RPM  (min =    0 RPM, max =    0 RPM)
System Fan #1:    0 RPM  (min =    0 RPM, max =  785 RPM)
System Fan #2:    0 RPM  (min =    0 RPM, max =  739 RPM)
System Fan #3:    0 RPM  (min =    0 RPM, max =  742 RPM)
System Fan #4:    0 RPM  (min =    0 RPM, max =  742 RPM)
System Fan #5:    0 RPM  (min =    0 RPM, max =    0 RPM)
System Fan #6:    0 RPM  (min =    0 RPM, max = 1129 RPM)
CPU:            +33.0°C  (low  = +32.0°C, high = +59.0°C)
System:         +35.0°C  (low  = +34.0°C, high = +42.0°C)
VRM MOS:        +29.0°C  (low  = +26.0°C, high = +43.0°C)
PCH:            +30.0°C  (low  = +28.0°C, high = +41.0°C)
CPU Socket:     +31.0°C  (low  = +29.0°C, high = +44.0°C)
PCIe x1:        +29.0°C  (low  = +27.0°C, high = +41.0°C)
M2_1:            +0.0°C  (low  =  +0.0°C, high =  +0.0°C)

nct6687-isa-0a20
Adapter: ISA adapter
VIN0:               1.01 V  (min =  +0.00 V, max =  +0.00 V)
VIN1:               1.01 V  (min =  +0.00 V, max =  +0.00 V)
VIN2:               1.01 V  (min =  +0.00 V, max =  +0.00 V)
VIN3:             672.00 mV (min =  +0.00 V, max =  +0.00 V)
VIN4:             928.00 mV (min =  +0.00 V, max =  +0.00 V)
VIN5:             944.00 mV (min =  +0.00 V, max =  +0.00 V)
VIN6:             912.00 mV (min =  +0.00 V, max =  +0.00 V)
VIN7:               1.55 V  (min =  +0.00 V, max =  +0.00 V)
VCC:                3.33 V  (min =  +0.00 V, max =  +0.00 V)
ERROR: Can't get value of subfeature fan1_max: Kernel interface error
fan1:                0 RPM  (min =    0 RPM, max =    0 RPM)
ERROR: Can't get value of subfeature fan2_max: Kernel interface error
fan2:                0 RPM  (min =    0 RPM, max =    0 RPM)
ERROR: Can't get value of subfeature fan3_max: Kernel interface error
fan3:                0 RPM  (min =    0 RPM, max =    0 RPM)
ERROR: Can't get value of subfeature fan4_max: Kernel interface error
fan4:                0 RPM  (min =    0 RPM, max =    0 RPM)
ERROR: Can't get value of subfeature fan5_max: Kernel interface error
fan5:                0 RPM  (min =    0 RPM, max =    0 RPM)
ERROR: Can't get value of subfeature fan6_max: Kernel interface error
fan6:                0 RPM  (min =    0 RPM, max =    0 RPM)
ERROR: Can't get value of subfeature fan7_max: Kernel interface error
fan7:                0 RPM  (min =    0 RPM, max =    0 RPM)
ERROR: Can't get value of subfeature fan8_max: Kernel interface error
fan8:                0 RPM  (min =    0 RPM, max =    0 RPM)
AMD TSI Addr 98h:  +33.0°C  (low  =  +0.0°C, high =  +0.0°C)
Diode 0 (curr):    +35.5°C  (low  =  +0.0°C, high =  +0.0°C)
Thermistor 15:     +29.0°C  (low  =  +0.0°C, high =  +0.0°C)
Thermistor 1:      +30.5°C  (low  =  +0.0°C, high =  +0.0°C)
Thermistor 16:     +31.0°C  (low  =  +0.0°C, high =  +0.0°C)
Thermistor 0:      +29.0°C  (low  =  +0.0°C, high =  +0.0°C)
Thermistor 15:     +29.0°C  (low  =  +0.0°C, high = +120.0°C)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +30.9°C  (low  =  -0.1°C, high = +74.8°C)
                       (crit = +79.8°C)

amdgpu-pci-2d00
Adapter: PCI adapter
vddgfx:      725.00 mV 
fan1:         138 RPM  (min =    0 RPM, max = 3450 RPM)
edge:         +40.0°C  (crit = +100.0°C, hyst = -273.1°C)
                       (emerg = +105.0°C)
junction:     +40.0°C  (crit = +107.0°C, hyst = -273.1°C)
                       (emerg = +112.0°C)
mem:          +46.0°C  (crit = +105.0°C, hyst = -273.1°C)
                       (emerg = +110.0°C)
power1:       33.00 W  (cap = 210.00 W)

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +33.2°C  
Tdie:         +33.2°C  
Tccd2:        +32.8°C  

Dunno, I saw it and thought it might help.

There appears to be an aur package:

1 aur/nct6687d-dkms-git r13.b7a988d-2 [+2 ~0.54]
    Nuvoton module for NCT6687-R synced with latest upstream kernel.
:: Packages to install (eg: 1 2 3, 1-3):

Might be worth a go.

Yeah, I installed it from the AUR.