Virtualbox does not reconfigure on kernel 4.20

Hi, just built an AMD Ryzen 2600X box and discovered that kernel 4.12 doesn’t report temperatures from the CPU and motherboard. So I determined that a later kernel allegedly does, so I configured zypper to allow the latest kernel and enabled the kernel repository and installed kernel 4.20 RC4.

Then I tried to run Virtualbox and as expected it wouldn’t run with the older Virtualbox and the newer kernel. So I downloaded the latest Virtualbox from Oracle and installed it. When I tried to run vboxconfig I got some incomprehensible Make file error. So i Googled and I see that support for openSUSE Virtualbox on kernel 4.20 has only in the last month been added to the Build Service and is disabled for Leap 15 - which is what I’m running.

Is there any way I can get the current Virtualbox to run on kernel 4.20? If not, which kernel should I revert to? I think I can get temperature reporting from the kernels from 4.15 or higher. Which one will work with the current Virtualbox
VirtualBox-5.2-5.2.22_126460? 4.19? Or earlier?

OK, forget about it.

I shifted the repos over to Build Service, which upgraded a bunch of stuff. That allowed me to downgrade to kernel 4.19. Then I uninstalled the latest Virtualbox and reinstalled via Yast and that installed OK. So Virtualbox is working again.

With regard to the Ryzen temperatures, I installed Psensor. It shows me two CPU temperatures but they look like they are ten degrees off. Some people apparently think that AMD has a 10 or 20 degree offset applied to the temperature sensor, but that only applied to the 8 core models, not the 6-core 2600X. when I go into the BIOS, I still see a minimum of 45 or so degrees where psensor is showing me 35 degrees. So it’s probably wrong. Better than nothing, anyway, as I can still see spikes when things are pushing the CPU and I can track that while on the desktop.

I also found the monitor utility openSUSE has which shows me the core speeds for each core, so I’ve got that to verify. It’s supposed to show temperatures if you use the --debug option - but it doesn’t.

So my main problem is resolved and my temperature issue remains outstanding until I figure out how to get lm-sensor to use the correct sensor module.

Hi
I have an update pending for sensors to version 3.5.0, but only pushed for Tumbleweed, it also has a soname/ABI change so a few other things break and need fixing eg perl-net-snmp, sane etc…

CPU temperature support is coming for my AMD A10-9600P in the kernel (k10temp) which is probably what your after, but the sensors update gets acpi temp back.

I can enable the publishing of it from Leap 15 for you to try? But when installing keep libsensors4 (as in it will ask to remove, select not to).

OK, that would be nice. Does this also report fan speeds or would I still need to compile a specific kernel module for that? I can pretty much ignore fan speeds, it’s the AMD Ryzen 2600X CPU temperatures I’m concerned with.

Hi
I would imagine it should report everything for the chip…


zypper ar -f -g "repo-sensors" https://download.opensuse.org/repositories/home:/malcolmlewis:/branches:/Base:/System/openSUSE_Leap_15.0/ repo-sensors
zypper ref
zypper in sensors --from repo-sensors
zypper mr -d -R repo-sensors

The only one not working is k10temp which is part of the kernel and on the way…

OK, tried it.

When I run sensors-detect, I get this:


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

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

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

No modules to load, skipping modules configuration

When I run sensors, I get this:


linux-2ywh:/home/richardhack # sensors
asus-isa-0000
Adapter: ISA adapter
cpu_fan:        0 RPM

nouveau-pci-0a00
Adapter: PCI adapter
GPU core:     +0.95 V  (min =  +0.95 V, max =  +1.16 V)
temp1:        +39.0°C  (high = +95.0°C, hyst =  +3.0°C)
                       (crit = +105.0°C, hyst =  +5.0°C)
                       (emerg = +135.0°C, hyst =  +5.0°C)

k10temp-pci-00c3
Adapter: PCI adapter
Tdie:         +32.2°C  (high = +70.0°C)
Tctl:         +32.2°C 

