The it87.ko driver is too old and does not support newer chipsets (such as Z370).

Bug #1740736 reported by Emanem
74
This bug affects 15 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Wishlist
Unassigned

Bug Description

Summary: Thermal sensors are not accessible due to being unsupported by the it87.ko module in linux-image-extra which does not include the it8686 model line among others..

Expected behavior:

$ journalctl | grep it87:
Apr 20 21:36:00 lakshmi kernel: it87: it87 driver version v1.0-38-g948ad8d
Apr 20 21:36:00 lakshmi kernel: it87: Found IT8686E chip at 0xa40, revision 2
Apr 20 21:36:00 lakshmi kernel: it87: Beeping is supported
Apr 20 21:36:00 lakshmi kernel: it87: Found IT8792E/IT8795E chip at 0xa60, revision 3
Apr 20 21:36:00 lakshmi kernel: it87: Beeping is supported

Actual behavior:

$ journalctl | grep it87:
Apr 20 20:56:31 lakshmi kernel: it87: Found IT8733E chip at 0xa60, revision 3
Apr 20 20:56:31 lakshmi kernel: it87: Beeping is supported

Reproducing:

sudo modprobe it87
journalctl | grep it87:
Apr 20 20:56:31 lakshmi kernel: it87: Found IT8733E chip at 0xa60, revision 3
Apr 20 20:56:31 lakshmi kernel: it87: Beeping is supported

...

sudo rmmod it87

git clone https://github.com/groeck/it87.git
cd it87/
make
sudo make install
sudo modprobe it87
$ journalctl | grep it87:
Apr 20 21:36:00 lakshmi kernel: it87: it87 driver version v1.0-38-g948ad8d
Apr 20 21:36:00 lakshmi kernel: it87: Found IT8686E chip at 0xa40, revision 2
Apr 20 21:36:00 lakshmi kernel: it87: Beeping is supported
Apr 20 21:36:00 lakshmi kernel: it87: Found IT8792E/IT8795E chip at 0xa60, revision 3
Apr 20 21:36:00 lakshmi kernel: it87: Beeping is supported

Details:

$ uname -rsv
Linux 4.15.0-15-generic #16-Ubuntu SMP Wed Apr 4 13:58:14 UTC 2018

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Bionic Beaver (development branch)
Release: 18.04
Codename: bionic

$ sudo dmidecode |grep -i product | uniq
 Product Name: AX370-Gaming 5

Background:

Filed a bug report as per question: https://answers.launchpad.net/ubuntu/+question/662421

I'm trying to run lm_sensors on my brand new motherboard (Gigabyte Technology Co., Ltd. Z370 AORUS Ultra Gaming-CF) using the Z370 chipset, and according to the author/maintainer of lm_sensors/it87 driver, fan controls would be supported by chip it8686.

Currently such chip is supported only in it87 version https://github.com/groeck/it87; unfortunately both Ubuntu's new LTS Bionic and Torvalds' repositories have got an outdated version of this driver (and possible lm_sensors itself):

* http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/tree/drivers/hwmon/it87.c
* https://github.com/torvalds/linux/blob/master/drivers/hwmon/it87.c

Can you please update Bionic (at least) to feature this updated driver?
Controlling fans speed and other motherboard parameters would be great, especially on new hardware.

Thanks!

Full discussion thread with driver maintainer here: https://github.com/groeck/lm-sensors/issues/44

Emanem (em4n3m)
description: updated
Revision history for this message
dino99 (9d9) wrote :

A recent mobo/chipset also need to use a recent kernel: here at least 4.13
https://www.mjmwired.net/kernel/Documentation/hwmon/it87

Revision history for this message
Emanem (em4n3m) wrote :

@dino99 look at the sources, it8686 is _not_ supported in the link you mentioned, the driver needs updating, independently of using kernel 4.10, 4.13 or future.

As it stands, current source doesn't support it8686 - the only it87 driver supporting it is the version at: https://github.com/groeck/it87/blob/master/it87.c

See sources: https://github.com/groeck/it87/blob/8293dc9f82fc461953e5bc8d9cb5f528aeb16058/it87.c#L24

Revision history for this message
dino99 (9d9) wrote :

here is the patch that include it8686
https://lkml.org/lkml/2017/6/11/3

Revision history for this message
dino99 (9d9) wrote :
Revision history for this message
Emanem (em4n3m) wrote :

@dino99, quick notes:

- the link you posted https://lkml.org/lkml/2017/6/11/3 refers to it87_wdt, I'm talking about it87 . Are you sure those are same things?
- in the example you posted I believe the author has installed it87 driver from https://github.com/groeck/it87/blob/master/it87.c , not just updating the kernel... ("Install the it87 module as reddit said it's nice....")

Revision history for this message
Emanem (em4n3m) wrote :

I'm now running kernel 4.13.0-26-generic and, as expected, my fan sensors are getting detected but _not_ supported by it87 driver (chipset 0x8686).

We really _should_ be using the it87 driver from https://github.com/groeck/it87/blob/master/it87.c .

Revision history for this message
dino99 (9d9) wrote :

What about testing with kernel 4.14.13 or 4.15.rc8 to know if that driver has been added?
 ( kernel.ubuntu.com/~kernel-ppa/mainline/ )

Revision history for this message
Emanem (em4n3m) wrote :

If 0x8686 is not in the sources https://github.com/torvalds/linux/blob/v4.15-rc8/drivers/hwmon/it87.c it won't simply work...

Again, if 'it8686' ( #define IT8686E_DEVID 0x8686 ) is not present and managed, the driver won't work with it...
Look into https://github.com/groeck/it87/blob/master/it87.c please and see it - happy to point out the section if needed.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu:
status: New → Confirmed
affects: ubuntu → linux (Ubuntu)
description: updated
Revision history for this message
Knickers Brown (metta-crawler) wrote :

I took lm-sensors out of the bug title because lm-sensors 1:3.4.0-4 works fine with an updated it87 driver.

$ sensors
it8686-isa-0a40
Adapter: ISA adapter
CPU Vcore: +0.77 V (min = +0.00 V, max = +3.06 V)
+3.3V: +3.39 V (min = +0.00 V, max = +5.05 V)
+12V: +12.38 V (min = +0.00 V, max = +18.36 V)
+5V: +5.07 V (min = +0.00 V, max = +7.65 V)
Vcore SOC: +1.02 V (min = +0.00 V, max = +3.06 V)
CPU Vddp: +0.91 V (min = +0.00 V, max = +3.06 V)
DRAM A/B: +1.24 V (min = +0.00 V, max = +3.06 V)
CPU fan: 1288 RPM (min = 0 RPM)
SYS1 fan: 837 RPM (min = 0 RPM)
SYS2 fan: 667 RPM (min = 0 RPM)
SYS3 fan: 0 RPM (min = 0 RPM)
CPUOPT fan: 0 RPM (min = 0 RPM)
System 1: +29.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
Chipset: +38.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
CPU: +36.0°C (low = +137.0°C, high = +137.0°C) sensor = AMD AMDSI
PCIe X16: +29.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
VRM MOS: +30.0°C (low = +0.0°C, high = -117.0°C) sensor = thermistor
EC_temp 1: +26.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor

it8792-isa-0a60
Adapter: ISA adapter
DDR Vtt A/B: +0.60 V (min = +0.00 V, max = +2.78 V)
Chipset Core: +1.06 V (min = +0.00 V, max = +2.78 V)
CPU Vdd18: +1.80 V (min = +0.00 V, max = +2.78 V)
DDR Vpp A/B: +2.50 V (min = +0.00 V, max = +4.63 V)
3VSB: +3.33 V (min = +0.00 V, max = +5.56 V)
Vbat: +3.16 V
SYS5 fan/pump: 0 RPM (min = 0 RPM)
SYS6 fan/pump: 0 RPM (min = 0 RPM)
SYS4 fan: 0 RPM (min = 0 RPM)
PCIe X8: +30.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
EC_temp 2: -55.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
System 2: +32.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor

summary: - Driver it87 and lm_sensors are too old and don't support newer chipsets
- (such as Z370).
+ The it87.ko driver is too old and does not support newer chipsets (such
+ as Z370).
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Is there anyone trying to upstream this?

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Anthony Wong (anthonywong) wrote :

Emanem, can you confirm if the latest kernel is working now?

Changed in linux (Ubuntu):
status: Triaged → Incomplete
Revision history for this message
Mateusz Mikuła (mati865) wrote :

IT8686E does not work on X470 motherboard and upstream 5.2.15 kernel. There has been no upstream movement around `linux/drivers/hwmon/it87.c` since 2 years.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Nicram (marcin6) wrote :

IT8686E still doesn't work on Kernel: 5.4.0-90

Revision history for this message
mirh (mirh) wrote :

https://github.com/frankcrawford/it87
The chances of mainlining aren't exactly stellar though.
https://<email address hidden>/

Changed in linux (Ubuntu):
status: Expired → Confirmed
importance: Medium → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.