Possible regression concerning Ryzen motherboards? AMD X370 chipset.

I have an ASUS Crosshair VI Hero motherboard with a Ryzen 1800 CPU. More than a year ago I submitted a post concerning how to get lmsensors to work correctly. It may be found at: https://forums.opensuse.org/showthread.php/524729-Getting-sensors-to-work-on-an-ASUS-Crosshair-VI-Hero-AM4-motherboard?highlight=crosshair+hero
To be concise, I added 50-it87.conf to /etc/modprobe.d (with contents:options it87 force_id=0x8628), and a file called it87.conf in /etc/modules-loaded.d to load the module. malcolmlewis was of great help. This setup has worked quite well up until a week ago, more or less. I was always able to get info on several temps and fan speeds, as well as voltages.

Apparently a recent update is causing an inappropriate module to be loaded before it87 gets a chance to load. I am getting very limited sensor information, and some is erroneous. If I try to manually load the it87 module, I am greeted with: Failed to load it87, device or resource busy.
lsmod presents a very long list. I am unsure what module is reading sensor information. I would suppose that removing the module by force might crash the computer.

It may not be connected, but I also see: “Failed to start load kernel modules” during boot. Or it may be it87 trying to load after whatever other modules has loaded in it’s place.

I would appreciate any help offered. Regardless of my forum settings, I am never notified by email of responses. I will try to check back often.

Hi
Can you identify the other module being loaded? If you remove the 50-it-87.conf file, do things start working?

I did push an update to sensors, but that has only made it to the devel repo at this point.

I am not sure. I did remove both module references from /etc/ with no change in results. I ran “sensors-detect” and the final output may help, keeping in mind that “it87 force_id=0x8628” seemed to work well before whatever change occurred. Here is the output:


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

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

Note: there is no driver for ITE IT8665E Super IO Sensors yet.
Check http://www.lm-sensors.org/wiki/Devices for updates.

No modules to load, skipping modules configuration.

Plese note that 8628 worked, but apparently 8665 is now being forced for whatever reason.
Before the change, I had several CPU temps, GPU temp, and several fan speeds including CPU, motherboard fans, and GPU fan. Now I have a single CPU temp, a Tctl temp, and only the GPU fan seed available. There is a cpu fan field, but it is constantly at zero.

Here is what “sensors” currently shows:


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

amdgpu-pci-0c00
Adapter: PCI adapter
vddgfx:       +0.97 V  
fan1:        1067 RPM
temp1:        +34.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       18.25 W  (cap = 130.00 W)

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

I am currently unable to follow the lm-sensors link. I am not sure of the link is bad or the site is down. I’ll keep trying as time allows.

I should have also noted that although removing the 50-it87.config did not solve my problem, it did in fact stop the “failed to start load kernel modules” errors during boot.

Hi
So are the nct modules loaded? Check via lsmod, if it is, remove and load the it87 one with your option, does it start working?

If that’s the case, then you woul need to blacklist the module being loaded and rebuild initrd.

Hi
Note I lost my iwlwifi one with recent kernel changes (my k10temp one doesn’t work yet) hence my sensors update, so you might be in the same boat…
https://bugzilla.opensuse.org/show_bug.cgi?id=1116021

I am not sure what you mean by nct module. I did a grep for it and only got “pinctrl_amd” which is being used by 0. I did unload it.
When I try inserting the it87 with my customization, I get “modprobe: ERROR: could not insert ‘it87’: Device or resource busy”.
If I try to insert it without specifics, I get “modprobe: ERROR: could not insert ‘it87’: No such device”.

Hi
All the modules (on current kernel) live down here;


ls /lib/modules/`uname -r`/kernel/drivers/hwmon/

What is the output from the command;


/sbin/modinfo it87 |grep filename

The module does in fact exist in /lib/modules.
The second command returns:

"filename:       /lib/modules/4.19.8-1-default/kernel/drivers/hwmon/it87.ko"

So the module is there and is available, but refuses to insert:


Ryzen7:/home/ronnie # modprobe it87
modprobe: ERROR: could not insert 'it87': No such device

Is it possible that the module has changed and does not see my hardware as being compatible? Also, I still have no idea what module is inserted that is monitoring my temps. If I run lsmod, I am presented with a very long list. I am not sure what to grep for.
If it may be of any help, on the Windows 10 side of my computer, I have Aida Extreme installed. It seems to see everything. Here is a report from the sensor section of Aida:


Version                                           AIDA64 v5.90.4200
    Benchmark Module                                  4.3.741-x64
    Homepage                                          http://www.aida64.com/
    Report Type                                       Report Wizard
    Computer                                          RYZEN7
    Generator                                         Ronnie Bailey
    Operating System                                  Microsoft Windows 10 Pro 10.0.17763.195
    Date                                              2018-12-25
    Time                                              18:06