The problem is that this is pretty much the same temps from the Tdie and Tctl that I get with Psensors. And the problem with that is inside the ASUS ROG Strix X470-F Gaming motherboard BIOS my temps are at a minimum about ten degrees higher than that. So I suspect that there is a 10-20 degree negative offset being applied to the actual temperature by whoever coded lm-sensors originally, under the mistaken notion that Ryzen processors enforce a positive offset in order to insure consistent fan control. This only applies to the Ryzen 7 1700X and 1800X (20 degrees) and 2700X (10 degrees), and Threadripper (27 degrees). It doesn’t apply to the 2600X.

I guess I can live with that since I can just adjust for it myself. Whoever is coding the original k-temp needs to adjust for the actual CPUs involved at some point.

Worse for me is that I can’t see the fan controls until someone codes the driver for the ITE IT8665E Super IO Sensors, which apparently is newer than the it87 previous AMD boards used.

I guess this is what happens when you’ve got new hardware on Linux, since we’re always lagging behind Intel for vendor support.

Anyway, thanks for your assistance. Good looking out.

You may be interested in taking a look at this Ubuntu forum thread…
To my eye, all references to its alternative/workaround driver solution reference generic source,
But I don’t know what they’re referring to by “Cosmic Cuttlefish” as a Gnome app(??) to view the sensor data.

https://ubuntuforums.org/showthread.php?t=2401422

Also took a look at the mainline lm-sensors branch on github, and as expected all of this family’s chipsets say “driver to be written”

TSU

Thanks for the link. Unfortunately his board’s chip is recognized by the kernel, but mine isn’t. I checked a site that tracks these chips for Linux and my board’s chip isn’t listed. I also checked the Github site and noted the “will get written some day”.

I also found this, which I put here in case it helps someone - the board discussed is the small ATX form factor board which is presumably similar to my ASUS ROG Strix X470-F Gaming motherboard except for the size. The suggested fix on the bottom post does not seem to help:

sensors show CPU FAN 0 RPM for ASUS ROG STRIX X470-I MB #134

And then from the guy who used to maintain the it87 driver on Github - but who gave up as follows

I have been unable to meet support demands for this driver, resulting in unpleasant experience and frustration for everyone involved. Consequently, the driver will be removed from github, effective
August 1, 2018. Interested parties are encouraged to clone the driver
before that time and to start maintaining it on their own.

a1wong/it87

I tried his procedure at the bottom (Reporting information for unsupported chips) about trying various similar kernel modules but there’s nothing that seems to match. In particular, all the fan RPMs are completely wrong.

I just need to wait until a driver is written and a kernel module is available. Which I assume means a long wait as I don’t know if anyone is maintaining this driver any more. Welcome to Linux! :sarcastic:

UPDATE: I also found this information while creating the above info:

A guy on Level 1 Techs forums rebased all of the it87 maintainer’s patches in another Github repository:

https://forum.level1techs.com/t/i-patched-the-it87-temperature-monitoring-driver-need-some-help-testing-it/132675
https://github.com/hannesha/it87/tree/rebase

Since he didn’t actually change anything as far as I can tell, it doesn’t do me any good.

The hwmon driver is still being maintained but without the out-of-band patches the other guy produced, basically Ryzen boards with any newer chips will not be maintained.

Then there’s this over at Arch Linux:

https://aur.archlinux.org/packages/it87-dkms-git/

Unfortunately I have no idea how to use DKMS to build a kernel module. I tried but I keep getting error messages that make no sense, so I’m giving up. There simply is no solution at this point until someone in either openSUSE or upstream does something about restoring the it87 kernel module maintenance on an official basis.

Thanks for everyone’s help. We can consider this issue closed.

On Mon 03 Dec 2018 09:36:03 PM CST, richardstevenhack wrote:

UPDATE: I also found this information while creating the above info:

A guy on Level 1 Techs forums rebased all of the it87 maintainer’s
patches in another Github repository:

I patched the IT87 (Temperature monitoring) driver, need some help testing it - Linux - Level1Techs Forums
GitHub - hannesha/it87 at rebase

Since he didn’t actually change anything as far as I can tell, it
doesn’t do me any good.

The hwmon driver is still being maintained but without the out-of-band
patches the other guy produced, basically Ryzen boards with any newer
chips will not be maintained.

