Fancontrol HWMON entries are not persistent across reboots

As stated in the title the hwmon entry number changes between reboot preventing the fan control service from starting properly
(im a bit of a noob so please explain thoroughly with any solutions)
(also the motherboards fan control configuration keep the fans running too loudly even during idle so that is not an option)

here is the config file for fan control located in /etc/ after running pwmconfig

INTERVAL=10
DEVPATH=hwmon0=devices/pci0000:00/0000:00:18.3 hwmon3=devices/platform/it87.656
DEVNAME=hwmon0=k10temp hwmon3=it8721
FCTEMPS=hwmon3/pwm1=hwmon0/temp1_input
FCFANS=hwmon3/pwm1=hwmon3/fan1_input
MINTEMP=hwmon3/pwm1=30
MAXTEMP=hwmon3/pwm1=52
MINSTART=hwmon3/pwm1=255
MINSTOP=hwmon3/pwm1=154
MINPWM=hwmon3/pwm1=154
MAXPWM=hwmon3/pwm1=255
AVERAGE=hwmon3/pwm1=1

#here is the current fancontrol config after running pwmconfig a second time

INTERVAL=10
DEVPATH=hwmon1=devices/pci0000:00/0000:00:18.3 hwmon3=devices/platform/it87.656
DEVNAME=hwmon1=k10temp hwmon3=it8721
FCTEMPS=hwmon3/pwm1=hwmon1/temp1_input
FCFANS=hwmon3/pwm1=hwmon3/fan1_input
MINTEMP=hwmon3/pwm1=30
MAXTEMP=hwmon3/pwm1=52
MINSTART=hwmon3/pwm1=255
MINSTOP=hwmon3/pwm1=53
MINPWM=hwmon3/pwm1=53
MAXPWM=hwmon3/pwm1=255
AVERAGE=hwmon3/pwm1=1

is there anyway to make the HWMON entries persistant? or a script to load them manually?
ive also tried running sudo sensors-detect several times
when it asks Do you want to overwrite /etc/conf.d/lm_sensors? (YES/no):
Unloading i2c-dev… OK (this is the only output it gives)
I then i check the file location /etc/conf.d/lm_sensors here is its ouput

Generated by sensors-detect on Wed Apr 20 09:43:47 2022

This file is sourced by /etc/init.d/lm_sensors and defines the modules to

be loaded/unloaded.

The format of this file is a shell script that simply defines variables:

HWMON_MODULES for hardware monitoring driver modules, and optionally

BUS_MODULES for any required bus driver module (for example for I2C or SPI).

HWMON_MODULES=“it87”

is it possible to manually load the modules within lm sensors? im unsure as to how to format it any help would be greatly appreciated

i also found this potential solution
https://www.linuxquestions.org/questions/slackware-14/fancontrol-hwmon-devices-change-all-the-time-4175689935/
however i am unsure on how exactly i run the scripts that the user created on startup or what any of it actually does “blacklisting modules” “running modprobe from a file called /etc.rc.d/rc.local”

thank you for any help you can provide

may you first post some basic information to us, for example what type of computer etc. please post the output of inxi as described below

