You are not logged in.

#1 2024-12-04 14:29:28

boardofborders
Member
From: Indonesia
Registered: 2024-12-04
Posts: 3

[Solved] No pwm-capable sensors found?

Good day. I'm quite new to Linux, having only started using Linux Mint a couple of months ago, before deciding to move to Arch, as my good friend uses it. I'm using a TUF ASUS FX506HC.

Using lm-sensors on Konsole and running the command sensors, the output detects that I do have fans and their RPM. This is an example output.

asus-isa-0000
Adapter: ISA adapter
cpu_fan:     2200 RPM
gpu_fan:     2400 RPM

It seems to change between not moving or going to 2000 or so RPMs occasionally, but I'm plugged in right now. An issue I had on Linux Mint was that the fans, while still unable to be controlled, did work when plugged in. Without being plugged in, it's always going to be stuck at 0, and I imagine the same is going to happen with Arch. At some point, my keyboard just starts getting kind of hot.

In any case, despite what I found above, running pwmconfig states that there are no pwm-capable sensors detected. I used the command "dmesg | grep -i asus" to see if the fans really have been detected, and they have been. But this was the output, particularly the interesting outputs;

[    3.481703] asus_wmi: fan_curve_get_factory_default (0x00110024) failed: -61
[    3.482385] asus_wmi: fan_curve_get_factory_default (0x00110025) failed: -61
[    3.483204] asus_wmi: fan_curve_get_factory_default (0x00110032) failed: -19

It seems that the fans are detected, but it looks like some thing about it is failing? I'm not sure what it is. The fans work perfectly fine in Windows. Asusctl and supergfxctl don't seem to have any fan curve controls, so there's that. If anyone knows what to do and what's going on, I request some help for this please.

Last edited by boardofborders (2024-12-06 03:34:15)

Offline

#2 2024-12-04 14:36:35

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,530
Website

Re: [Solved] No pwm-capable sensors found?

Which kernel are you on? Is this also an issue with the linux-lts kernel?

Offline

#3 2024-12-04 14:49:59

boardofborders
Member
From: Indonesia
Registered: 2024-12-04
Posts: 3

Re: [Solved] No pwm-capable sensors found?

gromit wrote:

Which kernel are you on? Is this also an issue with the linux-lts kernel?

Hello! Thank you for reading my post! It seems I'm running on 6.12.1-arch1-1

I'll try the linux-lts kernel and update you in a bit.

Offline

#4 2024-12-04 15:28:50

boardofborders
Member
From: Indonesia
Registered: 2024-12-04
Posts: 3

Re: [Solved] No pwm-capable sensors found?

Using linux-lts now.

Re-did the sensors-detect process.
Using the sensors command still show the fans.
pwmconfig still outputs a "no pwm-capable sensors detected".
grep -i asus still shows that the fans have a "failed" message next to them...

I'm at a lost...

Offline

#5 2024-12-04 15:35:13

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,530
Website

Re: [Solved] No pwm-capable sensors found?

Hm, maybe there is a fix in https://wiki.archlinux.org/title/Laptop/ASUS somewhere..? If not this might be something that could be added to the models entry in the table

Offline

#6 2024-12-04 16:12:50

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,706

Online

#7 2024-12-04 16:28:24

pvtvega
Member
Registered: 2024-11-25
Posts: 91

Re: [Solved] No pwm-capable sensors found?

EDIT: As is often the case, seth dropped in to drop some knowledge while I was typing my response. Try his solution first! My solution describes a cumbersome manual method that worked on my system, but may not be necessary if there are ASUS specific drivers you can configure.

I have found fan control to be annoying to set up on Arch with lm-sensors so far. Your question is timely because I spent a couple hours last night working on this. I had the same issue with sensors-detect and pwmconfig not properly picking up my PWM fans. Let's dive a little deeper.

Firstly, if you run

ls /sys/class/hwmon

this will output a list of hardware monitoring devices on your system, titled hwmon1, hwmon2, etc.

If you cd into the above hwmon directory and run:

cat hwmon0/name hwmon1/name hwmon2/name ... hwmonX/name

you will get a list of the names of all the devices on your system that are reporting sensor data (voltages, temperatures, fan speeds, etc.)

From your above output, the asus-isa-0000 sensor is the one reporting fan speeds. Note which hwmon device is associated with this sensor from the above outputs. CD into the approrpriate hwmonX directory.

All the files in this directory are used by this sensor/chip to control the fans. Notably, you should see some files named pwm1, pwm2, ..., pwmX. If you cat some of these, you can see the PWM value (0-255) that's being sent to a given fan. Now I can't find a kernel doc for your specific chip, but if you refer to this page which is for the chip in my system: https://docs.kernel.org/hwmon/nct6775.html and you scroll down to sysfs attributes, you'll see an explanation of the pwm interface. Note the entries in pwmX_enable which set the fan modes. Make note of what these are set to, you'll need it later. If your fans are running at either 0 RPM or max RPM, I would guess they're set to thermal cruise mode where the system attempts to maintain a temperature target, and it ramps the fans up if the temperature is above that target, and ramps them down if it's below. If your fans are using this mode, check what the floor and start values are to see if it's indeed just toggling between minimum and maximum RPM based on temperature.

To figure out which pwm file is associated with which fan, you'll have to do some manual work. Open a text file on the side. Run

sensors

and note what each of the fan speeds are currently set at.

Then, for each pwm file, starting with pwm1, do the following:

echo 1 | sudo tee pwm1_enable    # set the fan to manual mode
echo 255 | sudo tee pwm1    # set the fan to maximum speed and listen for a difference, alternatively echo 0 instead of 255 to shut it off if it's already running at a higher speed so the difference is most noticeable
sensors    # run sensors again to verify which fan speed changed (if any). If a fan speed is now either 0 or max RPM depending on what you input above, make a note in your file "pwmX = cpu_fan" for example
echo 5 | sudo tee pwm1_enable # IMPORTANT: if you turned this fan off, make sure you set it back to whatever mode it was in before!

Repeat this process of switching each pwmX_enable to manual mode, then manually writing a value to it so you can build a map of which pwm files are associated with a given physical fan in your system. Once you have this map constructed, you can choose to either manually set them to a constant value, or configure the temperature curves to your liking.

Last edited by pvtvega (2024-12-04 16:29:37)

Offline

#8 2024-12-05 04:51:07

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,706

Re: [Solved] No pwm-capable sensors found?

\o/
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

Online

Board footer

Powered by FluxBB