Then there’s this over at Arch Linux:

AUR (en) - it87-dkms-git

Unfortunately I have no idea how to use DKMS to build a kernel module.
I tried but I keep getting error messages that make no sense, so I’m
giving up. There simply is no solution at this point until someone in
either openSUSE or upstream does something about restoring the it87
kernel module maintenance on an official basis.

Thanks for everyone’s help. We can consider this issue closed.

Hi
Give me a bit and will build for you…


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLES 15 | GNOME Shell 3.26.2 | 4.12.14-25.25-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Hi
This is based on the git repo you pointed out, which is actually pointing at https://github.com/bbqlinux/it87

Build details are here;

https://build.opensuse.org/package/show/home:malcolmlewis:TESTING/it87

Install direct, or download and install. Since no repo key is added, just hit ignore for the moment :wink:


zypper in https://download.opensuse.org/repositories/home:/malcolmlewis:/TESTING/openSUSE_Leap_15.0_Update/x86_64/it87-kmp-default-0+git20180709_k4.12.14_lp150.12.25-lp150.1.1.x86_64.rpm

Note in the past I had to add the following to the kernel boot options on my old HP system using the it87;


acpi_enforce_resources=lax

If it all starts to work, then can look at adding a repo for you to add and it will update on a kernel update automatically…

Thank you for your work in compiling the kernel module.

After installing I get this after running lm-sensors and modprobe it87 force_id=0x8732:

k10temp-pci-00c3
Adapter: PCI adapter
Tdie: +33.8°C (high = +70.0°C)
Tctl: +33.8°C

nouveau-pci-0a00
Adapter: PCI adapter
GPU core: +0.95 V (min = +0.95 V, max = +1.16 V)
temp1: +38.0°C (high = +95.0°C, hyst = +3.0°C)
(crit = +105.0°C, hyst = +5.0°C)
(emerg = +135.0°C, hyst = +5.0°C)

it8732-isa-0290
Adapter: ISA adapter
in0: +0.49 V (min = +0.50 V, max = +1.62 V) ALARM
in1: +2.53 V (min = +0.01 V, max = +0.41 V) ALARM
in2: +2.04 V (min = +2.67 V, max = +1.51 V) ALARM
+3.3V: +2.02 V (min = +0.46 V, max = +0.24 V) ALARM
in4: +0.03 V (min = +2.38 V, max = +0.82 V) ALARM
in5: +0.03 V (min = +1.67 V, max = +1.77 V) ALARM
in6: +0.03 V (min = +0.72 V, max = +1.79 V) ALARM
3VSB: +1.67 V (min = +1.13 V, max = +0.29 V) ALARM
Vbat: +1.64 V
fan1: 815 RPM (min = 11 RPM)
fan3: 374 RPM (min = 38 RPM)
temp1: +33.0°C (low = +93.0°C, high = -114.0°C) ALARM sensor = thermistor
temp2: +30.0°C (low = -117.0°C, high = -121.0°C) ALARM sensor = Intel PECI
temp3: +33.0°C (low = -65.0°C, high = -69.0°C) ALARM sensor = thermistor
intrusion0: ALARM

asus-isa-0000
Adapter: ISA adapter
cpu_fan: 0 RPM

I still get only 2 fans out of the three fan headers and the speeds look wrong. I get three temps and the temps aren’t right compared to the BIOS. I get no CPU fan speed. And the Tdie and Tctl temps are still ten degrees too low compared to the BIOS.

I don’t know, maybe whatever fix the guy did who patched the IT87 module was still not right - or maybe it was for a different sensor chip than he listed.

As an aside, I turned off Precision Boost in the BIOS for the 2600X and my temps immediately dropped to around 35 degrees which is precisely where they should be given the stock cooler. And using ASUS TUI auto overclock to 3.8GHz, I get temps in the 44 degree range with spikes to 50-55 if Precision Boost is on, with lower voltages. It’s clear to me now that ASUS has significantly over-volted this motherboard and that only undervolting the CPU voltage is likely to resolve my temperature issues.

Thanks for your help, I really appreciate it, but I think we’ll still have to wait for a real module to be written for the Super chip.