:+1: Welcome to Manjaro! :+1:

  1. Please read this:
    [HowTo] Provide System Information
    and press the three dots below your post and press the :pencil2: to give us more information so we can see what’s really going on.
    Now we know the symptom of the disease, but we need some more probing to know where the origin lies… :grin:
  2. An inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information for us to be able to help you. (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)
    Also, please copy-paste that output in-between 3 backticks ``` at the beginning and end of the code/text.

:+1:

1 Like

System:
Kernel: 5.17.1-3-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 11.2.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.17-x86_64
root=UUID=4009ef93-87d5-4cf7-85c7-46b738f62575 rw quiet apparmor=1
security=apparmor udev.log_priority=3
Desktop: Xfce v: 4.16.0 tk: Gtk v: 3.24.29 info: xfce4-panel wm: xfwm
v: 4.16.1 vt: 7 dm: LightDM v: 1.30.0 Distro: Manjaro Linux base: Arch Linux
Machine:
Type: Desktop System: ASUSTeK product: M51BC v: N/A
serial:
Mobo: ASUSTeK model: M51BC v: Rev 1.xx serial:
UEFI: American Megatrends v: 0502 date: 01/07/2014
Battery:
Device-1: sony_controller_battery_90:fb:a6:fa:ac:04 model: N/A serial: N/A
charge: N/A status: full
Memory:
RAM: total: 15.54 GiB used: 3.57 GiB (23.0%)
RAM Report:
permissions: Unable to run dmidecode. Root privileges required.
CPU:
Info: model: AMD FX-8350 bits: 64 type: MT MCP arch: Piledriver
family: 0x15 (21) model-id: 2 stepping: 0 microcode: 0x6000852
Topology: cpus: 1x cores: 8 smt: enabled cache: L1: 384 KiB
desc: d-8x16 KiB; i-4x64 KiB L2: 8 MiB desc: 4x2 MiB L3: 8 MiB desc: 1x8 MiB
Speed (MHz): avg: 4037 high: 4113 min/max: N/A cores: 1: 4013 2: 4113
3: 4112 4: 4013 5: 4013 6: 4013 7: 4013 8: 4013 bogomips: 64242
Flags: 3dnowprefetch abm aes aperfmperf apic arat avx bmi1 clflush cmov
cmp_legacy constant_tsc cpb cpuid cr8_legacy cx16 cx8 de decodeassists
extapic extd_apicid f16c flushbyasid fma fma4 fpu fxsr fxsr_opt ht
hw_pstate ibpb ibs lahf_lm lbrv lm mca mce misalignsse mmx mmxext monitor
msr mtrr nodeid_msr nonstop_tsc nopl npt nrip_save nx osvw pae pat
pausefilter pclmulqdq pdpe1gb perfctr_core perfctr_nb pfthreshold pge pni
popcnt pse pse36 rdtscp rep_good sep skinit ssbd sse sse2 sse4_1 sse4_2
sse4a ssse3 svm svm_lock syscall tbm tce topoext tsc tsc_scale vmcb_clean
vme vmmcall wdt xop xsave
Vulnerabilities:
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2
mitigation: Retpolines, IBPB: conditional, STIBP: disabled, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: NVIDIA GP104 [GeForce GTX 1070 Ti] vendor: Micro-Star MSI
driver: nvidia v: 510.60.02 alternate: nouveau,nvidia_drm pcie: gen: 2
speed: 5 GT/s lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:1b82 class-ID: 0300
Device-2: Logitech Webcam C170 type: USB driver: snd-usb-audio,uvcvideo
bus-ID: 1-1:2 chip-ID: 046d:082b class-ID: 0102
Display: x11 server: X.Org v: 1.21.1.3 compositor: xfwm v: 4.16.1 driver:
X: loaded: nvidia gpu: nvidia display-ID: :0.0 screens: 1
Screen-1: 0 s-res: 3640x1920 s-dpi: 96 s-size: 963x508mm (37.91x20.00")
s-diag: 1089mm (42.87")
Monitor-1: DP-4 pos: primary,bottom-l res: 2560x1080 dpi: 95
size: 688x290mm (27.09x11.42") diag: 747mm (29.39") modes: N/A
Monitor-2: DVI-D-0 pos: top-right res: 1080x1920 hz: 60 dpi: 92
size: 299x531mm (11.77x20.91") diag: 609mm (23.99") modes: N/A
OpenGL: renderer: NVIDIA GeForce GTX 1070 Ti/PCIe/SSE2
v: 4.6.0 NVIDIA 510.60.02 direct render: Yes
Audio:
Device-1: AMD SBx00 Azalia vendor: ASUSTeK driver: snd_hda_intel v: kernel
bus-ID: 00:14.2 chip-ID: 1002:4383 class-ID: 0403
Device-2: NVIDIA GP104 High Definition Audio vendor: Micro-Star MSI
driver: snd_hda_intel v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:10f0 class-ID: 0403
Device-3: Logitech Webcam C170 type: USB driver: snd-usb-audio,uvcvideo
bus-ID: 1-1:2 chip-ID: 046d:082b class-ID: 0102
Sound Server-1: ALSA v: k5.17.1-3-MANJARO running: yes
Sound Server-2: sndio v: N/A running: no
Sound Server-3: JACK v: 1.9.20 running: no
Sound Server-4: PulseAudio v: 15.0 running: yes
Sound Server-5: PipeWire v: 0.3.49 running: yes
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK H81M-C driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: d000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac:
IP v4: type: dynamic noprefixroute scope: global
broadcast:
IP v6: type: noprefixroute scope: link
WAN IP:
Bluetooth:
Device-1: Dynex Bluetooth 4.0 Adapter [Broadcom 1.12 BCM20702A0] type: USB
driver: btusb v: 0.8 bus-ID: 4-2:2 chip-ID: 19ff:0239 class-ID: fe01
serial:
Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Logical:
Message: No logical block device data found.
RAID:
Message: No RAID data found.
Drives:
Local Storage: total: 1.36 TiB used: 397.3 GiB (28.4%)
SMART Message: Required tool smartctl not installed. Check --recommends
ID-1: /dev/sda maj-min: 8:0 vendor: Western Digital
model: WD10EZEX-00WN4A0 size: 931.51 GiB block-size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 7200 serial:
rev: 1A01 scheme: GPT
ID-2: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 860 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: rev: 1B6Q scheme: GPT
Optical-1: /dev/sr0 vendor: hp model: DVD RW AD-7251H5 rev: 1H8D
dev-links: cdrom
Features: speed: 40 multisession: yes audio: yes dvd: yes
rw: cd-r,cd-rw,dvd-r,dvd-ram state: running
Partition:
ID-1: / raw-size: 465.46 GiB size: 457.09 GiB (98.20%)
used: 110.61 GiB (24.2%) fs: ext4 dev: /dev/sdb2 maj-min: 8:18 label: N/A
uuid: 4009ef93-87d5-4cf7-85c7-46b738f62575
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 288 KiB (0.1%) fs: vfat dev: /dev/sdb1 maj-min: 8:17 label: NO_LABEL
uuid: 035E-AD1E
ID-3: /mnt/HDD raw-size: 931.51 GiB size: 915.82 GiB (98.32%)
used: 286.68 GiB (31.3%) fs: ext4 dev: /dev/sda1 maj-min: 8:1 label: N/A
uuid: 33d1de76-0daf-4622-9c3e-2c0ba0852a26
Swap:
Alert: No swap data was found.
Unmounted:
Message: No unmounted partitions found.
USB:
Hub-1: 1-0:1 info: Full speed or root hub ports: 5 rev: 2.0 speed: 480 Mb/s
chip-ID: 1d6b:0002 class-ID: 0900
Device-1: 1-1:2 info: Logitech Webcam C170 type: Video,Audio
driver: snd-usb-audio,uvcvideo interfaces: 4 rev: 2.0 speed: 480 Mb/s
power: 500mA chip-ID: 046d:082b class-ID: 0102
Hub-2: 2-0:1 info: Full speed or root hub ports: 5 rev: 2.0
speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
Hub-3: 3-0:1 info: Full speed or root hub ports: 4 rev: 2.0
speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
Hub-4: 4-0:1 info: Full speed or root hub ports: 5 rev: 1.1 speed: 12 Mb/s
chip-ID: 1d6b:0001 class-ID: 0900
Device-1: 4-2:2
info: Dynex Bluetooth 4.0 Adapter [Broadcom 1.12 BCM20702A0] type: Bluetooth
driver: btusb interfaces: 4 rev: 2.0 speed: 12 Mb/s chip-ID: 19ff:0239
class-ID: fe01 serial:
Device-2: 4-3:3 info: ASUSTek ROG STRIX SCOPE type: Keyboard,HID
driver: hid-generic,usbhid interfaces: 4 rev: 2.0 speed: 12 Mb/s
power: 500mA chip-ID: 0b05:18f8 class-ID: 0300
Device-3: 4-4:4 info: Logitech G500s Laser Gaming Mouse type: Mouse,HID
driver: hid-generic,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 98mA
chip-ID: 046d:c24e class-ID: 0300 serial:
Hub-5: 5-0:1 info: Full speed or root hub ports: 5 rev: 1.1 speed: 12 Mb/s
chip-ID: 1d6b:0001 class-ID: 0900
Device-1: 5-3:3 info: Logitech Unifying Receiver type: Keyboard,Mouse,HID
driver: logitech-djreceiver,usbhid interfaces: 3 rev: 2.0 speed: 12 Mb/s
power: 98mA chip-ID: 046d:c52b class-ID: 0300
Hub-6: 6-0:1 info: Full speed or root hub ports: 2 rev: 1.1 speed: 12 Mb/s
chip-ID: 1d6b:0001 class-ID: 0900
Hub-7: 7-0:1 info: Full speed or root hub ports: 4 rev: 1.1 speed: 12 Mb/s
chip-ID: 1d6b:0001 class-ID: 0900
Hub-8: 8-0:1 info: Hi-speed hub with single TT ports: 2 rev: 2.0
speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
Hub-9: 9-0:1 info: Super-speed hub ports: 2 rev: 3.0 speed: 5 Gb/s
chip-ID: 1d6b:0003 class-ID: 0900
Hub-10: 10-0:1 info: Hi-speed hub with single TT ports: 2 rev: 2.0
speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
Device-1: 10-1:2 info: DragonRise MAYFLASH GameCube Controller Adapter
type: HID driver: hid-generic,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s
power: 500mA chip-ID: 0079:1847 class-ID: 0300
Device-2: 10-2:3 info: Sony DualShock 4 [CUH-ZCT1x] type: HID
driver: sony,usbhid interfaces: 1 rev: 2.0 speed: 12 Mb/s power: 500mA
chip-ID: 054c:05c4 class-ID: 0300
Hub-11: 11-0:1 info: Super-speed hub ports: 2 rev: 3.0 speed: 5 Gb/s
chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
System Temperatures: cpu: 30.4 C mobo: 30.0 C gpu: nvidia temp: 57 C
Fan Speeds (RPM): cpu: 664 fan-2: 0 fan-3: 0 gpu: nvidia fan: 0%
Power: 12v: N/A 5v: N/A 3.3v: 3.14 vbat: 3.34
Info:
Processes: 254 Uptime: 4h 9m wakeups: 2 Init: systemd v: 250 tool: systemctl
Compilers: gcc: 11.2.0 clang: 13.0.1 Packages: pacman: 1411 lib: 451
flatpak: 0 Shell: Bash v: 5.1.16 running-in: xfce4-terminal inxi: 3.3.15

did you check that the cooling paste is new/renewed and all fittings for the cooler connection are tight. just to make sure that it isn’t a mechanical issue ? second your cpu is well known to be a hot bullhead, so the cooler is in the right dimension and it is dust free ?
just to make sure that this is all right i would recommend to check it again. there are a lot of issues like “my usb does not work / my video does not work …” and in the end it is a simple bad electrical/mechanical connection.

i can see the temps by running sensors i am consistantly under 45C even under heavy load, be it gaming or etc, also all connections are solid and the computer is relatively dust free. i do not believe it to be a hardware issue nor a heat issue.

there is something at the arch-wiki relying on asus.

In configuration files, we are going to use full paths to sysfs files (e.g. /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1). This is because hwmon1 might change to any other number after reboot. Fancontrol (lm-sensors) is written in Bash, so using these paths in configuration file is completely acceptable. You can find complete /etc/fancontrol configuration file examples at ASUS N550JV#Fan control. 

https://wiki.archlinux.org/title/Fancontrol

1 Like

this is looks exactly like what i need thank you! I will test and mark the support case as solved if i no longer need assistance. seriously i have been scratching my head with this issue all night Thank You!

for anyone who this might help here is my fancontrol config file after modification from the given solution

INTERVAL=10
FCTEMPS=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]/pwm1=/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon[[:print:]]/temp1_input
FCFANS=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]/pwm1=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]/fan1_input
MINTEMP=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]/pwm1=30
MAXTEMP=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]
/pwm1=46
MINSTART=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]/pwm1=255
MINSTOP=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]
/pwm1=103
MINPWM=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]/pwm1=103
MAXPWM=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]
/pwm1=255
AVERAGE=/sys/devices/platform/it87.656/hwmon/hwmon[[:print:]]*/pwm1=1

this works perfectly change the “it87.656” and “pci0000:00/0000:00:18.3” to correspond with your fan controller and cpu temp sensor they can be found by running the command

sudo pwmconfig

the output will look something like this

Found the following devices:
hwmon0 is sony_controller_battery_90:fb:a6:fa:ac:04
hwmon1 is k10temp
hwmon2 is fam15h_power
hwmon3 is asus
hwmon4 is it8721

Found the following PWM controls:
hwmon4/pwm1 current value: 255
hwmon4/pwm2 current value: 128
hwmon4/pwm3 current value: 255

Giving the fans some time to reach full speed…
Found the following fan sensors:
hwmon4/fan1_input current speed: 2089 RPM
hwmon4/fan2_input current speed: 0 … skipping!
hwmon4/fan3_input current speed: 0 … skipping!

-use the hwmon"X" to find your desired device in the location /sys/devices/
note* the original fan control config file also tells you the specific file location in the devpath field in the config file this is removed in the new config file however because it is no longer necessary
-then use your current fancontrol config as a template (with the desired values configured in pwmconfig) normally located in /etc/fancontrol
-stop fancontrol with

systemctl stop fancontrol

-replace the modified config file
-re-enable and start fancontrol with

systemctl enable fancontrol
systemctl start fancontrol

  • restart several times to confirm that it works (i recomend doing full shutdowns as it does not always change the hwmon entry numbers when doing a normal restart in my experience)
1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.