Score:0

How to tell which option relates to my temp sensor when using pwmconfig

in flag

I'm looking to control my fan speeds in Ubuntu 20.04 based on the liquid temp that is recorded by the temp sensor on my Asus Strix B550-I ITX motherboard. I can make this work with my fan controller but I'd like to know if it is also possible to achieve this without.

I've installed lm-sensors and fancontrol (which seems to also include pwmconfig). I've also confirmed that my temp sensor is working and recording temps via my BIOS.

After running sudo pwmconfig and getting to the config set up I am shown the list of temp options below. When the temp sensor is plugged into the corsairpro, I can see the temp come up as an option to match the fans against however when I plug the sensor into my motherboards sensor header, I don't seem to get any other option. Nor do I see any new temps which I think are the sensor.

Does anyone know how I can tell which option would be my motherboard temp header?

OPTIONS WHEN TEMP SENSOR IS IN MOTHERBOARD
---------------------------------------------
Devices:
hwmon0 is nvme
hwmon1 is k10temp
hwmon2 is asus
hwmon3 is iwlwifi_1
hwmon4 is corsaircpro
hwmon5 is hidpp_battery_0
hwmon6 is hid_dc:2c:26:ea:37:64_battery

Current temperature readings are as follows:
hwmon0/temp1_input      37
hwmon1/temp1_input      36
hwmon1/temp2_input      36
hwmon1/temp3_input      29
hwmon1/temp4_input      39
cat: hwmon3/temp1_input: No data available
/usr/sbin/pwmconfig: line 892: let: S= / 1000: syntax error: operand expected (error token is "/ 1000")
hwmon3/temp1_input

Select a temperature sensor as source for hwmon4/pwm5:
1) hwmon0/temp1_input                   4) hwmon1/temp3_input                    7) None (Do not affect this PWM output)
2) hwmon1/temp1_input                   5) hwmon1/temp4_input
3) hwmon1/temp2_input                   6) hwmon3/temp1_input




OPTIONS WHEN TEMP SENSOR IS IN FAN CONTROLLER
---------------------------------------------
Devices:
hwmon0 is nvme
hwmon1 is k10temp
hwmon2 is asus
hwmon3 is iwlwifi_1
hwmon4 is corsaircpro
hwmon5 is hidpp_battery_0
hwmon6 is hid_dc:2c:26:ea:37:64_battery

Current temperature readings are as follows:
hwmon0/temp1_input      38
hwmon1/temp1_input      31
hwmon1/temp2_input      31
hwmon1/temp3_input      28
hwmon1/temp4_input      29
cat: hwmon3/temp1_input: No data available
/usr/sbin/pwmconfig: line 892: let: S= / 1000: syntax error: operand expected (error token is "/ 1000")
hwmon3/temp1_input
hwmon4/temp1_input      27

Select a temperature sensor as source for hwmon4/pwm5:
1) hwmon0/temp1_input                   4) hwmon1/temp3_input                    7) hwmon4/temp1_input
2) hwmon1/temp1_input                   5) hwmon1/temp4_input                    8) None (Do not affect this PWM output)
3) hwmon1/temp2_input                   6) hwmon3/temp1_input


SENSORS OUTPUT
---------------------------------------------
corsaircpro-hid-3-b
Adapter: HID adapter
in0:          11.95 V  
in1:           5.02 V  
in2:           3.41 V  
fan2 4pin:    484 RPM
fan5 4pin:    515 RPM
fan6 4pin:   1878 RPM

nvme-pci-0100
Adapter: PCI adapter
Composite:    +41.9°C  (low  = -60.1°C, high = +89.8°C)
                       (crit = +94.8°C)

hidpp_battery_0-hid-3-9
Adapter: HID adapter
in0:           3.94 V  

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A  

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +45.9°C  
Tdie:         +45.9°C  
Tccd1:        +30.8°C  
Tccd2:        +31.5°C 
waltinator avatar
it flag
Spray your sensor with a cooling spray (NOT water). Check which reading changes most.
El_Birdo avatar
in flag
@waltinator thanks for the suggestion. The sensor is already hooked up to the loop and I'd prefer not to drain it. Though this might be an approach I can use if I get a second sensor, as this would also confirm if the one I have is having any issues.
Score:0
ro flag

