You are not logged in.
I'm on an Asus Vivobook K3405VC.
I'm trying to increase my fan speed, since it only goes up to about 4100 RPM (even on very high temperatures), even though I know the max is 6600 RPM.
I'm trying to follow the Arch wiki article about fancontrol, but I ran into this error when running sudo pwmconfig:
/usr/bin/pwmconfig: There are no pwm-capable sensor modules installed
I already ran sensors-detect, and when I run sensors I can see my RPM.
I'd appreciate any help.
Last edited by trdnt (2024-05-16 22:08:58)
Offline
Please tell us what you have done until now.
Arch wiki article about fancontrol
Asus has it's own wiki entry for fancontrol: https://wiki.archlinux.org/title/Fan_sp … US_laptops (which does the prerequisite for fancontrol via lm-sensors)
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline
Asus has it's own wiki entry for fancontrol: https://wiki.archlinux.org/title/Fan_sp … US_laptops (which does the prerequisite for fancontrol via lm-sensors)
Yes, that's what I followed.
Here's everything in my /sys/devices/platform/asus-nb-wmi/hwmon/hwmon4/ folder:
device/ fan1_input fan1_label name power/ pwm1_enable subsystem/ uevent
So I can use
# echo 2 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1_enable # Change fan mode to automatic
# echo 1 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1_enable # Change fan mode to manual
# echo 0 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1_enable # Change fan mode to full speed
But not
# echo 255 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1 # Full fan speed (Value: 255)
# echo 0 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1 # Fan is stopped (Value: 0)
Anyways, when I try using asus_fan, modprobe results in
modprobe: ERROR: could not insert 'asus_fan': No such device
I can't use ec-probe because I don't have Windows on my laptop.
Offline
But not
# echo 255 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1 # Full fan speed (Value: 255)
# echo 0 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1 # Fan is stopped (Value: 0)
did you set it the fan mode to manual?
modprobe: ERROR: could not insert 'asus_fan': No such device
did you install your [your_kernel_name]-headers, https://aur.archlinux.org/packages/asus-fan-dkms-git/ and rebooted?
I can't use ec-probe because I don't have Windows on my laptop.
provided your model offers such feature in Windows.
=> if it works on windows it might work on linux
and, how did you test the 6600rpm? with the full speed fan mode?
Last edited by jl2 (2024-05-13 11:39:44)
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline
did you set it the fan mode to manual?
I can't, it results in
bash: line 1: echo: write error: Invalid argument
Or if I try with vim
"/sys/devices/platform/asus-nb-wmi/hwmon/hwmon4/pwm1_enable" E514: Write error (file system full?)
did you install your [your_kernel_name]-headers, https://aur.archlinux.org/packages/asus-fan-dkms-git/ and rebooted?
Yes
if it works on windows it might work on linux
The problem is, I have to change the fan speed mode to check which register changes, but I can't do that in Linux. If I could I wouldn't be here
and, how did you test the 6600rpm? with the full speed fan mode?
Yes
Last edited by trdnt (2024-05-13 12:15:39)
Offline
I think I figured out why the fan won't run 100%.
Apparently according to Intel "high temperature" is only 100C+, so even when the temperature is 95C the fans won't run 100%.
So what I need to do is lower the "high temperature" and the "critical temperature". I still have no idea how to do that.
Offline
Apparently according to Intel "high temperature" is only 100C+, so even when the temperature is 95C the fans won't run 100%.
If the measuring gets its information from sensors: https://wiki.archlinux.org/title/Lm_sen … ing_values
else, check the files in '/sys/class/thermal/thermal_zone*/'. it might be controlled there.
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline
Apparently according to Intel "high temperature" is only 100C+, so even when the temperature is 95C the fans won't run 100%.
If the measuring gets its information from sensors: https://wiki.archlinux.org/title/Lm_sen … ing_values
else, check the files in '/sys/class/thermal/thermal_zone*/'. it might be controlled there.
Alright, thanks.
I found both
/sys/class/thermal/thermal_zone0/trip_point_0_temp
and
cat /sys/class/thermal/cooling_device*/cur_state
But I'm worried that changing them would cause damage.
Offline
Sorry, I need to have more info, can you post the output:
for i in /sys/class/thermal/thermal_zone*/; do x="${i#/sys/class/thermal/}"; x="${x%/}"; echo "$x: $(cat ${i}type): $(cat ${i}temp)"; for x in $i/trip_point_*_type; do echo " $(cat $x): $(cat ${x%type}temp) ($(cat ${x%type}hyst))"; done ; done
for i in /sys/class/thermal/cooling_device*/; do x="${i#/sys/class/thermal/}"; x="${x%/}"; echo "${x}: $(cat ${i}type) ($(cat ${i}cur_state) / $(cat ${i}max_state))"; done
And the output of "sensors"
Last edited by jl2 (2024-05-15 07:07:02)
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline
thermal_zone0: acpitz: 40000
critical: 100000 (0)
thermal_zone1: INT3400 Thermal: 20000
cat: '/sys/class/thermal/thermal_zone1//trip_point_*_type': No such file or directory
cat: '/sys/class/thermal/thermal_zone1//trip_point_*_temp': No such file or directory
cat: '/sys/class/thermal/thermal_zone1//trip_point_*_hyst': No such file or directory
: ()
thermal_zone2: SEN2: 34050
critical: 80050 (2000)
hot: 75050 (2000)
passive: 65050 (2000)
active: 60050 (2000)
active: 50050 (2000)
active: 40050 (2000)
thermal_zone3: SEN3: 50
critical: 80050 (2000)
hot: 75050 (2000)
passive: 65050 (2000)
thermal_zone4: SEN4: 36050
critical: 80050 (2000)
hot: 75050 (2000)
passive: 65050 (2000)
active: 60050 (2000)
active: 50050 (2000)
active: 40050 (2000)
thermal_zone5: SEN5: 50
critical: 80050 (2000)
hot: 75050 (2000)
passive: 65050 (2000)
active: 60050 (2000)
active: 50050 (2000)
active: 40050 (2000)
thermal_zone6: TCPU: 38000
critical: 110050 (0)
hot: 110050 (0)
passive: 110050 (0)
active: 109050 (0)
active: 107050 (0)
active: 106050 (0)
active: 104550 (0)
active: 103050 (0)
thermal_zone7: TCPU_PCI: 39000
passive: -274000 (0)
thermal_zone8: x86_pkg_temp: 39000
passive: -274000 (0)
passive: -274000 (0)
thermal_zone9: iwlwifi_1: 30000
passive: -2147483648 (0)
passive: -2147483648 (0)
passive: -2147483648 (0)
passive: -2147483648 (0)
passive: -2147483648 (0)
passive: -2147483648 (0)
passive: -2147483648 (0)
passive: -2147483648 (0)
cooling_device0: Processor (0 / 3)
cooling_device1: Processor (0 / 3)
cooling_device10: Processor (0 / 3)
cooling_device11: Processor (0 / 3)
cooling_device12: Processor (0 / 3)
cooling_device13: Processor (0 / 3)
cooling_device14: Processor (0 / 3)
cooling_device15: Processor (0 / 3)
cooling_device16: intel_powerclamp (0 / 100)
cooling_device17: TCC Offset (5 / 63)
cooling_device2: Processor (0 / 3)
cooling_device3: Processor (0 / 3)
cooling_device4: Processor (0 / 3)
cooling_device5: Processor (0 / 3)
cooling_device6: Processor (0 / 3)
cooling_device7: Processor (0 / 3)
cooling_device8: Processor (0 / 3)
cooling_device9: Processor (0 / 3)
iwlwifi_1-virtual-0
Adapter: Virtual device
temp1: +30.0°C
asus-isa-0000
Adapter: ISA adapter
cpu_fan: 0 RPM
BAT1-acpi-0
Adapter: ACPI interface
in0: 12.74 V
curr1: 696.00 mA
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +41.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +30.0°C (high = +100.0°C, crit = +100.0°C)
Core 4: +36.0°C (high = +100.0°C, crit = +100.0°C)
Core 8: +31.0°C (high = +100.0°C, crit = +100.0°C)
Core 12: +33.0°C (high = +100.0°C, crit = +100.0°C)
Core 16: +40.0°C (high = +100.0°C, crit = +100.0°C)
Core 17: +40.0°C (high = +100.0°C, crit = +100.0°C)
Core 18: +40.0°C (high = +100.0°C, crit = +100.0°C)
Core 19: +41.0°C (high = +100.0°C, crit = +100.0°C)
Core 20: +36.0°C (high = +100.0°C, crit = +100.0°C)
Core 21: +35.0°C (high = +100.0°C, crit = +100.0°C)
Core 22: +35.0°C (high = +100.0°C, crit = +100.0°C)
Core 23: +35.0°C (high = +100.0°C, crit = +100.0°C)
nvme-pci-0200
Adapter: PCI adapter
Composite: +28.9°C (low = -273.1°C, high = +80.8°C)
(crit = +84.8°C)
Sensor 1: +28.9°C (low = -273.1°C, high = +65261.8°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +42.0°C
Last edited by trdnt (2024-05-15 11:49:48)
Offline
let's try setting the throttling trigger very low and look what happens if you pass it:
(This should be safe - but still, IF you see high temperatures (90°C) IMMEDIATELY reboot, this will also revert the changes)
If you rebooted since, check if the zones are still the same and replace them accordingly!
echo 60000 | sudo tee /sys/class/thermal/thermal_zone0/trip_point_0_temp
This should set it to 60°C.
Put some load on the cpu with e.g. 'stress --cpu num_cores' (available as the stress package)
If it doesn't work, try:
echo 60000 | sudo tee /sys/class/thermal/thermal_zone6/trip_point_1_temp
Last edited by jl2 (2024-05-15 12:53:33)
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline
I'm getting Permission denied on both commands, even when I run it as root.
Offline
Please post output, not only words.
I'm getting Permission denied on both commands, even when I run it as root.
sudo or su? And did you do 'echo > whatever' or 'sudo tee' like I said?
We could also just set the fan mode to full speed when the CPU temp exceeds 85°C, but let's first try the thermal throttling
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline
Please post output, not only words.
I'm getting Permission denied on both commands, even when I run it as root.
sudo or su? And did you do 'echo > whatever' or 'sudo tee' like I said?
We could also just set the fan mode to full speed when the CPU temp exceeds 85°C, but let's first try the thermal throttling
Both sudo and su, I also copied the exact command you posted.
I would rather set the fan to full speed than throttle the cpu, I don't really mind the noise.
Offline
I would rather set the fan to full speed than throttle the cpu, I don't really mind the noise.
I don't even know if it throttles or changes the fan speed.
here's some fancy scripting:
#!/bin/sh
while true; do
if [ $(sensors coretemp-isa-0000 -j | jq '."coretemp-isa-0000"."Tctl"."temp1_input" > 85') = "true" ]; then
# please edit the line above with values from: ^ ^ ^ Temp to turn it on
# sensors coretemp-isa-0000 -j | jq
echo 0 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1_enable # set full speed
else
echo 2 > /sys/devices/platform/asus-nb-wmi/hwmon/hwmon[[:print:]]*/pwm1_enable # set auto speed
fi
sleep 3 # refresh seconds
done
Replace the values and run it on startup with root.
If you don't know which values to put in, just post the command here.
Last edited by jl2 (2024-05-16 14:49:06)
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline
Thank you so much!
I hope all the jumps from 2500 RPM to 6600 RPM won't be a problem.
Offline
Don't forget to mark the post as solved (or as workaround) by editing the OPs title.
Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...
Offline