I need to install kernel module in order to make my temperature sensors work, need your help

Hi,

I have Gigabyte B450M motherboard and lm_sensors is not working with that hardware. My os is Manjaro 21.2.1, kernel 5.4.169-1-MANJARO I have found troubleshooting guide in the arch wiki: title/Lm_sensors#Troubleshooting (sorry, I can’t include links). Unfortunatelly it is very unclear for me and I’m not confident of what should I do.

Here is the worklan, that came up from my research:

  1. edit /etc/default/grub and add line: acpi_enforce_resources=lax
  2. update-grub
  3. install linux headers: sudo pacman -S linux54-headers
  4. install dkms: sudo pacman -S dkms
  5. install it87-dkms-git: yay it87-dkms-git
  6. create file /etc/modules-load.d/it87.conf with content: it87
  7. create /etc/modprobe.d/it87.conf with content: options it87 ignore_resource_conflict=1
  8. reboot

Now I’ve got a couple od questions regarding this workplan:

  1. do I need to do update-grub after editing /etc/default/grub?
  2. do I need to install dkms package if I’m installing it87-dkms-git in the next step?
    6 and 7. Shouldn’t I provide id anywhere in that files (form what I understood, they are supposed to load kernel module on startup, like manual comamnd modprobe), like in command: modprobe it87 force_id=0x8686 if yes, than how to do taht and how to get proper id?

Guys, please verify this workplan and please point out any mistakes.

Yes.

Yes. The dkms package is just the generic handler, allowing dkms-based driver modules to be recompiled automatically at boot when you switch to a different kernel or when the kernel is updated.

You will however also have to install the kernel headers for the kernel(s) you’re using.

pamac install linux54-headers

Normally, this should not be necessary ─ I think. :thinking:

2 Likes

What temperature do you have issue with? I have a B450M Gigabyte board too, and I think sensors work.

At least you have options. Your plan tracks with me. Good fortune to you.

The sheer amount of missing data from the top of the line Aorus Master x570S motherboard I bought is disgusting to me. Gigabyte doesn’t care about Linux support, and the latest ITE chip is a hidden secret with no public datasheet.

This is the output of sensors command:

user@desktop:~$ sensors
amdgpu-pci-0900
Adapter: PCI adapter
vddgfx:      725.00 mV 
fan1:         866 RPM  (min =    0 RPM, max = 3200 RPM)
edge:         +28.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       31.01 W  (cap = 160.00 W)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)

k10temp-pci-00c3
Adapter: PCI adapter
temp1:         +0.0°C  (high = +70.0°C)

Nothing makes sense here and values don’t change even while playing CPU and GPU intensive games.

Here is mine

[omano@omano-nvme ~]$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +58.5 C  
Tccd1:        +58.8 C  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8 C  (crit = +20.8 C)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +51.9 C  (low  =  -0.1 C, high = +86.8 C)
                       (crit = +89.8 C)
Sensor 1:     +51.9 C  (low  = -273.1 C, high = +65261.8 C)

Besides the acpitz-acpi-0 value which is obviously wrong (motherboard temperature?), I think all other are correct (I’m currently playing a game so temperature is right).

I’ll try to see what happens when I use the kernel module from AUR.

B450M DS3H with Ryzen 5 3600, GTX1060, Crucial P1 NVME.

I wonder, what is it all about. I have done that lm_sensors wizard both with answering yes to all questions and by hitting enter to defaults for all. Either way it works the same. My full spec is:

  • Gigabyte B450M S2H
  • AMD Ryzen 5 5600X
  • Crucial 32GB (2x16GB) 3600MHz CL16 Ballistix Black
  • SAPPHIRE Radeon RX 580 Nitro+ 4 GB GDDR5

Get your motherboard up to date?

Is the mainboard UEFI Bios the most recent version ?

stay also on linux510 LTS version not 5.4 LTS

Your kernel version is too old.
The k10temp module started supporting the first Zen3 based CPU models with 5.10 I believe.

That’s been already done by vendor.

Yes it is, vendor updated UEFI Bios to the recent version.

I’m not sure, what you mean. I have downloaded recent image from official manjaro page. Is there any newer version?

He means that’s an old kernel, maybe newer kernel has newer feature that best suit your hardware (I’m using kernel 5.15).

https://wiki.manjaro.org/index.php/Manjaro_Kernels/en

1 Like

There’s nothing wrong with using 5.4 kernel and there is official ISO with it.

You don’t have to reinstall or anything just install the latest LTS kernel

sudo mhwd-kernel -i linux515

Reboot your system when done.

I’m not sure if this is related or not, but I am hesitant to start a new thread for a similar problem. I have an ASUS RoG Strix x470 F Gaming motherboard, latest BIOS (August 26, 2021). I have an AMD 5900x CPU and my temperature sensor stopped working after I went to kernel 5.15 a few days ago. I didn’t think much of it, but just now I rebooted to test and here’s what I get:

[rtr@onyx ~]$ inxi -s
Sensors:
  System Temperatures: cpu: 45.9 C mobo: N/A gpu: nvidia temp: 42 C
  Fan Speeds (RPM): N/A gpu: nvidia fan: 28%
[rtr@onyx ~]$ uname -a
Linux onyx 5.14.21-2-MANJARO #1 SMP PREEMPT Sun Nov 21 22:43:47 UTC 2021 x86_64 GNU/Linux

[rtr@onyx ~]$ inxi -s
Sensors:
  System Temperatures: cpu: N/A mobo: N/A gpu: nvidia temp: 44 C
  Fan Speeds (RPM): N/A gpu: nvidia fan: 28%
[rtr@onyx ~]$ uname -a
Linux onyx 5.15.12-1-MANJARO #1 SMP PREEMPT Wed Dec 29 18:08:07 UTC 2021 x86_64 GNU/Linux

I think, that did the trick. After kernel update and reboot I did sensors-detect once again with default answers (just hitting enter couple of times):

sk@wrk00:~$ sudo sensors-detect
[sudo] password for sk: 
# sensors-detect version 3.6.0+git
# System: Gigabyte Technology Co., Ltd. B450M S2H [Default string]
# Kernel: 5.15.12-1-MANJARO x86_64
# Processor: AMD Ryzen 5 5600X 6-Core Processor (25/33/2)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): 
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
AMD Family 12h and 14h thermal sensors...                   No
AMD Family 15h thermal sensors...                           No
AMD Family 16h thermal sensors...                           No
AMD Family 17h thermal sensors...                           Success!
    (driver `k10temp')
AMD Family 15h power sensors...                             No
AMD Family 16h power sensors...                             No
Hygon Family 18h thermal sensors...                         No
AMD Family 19h thermal sensors...                           No
Intel digital thermal sensor...                             No
Intel AMB FB-DIMM thermal sensor...                         No
Intel 5500/5520/X58 thermal sensor...                       No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): 
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      Yes
Found `ITE IT8686E Super IO Sensors'                        Success!
    (address 0xa40, driver `to-be-written')
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No

Some systems (mainly servers) implement IPMI, a set of common interfaces
through which system health data may be retrieved, amongst other things.
We first try to get the information from SMBIOS. If we don't find it
there, we have to read from arbitrary I/O ports to probe for such
interfaces. This is normally safe. Do you want to scan for IPMI
interfaces? (YES/no): 
Probing for `IPMI BMC KCS' at 0xca0...                      No
Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (yes/NO): 

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): 
Using driver `i2c-piix4' for device 0000:00:14.0: AMD KERNCZ SMBus
Module i2c-dev loaded successfully.

Next adapter: AMDGPU DM i2c hw bus 0 (i2c-0)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: AMDGPU DM i2c hw bus 1 (i2c-1)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: AMDGPU DM i2c hw bus 2 (i2c-2)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: AMDGPU DM i2c hw bus 3 (i2c-3)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: AMDGPU DM i2c hw bus 4 (i2c-4)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: AMDGPU DM aux hw bus 0 (i2c-5)
Do you want to scan it? (yes/NO/selectively): 

Next adapter: AMDGPU DM aux hw bus 1 (i2c-6)
Do you want to scan it? (yes/NO/selectively): 


Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `to-be-written':
  * ISA bus, address 0xa40
    Chip `ITE IT8686E Super IO Sensors' (confidence: 9)

Driver `k10temp' (autoloaded):
  * Chip `AMD Family 17h thermal sensors' (confidence: 9)

Note: there is no driver for ITE IT8686E Super IO Sensors yet.
Check https://hwmon.wiki.kernel.org/device_support_status for updates.

No modules to load, skipping modules configuration.

Unloading i2c-dev... OK

After that sensors command shows more resonable temperatures and after another reboot (not sure why it required two reboots, but whatever) psensor started showing even temperatures of drives,. which surprises me.

(I wanted to share link to screenshot, but I can’t)

sk@wrk00:~$ sensors
amdgpu-pci-0900
Adapter: PCI adapter
vddgfx:      837.00 mV 
fan1:        1732 RPM  (min =    0 RPM, max = 3200 RPM)
edge:         +44.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       32.26 W  (cap = 160.00 W)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +36.0°C  
Tccd1:        +38.0°C 

I have no idea what acpitz-acpi-0 is with it’s constant temperature of 16,8 :slight_smile:

Anyways, I think, that everything works fine for now, I still need to verify if pwmconfig and fancontrol works fine. Upgrading kernel to 5.15 was super easy comparing to installation of kernel modules.

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