It can be the "hwmon2 is asus" or "hwmon4 is corsaircpro" sensor. Test to heat the sensor a bit up with your hands/body and read the changes in the "hwmon4"-sensor.

The Temperature-Sensor is only an ordinary NTC resistor and a Mainboard-Chip is reading the voltage value and then he look in a table to translate this value to a temperature-value which can be send to the OS.

If you have unconnected the sensor, then this value must be very high or very low, because they use a voltage divider. If the pull-up or the pull-down resistor (the NTC) does not exist and the value is over his max- or minimum.

Right now you see the message "No data available". Option 1 is the BIOS-Setting are wrong and you have to activate the sensor first, option 2 is a damaged sensor-cable.

Option 1: Please go into you BIOS of your PC and look for an option to enable the Sensor. Possibly they have deactivated this reading, because of the wrong value we would get if the sensor is unconnected. This could confuse the customer and would increase the questions to the support, because the people would be afraid that something is not right with the mainboard.

Option 2: I do not now know how the hardware-developer have done it, but If the sensor is unavailable (or the cable is broken) then the chip is reading a ridiculous high or low value and the chip interpret this as "sensor not connected" => No data available.

You can measure the value of the NTC-resistor with a multimeter, the possibility that the cable or the sensor is broken can be excluded with this test. Simply unconnect the cable and measure the resistance between the two metal-pins of the sensor.

El_Birdo avatar
in flag
When the sensor is plugged into the motherboard I can see the sensor is enabled and the temp value being recorded within the BIOS. This would leave me to believe the sensor is working (though I don't have the tools to test Option 2). That being said I also ran 'sensors' to see if it offered any input (which I have now added to the end of my post). Seems you may be correct about it being hwmon3, but it would seem I get an N/A which is odd given I am pulling a temp value within BIOS. Let me know if you have any other suggestions or if I should explore Option 2?
MikroPower avatar
ro flag
No, I was wrong. "hwmon2 is asus" and "hwmon4 is corsaircpro", so it can be one of the two sensors. But hwmon2 is not shown in the list of temperature readings. If the value is shown in the BIOS, then everything in the hardware-part is correct. You should look at the "hwmon4" and read the temperature while you put our hand on this sensor and heat him up. Then look at the value of hwmon4.
El_Birdo avatar
in flag
hwmon4 wouldn't be it as that's my fan controller. The sensor does show in that list when it's plugged into the fan controller (hwmon4/temp1_input), but it doesn't show anywhere when it's plugged into the motherboard. Running it via my fan controller is a back up option but personally I wanted to find a way using the motherboard sensor so I could get rid of the fan controller as it takes up a lot of space I need. The suggestion of changing the temp with my hand is a good idea and someone has suggested the same. So I may get a second sensor to test with as this one is in hard to reach place ha.
MikroPower avatar
ro flag
Okay, now I understand. It must be "hwmon2", this is the ASUS sensor. ("hwmon3" is the wifi-card) But for "hwmon2" there are no readings. Possibly your Mainboard is very new and lm-sensors do not have implement this function to read this sensor. https://github.com/lm-sensors/lm-sensors/issues/220
El_Birdo avatar
in flag
Ah that would make sense. Seems there is a patch for this (at least for the other B550 boards Asus offer), so I'll see if the steps people are recommending can help me out here. Thanks for the link and suggestions!
MikroPower avatar
ro flag
I want to make my answer better, so that someone else with the same problem can find the best information very fast. Could you please show me what was or is important for you? In my link is a X570 Mainboard. Do you have an other useful link? I want to delete everything what is useless and make the answer short.
El_Birdo avatar
in flag
The additional steps to check in BIOS were useful. Using the steps provided by Darxus in the post you linked, allowed me to see even more sensor information that otherwise wasn't being shared. But to be clear I've still not been able to make this work. The additional sensors still don't seem to relate to my temp sensor, as I ran a boot with it switched on/off but nothing changed. Due to this I ended up removing the fan controller, connected everything to my chassis port and set up the fan curves based on temp from within BIOS. It's a pain but maybe that may change when they do kernel update.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.