Keine Lüftersteuerung möglich

OMGWTFBBQ

Lt. Junior Grade
Registriert
Apr. 2014
Beiträge
407
Hallo,

ich kann aus irgendeinem Grund weder mit fancontrol noch anderen Programmen wie z.B. corectrl die CPU- und Gehäuselüfter steuern.

OS: Arch Linux x86_64
Kernel: 6.8.7-arch1-2
Board: ASUS x470 F Gaming

lm_sensors erkennt asus_wmi_sensors, behauptet allerdings, dass es kein PWM ist und daher die nicht steuern kann via pwmconfig.

Für x470 braucht asus_wmi Minimum BIOS Version 5007, ich habe eine der neusten 6000er installiert.

Code:
$ sensors      
k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +39.5°C
Tccd1:        +40.2°C

nvme-pci-0100
Adapter: PCI adapter
Composite:    +41.9°C  (low  = -273.1°C, high = +80.8°C)
                       (crit = +80.8°C)
Sensor 1:     +41.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +44.9°C  (low  = -273.1°C, high = +65261.8°C)

amdgpu-pci-0b00
Adapter: PCI adapter
vddgfx:      800.00 mV
fan1:         771 RPM  (min =    0 RPM, max = 3300 RPM)
edge:         +64.0°C  (crit = +100.0°C, hyst = -273.1°C)
                       (emerg = +105.0°C)
junction:     +67.0°C  (crit = +110.0°C, hyst = -273.1°C)
                       (emerg = +115.0°C)
mem:          +66.0°C  (crit = +100.0°C, hyst = -273.1°C)
                       (emerg = +105.0°C)
PPT:          40.00 W  (cap = 255.00 W)

asus_wmi_sensors-virtual-0
Adapter: Virtual device
CPU Core Voltage:        937.00 mV
+12V Voltage:             12.10 V
+5V Voltage:               5.01 V
3VSB Voltage:              3.33 V
CPU Fan:                  488 RPM
Chassis Fan 1:            477 RPM
Chassis Fan 2:            413 RPM
Chassis Fan 3:              0 RPM
AIO Pump:                   0 RPM
Water Pump:                 0 RPM
CPU OPT:                  495 RPM
CPU Temperature:          +39.0°C
Motherboard Temperature:  +38.0°C
Chipset Temperature:      +56.0°C
Tsensor 1 Temperature:   +216.0°C

nvme-pci-0800
Adapter: PCI adapter
Composite:    +54.9°C  (low  =  -0.1°C, high = +77.8°C)
                       (crit = +80.8°C)
Sensor 1:     +54.9°C  (low  = -273.1°C, high = +65261.8°C)

Code:
└─$ sudo pwmconfig
[sudo] Passwort für omgwtfbbq:
# 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 nvme
   hwmon2 is k10temp
   hwmon3 is asus_wmi_sensors
   hwmon4 is asus
   hwmon5 is amdgpu

Found the following PWM controls:
   hwmon5/pwm1           current value: 63
hwmon5/pwm1 is currently setup for automatic speed control.
In general, automatic mode is preferred over manual mode, as
it is more efficient and it reacts faster. Are you sure that
you want to setup this output for manual control? (n) n

Unter Windows lässt sich alles ohne Probleme mit Fancontrol steuern.
 
In der Dokumentation des zuständigen asus_wmi_sensors Treibers sehe ich allerdings auch kein Indiz dass der Treiber die Steuerung von Lüftern erlaubt. Lediglich das Auslesen von Spannungen, Lüftergeschwindigkeiten und Temperaturen wird genannt: https://docs.kernel.org/6.8/hwmon/asus_wmi_sensors.html
Zugegeben ist die Doku gerade von Treibern oft veraltet oder unvollständig aber im Source-Code lässt sich auch nichts dahingehend finden.

Die übliche Empfehlung ist aktuellste Kernel zu verwenden was du aber bereits machst.

Die Unterstützung von Hardware Monitoring Funktionen von Gaming Mainboards ist unter Linux leider recht lückenhaft da es so viele verschiedene Boards gibt. asus_wmi_sensors bedient z.B. gerade mal 15 Boards. Zudem sind die BIOSe/Firmwares manchmal so buggy dass sie komplett durchdrehen können selbst wenn man nur Sensoren ausliest:
The WMI implementation in some of Asus' BIOSes is buggy. This can result in fans stopping, fans getting stuck at max speed, or temperature readouts getting stuck. This is not an issue with the driver, but the BIOS. The Prime X470 Pro seems particularly bad for this. The more frequently the WMI interface is polled the greater the potential for this to happen.
Für Unternehmen sind Gaming Boards nicht interessant und für Privatpersonen ist es zu teuer sich Boards nur zum Testen anzuschaffen. Und von den Linux-Nutzern die genau dieses Board haben können nur die wenigsten Linux-Treiber entwickeln UND Windows-Treiber reverse-engineeren. Daher ist die Unterstützung von Sensoren die über eine Vielzahl von Geräteserien gleich sind (z.B. amdgpu, nvme) deutlich besser.
 
Die alternative wäre IT87 als extra Kernel Modul via DKMS, allerdings wird da reichlich vor gewarnt, da man dafür noch die Richtlinie für ACPI calls zu "lax" ändern muss
 
Die Treiber sind doch aber alle nur read-only, wenn ich das richtig sehe. Register schreiben kann keiner von denen.
 
Zurück
Oben