-------- Sensor ]------------------------------------------------------------------------------------------------------

    Sensor Properties:
      Sensor Type                                       ITE IT8665E  (MMIO FD000000h)
      GPU Sensor Type                                   Diode, IRF IR3567B  (ATI-Diode, 70h)
      Motherboard Name                                  Asus Crosshair VI Hero

    Temperatures:
      Motherboard                                       26 °C  (79 °F)
      CPU                                               24 °C  (75 °F)
      CPU Diode                                         44 °C  (111 °F)
      Chipset                                           48 °C  (118 °F)
      VRM                                               30 °C  (86 °F)
      GPU Diode                                         29 °C  (84 °F)
      GPU VRM1                                          32 °C  (90 °F)
      GPU VRM2                                          25 °C  (77 °F)
      WDC WD2001FASS-00W2B0                             27 °C  (81 °F)
      WDC WD1001FALS-00J7B1                             28 °C  (82 °F)
      Kingston SHPM2280P2/240G                          32 °C  (90 °F)
      KINGSTON SH103S3120G                              24 °C  (75 °F)
      WDC WD4003FZEX-00Z4SA0                            27 °C  (81 °F)

    Cooling Fans:
      CPU                                               985 RPM
      Chassis #1                                        1929 RPM
      Chassis #2                                        1880 RPM
      GPU                                               0%

    Voltage Values:
      CPU Core                                          1.417 V
      CPU VID                                           1.406 V
      +1.05 V                                           1.042 V
      +1.8 V                                            1.831 V
      +3.3 V                                            3.335 V
      +5 V                                              5.096 V
      +12 V                                             12.034 V
      VBAT Battery                                      3.161 V
      VDDP                                              0.937 V
      SoC                                               1.068 V
      DIMM                                              1.373 V
      Battery                                           24.000 V
      Battery Input                                     125.000 V
      Battery Output                                    125.000 V
      GPU Core                                          1.025 V
      GPU Vcc                                           3.281 V
      GPU +12V                                          12.188 V
      GPU VRM                                           1.022 V

    Current Values:
      GPU VRM                                           11.00 A

    Power Values:
      CPU Package                                       24.65 W
      Battery                                           153.00 W
      GPU                                               9.18 W
      GPU VRM                                           11.27 W

There are multiple pages of debug info in addition to the info above. Each section begins with: AMD K17.

Possibly a little progress. I looked up the it87 package at software.opensuse.org.
In the description, it lists many chips, but IT8665E is not one of them.

I have possibly found the answer to the current problem, but it does not explain why everything worked before.
I ran sensors-detect. The CPU temp is monitored by k10temp. When searching for chipset drivers, this was the pertinent output:

Found `ITE IT8665E Super IO Sensors'                        Success!
    (address 0x290, driver `to-be-written')

Even after removing k10temp, I am unable to modprobe the it87 module. I still get: Device or resource busy.

Hi
So with what you have what is the output from the sensors command?

I think you may be out of luck until someone writes the code :frowning:

You could try adding the following to your kernel boot options via YaST bootloader;


acpi_enforce_resources=lax

The output of the sensors command is the same as I posted in comment 3. I have added the acpi line to the kernel parameters. I’ll post back at another time of it worked.

The kernel parameter you suggested allowed it87 to load like it used to, after removing k10temp, so I re-instated the “modprobe.d” and “modules loaded” files as they were before this problem. I also blacklisted k10temp and created a fresh initrd. After a reboot, all seems well. CPU fan speed is back, as well as 5 CPU temperature readings. I guess we can safely close this thread. I’ll go ahead and post the current “sensors” output.


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

it8628-isa-0290
Adapter: ISA adapter
in0:          +0.77 V  (min =  +0.70 V, max =  +3.04 V)
in1:          +0.76 V  (min =  +2.04 V, max =  +0.76 V)
in2:          +2.21 V  (min =  +3.05 V, max =  +2.87 V)
+5V:          +4.49 V  (min =  +4.15 V, max =  +4.82 V)
in4:          +0.59 V  (min =  +2.68 V, max =  +2.17 V)
in5:          +0.50 V  (min =  +0.62 V, max =  +2.99 V)
in6:          +1.01 V  (min =  +0.97 V, max =  +2.47 V)
3VSB:         +3.65 V  (min =  +2.47 V, max =  +4.13 V)
Vbat:         +3.48 V  
in12:         +0.32 V  
fan1:        1254 RPM  (min =   10 RPM)
fan5:           0 RPM  (min =   -1 RPM)  ALARM
temp1:        +26.0°C  (low  = +123.0°C, high = -71.0°C)  sensor = thermistor
temp2:        +25.0°C  (low  = -43.0°C, high =  -9.0°C)  sensor = thermistor
temp3:        +27.0°C  (low  = +30.0°C, high = +43.0°C)  sensor = thermistor
temp4:        +27.0°C  
temp5:        +27.0°C  
intrusion0:  ALARM

amdgpu-pci-0c00
Adapter: PCI adapter
vddgfx:       +0.75 V  
fan1:         990 RPM
temp1:        +28.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:        9.03 W  (cap = 130.00 W)

I guess this can be closed as solved. Thank you very much again for your help.