Maldela / fancontrol-gui

GUI for Fancontrol. It uses the KAuth module of the KDE Frameworks 5 to write the generated config file. Furthermore it communicates with systemd via dbus to control the fancontrol service. If you want to compile without systemd support set the -DNO_SYSTEMD option.
GNU General Public License v2.0
309 stars 31 forks source link

Sensors page lists 6 fans, but Fans page lists only 4 fans #52

Open subterfugium opened 3 years ago

subterfugium commented 3 years ago

Using AUR package fancontrol-gui-git.

I have headers 1 GPU fan, CPU and CPU_OPT fans, and 3 SYS fans as shown here: image

Fans page does not list SYS fan3 and CPU_OPT headers: image

fancontrol-gui

[names][amdgpu]
fan1=GPU Fan

[names][it8728]
fan1=CPU RAD Outside
fan2=Top and Bottom Fans
fan3=Rear fan

[window]
XWAYLAND0 Height 1440=808
XWAYLAND0 Width 2560=1210

Adding fan4=Something fan5=Something else

Does not seem to help.

/etc/fancontrol

# This file was created by Fancontrol-GUI
INTERVAL=10
DEVPATH=hwmon1=devices/platform/it87.2624 hwmon2=devices/pci0000:00/0000:00:18.3 hwmon5=devices/pci0000:00/0000:00:03.1/0000:09:00.0/0000:0a:00.0/0000:0b:00.0 
DEVNAME=hwmon1=it8728 hwmon2=zenpower hwmon5=amdgpu 
FCTEMPS=hwmon1/pwm1=hwmon2/temp1_input hwmon1/pwm2=hwmon5/temp2_input hwmon1/pwm3=hwmon2/temp1_input 
FCFANS=hwmon1/pwm1=hwmon1/fan1_input hwmon1/pwm2=hwmon1/fan2_input hwmon1/pwm3=hwmon1/fan3_input 
MINTEMP=hwmon1/pwm1=60 hwmon1/pwm2=70 hwmon1/pwm3=60 
MAXTEMP=hwmon1/pwm1=100 hwmon1/pwm2=100 hwmon1/pwm3=100 
MINSTART=hwmon1/pwm1=255 hwmon1/pwm2=255 hwmon1/pwm3=255 
MINSTOP=hwmon1/pwm1=27 hwmon1/pwm2=28 hwmon1/pwm3=26 
MINPWM=hwmon1/pwm1=27 hwmon1/pwm2=28 hwmon1/pwm3=26 
MAXPWM=hwmon1/pwm1=255 hwmon1/pwm2=255 hwmon1/pwm3=255 
AVERAGE=hwmon1/pwm1=1 hwmon1/pwm2=1 hwmon1/pwm3=1 

Any way to get all fans listed in "Fans" section?

Maldela commented 3 years ago

The "Fans" page only lists fans with pwm capability. The "Sensors" page lists all fans that report their rpm values. Do the fans that are not listed in "Fans" have 4-pin connectors or 3-pin? If they have only 3-pin connectors then that's the reason they are not shown.

subterfugium commented 3 years ago

All fans are 4pin fans and PWM capable: https://geizhals.eu/ek-water-blocks-ek-vardar-evo-120er-d-rgb-3831109824641-a2345738.html https://geizhals.eu/gelid-solutions-radiant-d-rgb-fn-radiantd-20-a2320345.html

I think I have set voltage mode to PWM from BIOS for all headers.

Maldela commented 3 years ago

Then please have a look in /sys/class/hwmon/hwmon1. Look for pwm* files. Are there more than the three detected by fancontrol-gui?

