Jump to content

Ryzen 9 7950x does not show temperature in Linux

Go to solution Solved by johajoghurtman,

@Tymscar

I may have found the solution (if the problem still exists).
Starting with kernel 6.0, k10temp is also supported for the new Zen4 CPUs. 
So in the end you only have to update the kernel of your operating system (In my case Linux Mint 21.1).
I simply followed the instructions on this page:

https://tipsonunix.com/2022/10/03/how-to-install-linux-kernel-6-0-on-ubuntu-linux-mint/

Hey there,

 

I got a new Ryzen 9 7950x and I love it so far, except for the fact that I can not read it's temperature in Linux.

I have tried lm-sensors, and even after trying to detect all the sensors, I couldn't find any that would tell me the CPU temp.

I made sure to be on the latest version of lm-sensors, I am on Linux 6.0.2, I have the newest UEFI version as well as AMD μcode and still nothing.

I thought it might be that the CPU is too new and that there is no support for it, but thats also not it, as one of my friends, with the exact same OS, kernel version, lm sensors version and exact same CPU, can see the temps. 

The only difference between our builds is that he has an Asus x670e motherboard and I have the Gigabyte Aorus Master x670e.

 

Any tips on what else I could try?

Link to comment
Share on other sites

Link to post
Share on other sites

You could give Zenpower a try:

https://github.com/ocerman/zenpower

 

Anyhow, you did remember to run a sudo sensors-detect, right? I forgot to run it once and wondered why nothing was being picked up lol

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Tymscar said:

The only difference between our builds is that he has an Asus x670e motherboard and I have the Gigabyte Aorus Master x670e.

That might very well be the reason. Are you sure it shows the temps from a sensor in the CPU and not a sensor in the motherboard's socket? It might also be the combination of CPU/motherboard that's not supported yet. It's brand new hardware, give developers some time to catch up.

Remember to either quote or @mention others, so they are notified of your reply

Link to comment
Share on other sites

Link to post
Share on other sites

I did run sensors-detect, yes, and it finds absolutely nothing sadly:
```
Sorry, no sensors were detected.
Either your system has no sensors, or they are not supported, or
they are connected to an I2C or SMBus adapter that is not
supported. If you find out what chips are on your board, check
https://hwmon.wiki.kernel.org/device_support_status for driver status.
```

 

I did look into zenpower as well and as far as I can tell it's already the default for what I have tried and it still doesn't find anything 😞

As far as I can tell @Eigenvektoryou might be right, in his case, the sensors are called `k10temp_tccd1, k10temp_tccd2, k10temp_tctl` which might be ok, no clue

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Eigenvektor said:

That might very well be the reason. Are you sure it shows the temps from a sensor in the CPU and not a sensor in the motherboard's socket? It might also be the combination of CPU/motherboard that's not supported yet. It's brand new hardware, give developers some time to catch up.

It should  be supported since kernel 5.20. Also, iirc, k10temp queries data straight out of the CPU, no matter which mobo you're using.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Tymscar said:

As far as I can tell @Eigenvektoryou might be right, in his case, the sensors are called `k10temp_tccd1, k10temp_tccd2, k10temp_tctl` which might be ok, no clue

Oh, wait, you can read those? If so, those are the CPU temperatures, it's working as intended then lol

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, igormp said:

Oh, wait, you can read those? If so, those are the CPU temperatures, it's working as intended then lol

No, that's what my friend I was referring to with the same versions of everything except the mobo can see. I can not see those. Here is all I can see when I run `sudo sensors` after running a sensors detect:

amdgpu-pci-1400
Adapter: PCI adapter
vddgfx:        1.39 V
vddnb:         1.19 V
edge:         +34.0°C
PPT:          52.24 W

nvme-pci-1300
Adapter: PCI adapter
Composite:    +34.9°C  (low  = -273.1°C, high = +81.8°C)
                       (crit = +84.8°C)
Sensor 1:     +34.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +36.9°C  (low  = -273.1°C, high = +65261.8°C)

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Tymscar said:

No, that's what my friend I was referring to with the same versions of everything except the mobo can see. I can not see those. Here is all I can see when I run `sudo sensors` after running a sensors detect:

amdgpu-pci-1400
Adapter: PCI adapter
vddgfx:        1.39 V
vddnb:         1.19 V
edge:         +34.0°C
PPT:          52.24 W

nvme-pci-1300
Adapter: PCI adapter
Composite:    +34.9°C  (low  = -273.1°C, high = +81.8°C)
                       (crit = +84.8°C)
Sensor 1:     +34.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +36.9°C  (low  = -273.1°C, high = +65261.8°C)

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:            N/A

 

Ah, my bad.

 

Maybe try sensors-detect again, and answer yes to all of the questions?

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, igormp said:

Ah, my bad.

 

Maybe try sensors-detect again, and answer yes to all of the questions?

Sorry, no sensors were detected.
Either your system has no sensors, or they are not supported, or
they are connected to an I2C or SMBus adapter that is not
supported. If you find out what chips are on your board, check
https://hwmon.wiki.kernel.org/device_support_status for driver status.

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Tymscar said:
Sorry, no sensors were detected.
Either your system has no sensors, or they are not supported, or
they are connected to an I2C or SMBus adapter that is not
supported. If you find out what chips are on your board, check
https://hwmon.wiki.kernel.org/device_support_status for driver status.

 

