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

Bug #1740736 reported by Emanem on 2018-01-01
60
This bug affects 12 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
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) on 2018-01-01
description: updated
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

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

dino99 (9d9) wrote :

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

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....")

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 .

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/ )

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.

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
Metta Crawler (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).
Kai-Heng Feng (kaihengfeng) wrote :

Is there anyone trying to upstream this?

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

Other bug subscribers