subterfugium commented 3 years ago
/sys/class/hwmon$ ls -l hwmon1/ | grep pwm
-rw-r--r-- 1 root root 4096 30.12. 18:39 pwm1
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_auto_channels_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_auto_point1_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_auto_point1_temp_hyst
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_auto_point2_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_auto_point3_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_auto_slope
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_auto_start
-rw-r--r-- 1 root root 4096 30.12. 16:59 pwm1_enable
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm1_freq
-rw-r--r-- 1 root root 4096 30.12. 18:39 pwm2
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_auto_channels_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_auto_point1_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_auto_point1_temp_hyst
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_auto_point2_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_auto_point3_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_auto_slope
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_auto_start
-rw-r--r-- 1 root root 4096 30.12. 16:59 pwm2_enable
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm2_freq
-rw-r--r-- 1 root root 4096 30.12. 18:39 pwm3
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm3_auto_channels_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm3_auto_point1_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm3_auto_point1_temp_hyst
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm3_auto_point2_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm3_auto_point3_temp
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm3_auto_slope
-rw-r--r-- 1 root root 4096 30.12. 18:36 pwm3_auto_start
-rw-r--r-- 1 root root 4096 30.12. 16:59 pwm3_enable
-r--r--r-- 1 root root 4096 30.12. 18:36 pwm3_freq
/sys/class/hwmon$ ls -l hwmon5/ | grep pwm
-rw-r--r-- 1 root root 4096 30.12. 11:18 pwm1
-rw-r--r-- 1 root root 4096 30.12. 11:18 pwm1_enable
-r--r--r-- 1 root root 4096 30.12. 18:38 pwm1_max
-r--r--r-- 1 root root 4096 30.12. 18:38 pwm1_min

3 at hwmon1 and 1 at hwmon5. I guess the issue is my OS does not detect all PWM headers?

Maldela commented 3 years ago

Looks like it. Have you run sensors-detect?

subterfugium commented 3 years ago

Yup, multiple times. I will check my BIOS again to force headers to PWM mode.

subterfugium commented 3 years ago

Forced to PWM mode but still same 3 PWM hwmons available. I remember I had previously PWM control to all fan headers. Next steps probably to try different kernels ... Already updated bios to latest version.

subterfugium commented 3 years ago

my mobo gigabyte aorus b550 elite uses ITE chip (don't know which one) using it87 driver which is not maintained anymore... I guess this could cause some issues. Closest information I've found is from arch wiki: https://wiki.archlinux.org/index.php/lm_sensors#Gigabyte_B250/Z370/B450M_motherboards I am using kernel parameter acpi_enforce_resources=lax and modprobing driver with options it87 force_id=0x8686 but I guess I need to figure out if this is the actual chip I have in this mobo...

:~$ ls -l /sys/class/hwmon/hwmon1/ |egrep "pwm[0-9]" | grep -v _
-rw-r--r-- 1 root root 4096 31.12. 10:28 pwm1
-rw-r--r-- 1 root root 4096 31.12. 10:28 pwm2
-rw-r--r-- 1 root root 4096 31.12. 10:28 pwm3

:~$ ls -l /sys/class/hwmon/hwmon1/ |egrep "fan[0-9]_input"
-r--r--r-- 1 root root 4096 31.12. 10:15 fan1_input
-r--r--r-- 1 root root 4096 31.12. 10:15 fan2_input
-r--r--r-- 1 root root 4096 31.12. 10:15 fan3_input
-r--r--r-- 1 root root 4096 31.12. 10:15 fan4_input
-r--r--r-- 1 root root 4096 31.12. 10:15 fan5_input

5 fans, all set to PWM via BIOS and support PWM, and still 3 PWM files availble.... great.

Maldela commented 3 years ago

Sorry I couldn't be of much help to you. Maybe the lm-sensors maintainers can help?

subterfugium commented 3 years ago

After reading README from https://github.com/a1wong/it87 and particularly this part:

Next, force-install the driver by providing one of the already supported chips
as forced ID. Useful IDs to test are 0x8622, 0x8628, 0x8728, and 0x8732, though
feel free to test more IDs. For each ID, instantiate the driver as follows
(this example is instantiating driver with ID 0x8622).
    sudo modprobe it87 force_id=0x8622
After entering this command, run the "sensors" command and provide the output.
Then unload the driver with
    sudo modprobe -r it87
Repeat with different chip IDs, and report each result.

I went thru all IDs 0x8622, 0x8628, 0x8728, and 0x8732 and found out that most of them returned same fan rpms and /etc/class/hwmon/ values expect 0x8628 which returned all 5 pwm instances /sys/class/hwmon/hwmon1/ path.

So I edited /etc/modprobe.d/it87.conf from: options it87 force_id=0x8728 to: options it87 force_id=0x8628