Bummer. I'd try running a live distro and seeing if it's the same (like arch or manjaro), then filling a bug report on the upstream.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

I am on Arch right now! But I will try to check on a live stick of Ubuntu, just to switch things up as well!

 

Link to comment
Share on other sites

Link to post
Share on other sites

19 minutes ago, igormp said:

Bummer. I'd try running a live distro and seeing if it's the same (like arch or manjaro), then filling a bug report on the upstream.

So I have tried on Ubuntu, nothing. Tried on Arch live USB as well, nothing. Tried on windows as well just to be sure and there I can see a ton of sensors in HWSensors. I have attached an image to show.

image.png

Link to comment
Share on other sites

Link to post
Share on other sites

Hello @Tymscar

Just got a 7900x and running Ubuntu 22.04 LTS with Kernel 5.15 and nothing is working also. I believe we will need to be patient and wait for a kernel update 😞 

 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 months later...

You can try corefreq-cli which can show the sensors for temp, power and voltage. Can also show the UMC controller for your memory timings.

Corefreq-cli

 

The only way I can find the voltage on my Asus X670E Hero motherboard and 7950X.  I get the same nothing detected with sensors also with Ubuntu 22.04 LTS kernel 5.15.

Edited by Keith Myers
change to development branch
Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Keith Myers said:

You can try corefreq-cli which can show the sensors for temp, power and voltage. Can also show the UMC controller for your memory timings.

Corefreq-cli

 

The only way I can find the voltage on my Asus X670E Hero motherboard and 7950X.  I get the same nothing detected with sensors also with Ubuntu 22.04 LTS kernel 5.15.

This is my build:

System:
	Kernel: 5.15.0-56-generic x86_64 bits: 64 compiler: gcc v: 11.3.0
    Desktop: Cinnamon 5.6.5 Distro: Linux Mint 21.1 Vera
    base: Ubuntu 22.04 jammy
Mobo:
    ASUSTeK model: TUF GAMING X670E-PLUS v: Rev 1.xx 
CPU:
    Info: 8-core model: AMD Ryzen 7 7700X bits: 64 type: MT MCP 

For me corefreq-cli was also the only way to see the temperature. 
Why can corefreq-cli capture the temperature sensors but lm-sensors can't?

Link to comment
Share on other sites

Link to post
Share on other sites

lm-sensors depends on being able to detect the SIO chip on the motherboard.  But so far no drivers have been implemented to find the SIO chip registers or addresses they use.  Windows can because Windows developers have access to the datasheets for the SIO chips because they sign NDA agreements with the manufacturers. 

Linux OTOH is open source and any documentation is public and the mfrs. won't release that data into the clear because they consider it proprietary.

 

corefreq-cli is probing the hardware directly via SMU calls and basically guessing where the registers are and how the data is represented.  Reverse engineering everything about the Zen 4 cpus and the motherboards.  Apparently AMD changed everything that worked with Zen 3 so all the devs have to start from scratch.

 

You have to have the latest kernel branches to even have drivers like k10temp working.  Based on what I read on Phoronix, you need at least kernel 6.1 to even get the basic temp directly out of the cpu.  Forget about the others sensors on the motherboard showing things like voltages or fan speeds until the boards can be reverse engineered.

 

Even now, the old Zen 3 mobos and mainly Asus boards are only getting basic drivers for the sensors and those don't show up unless you are on 5.19 kernels or better.  The fact that we have sensors available for Zen 3 is because the 3rd party devs finally got their repos upstreamed into the latest hwmon branch of the latest kernels.

 

The same is going to have to happen for Zen 4.  Took two years for the progress on Zen 3.  Expect the same timeline for Zen 4.  Unless AMD miraculously provides the drivers directly for Linux. But they have not provided much support for the their cpus so far and provide much more support for the gpus.

Link to comment
Share on other sites

Link to post
Share on other sites

@Tymscar

I may have found the solution (if the problem still exists).
Starting with kernel 6.0, k10temp is also supported for the new Zen4 CPUs. 
So in the end you only have to update the kernel of your operating system (In my case Linux Mint 21.1).
I simply followed the instructions on this page:

https://tipsonunix.com/2022/10/03/how-to-install-linux-kernel-6-0-on-ubuntu-linux-mint/

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/6/2023 at 1:15 PM, johajoghurtman said:

@Tymscar

I may have found the solution (if the problem still exists).
Starting with kernel 6.0, k10temp is also supported for the new Zen4 CPUs. 
So in the end you only have to update the kernel of your operating system (In my case Linux Mint 21.1).
I simply followed the instructions on this page:

https://tipsonunix.com/2022/10/03/how-to-install-linux-kernel-6-0-on-ubuntu-linux-mint/

 

I can confirm, upgrading the kernel to 6.0.0 worked for me as well. I'm now able to see the CPU temperatures (Tctl, Tccd1 and Tccd2) using sensors.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 4 months later...
On 1/3/2023 at 4:32 AM, Keith Myers said:

Reverse engineering everything about the Zen 4 cpus and the motherboards.

SMU thermal register is publicly known

 

2023-06-08-111824_689x88_scrot.png

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×