Score:2

Unable to see fan speed on Ubuntu 20.04 with MSI board

ru flag

Just a preface, I know there are numerous questions about this, but I do believe that mine is a different case.

Every now and then, after restarting my computer (often after updating Nvidia drivers), my fan speeds go to the moon after booting into Ubuntu. They are very quiet and reasonable in BIOS, but once Ubuntu loads, they quickly reach max speed. There are quite a few fans in my computer, so this is incredibly loud. After doing some research, I ran sensors, and then sudo sensors-detect. I gave it permission to look at everything, and it wrote a file containing:

# Generated by sensors-detect on Thu Feb 24 09:24:58 2022
# Chip drivers
coretemp

After doing this and running sensors, I got this:

acpitz-acpi-0  
Adapter: ACPI interface  
temp1:        +27.8°C  (crit = +105.0°C)  

coretemp-isa-0000  
Adapter: ISA adapter  
Package id 0:  +40.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 0:        +38.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 1:        +40.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 2:        +40.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 3:        +37.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 4:        +38.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 5:        +37.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 6:        +41.0°C  (high = +82.0°C, crit = +100.0°C)  
Core 7:        +35.0°C  (high = +82.0°C, crit = +100.0°C)

As you can see, there is no mention of fan speed. I also ran sudo pwmconfig and got this message:

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed

I am able to set fan speed and behavior in the MSI BIOS, but it seems to ignore these changes on Ubuntu startup. I wanted to know if there is a chance that the board limits OS access to these settings, or if there is some specific manual way to add these fans to sensors. I will update if anyone needs anymore specifics. Thank you.

The board is a Z590-A Pro.

Edit (For rtaft), the results of sudo sensors-detect:

Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               Yes
Found unknown chip with ID 0xd592
David avatar
cn flag
Please do not have links to pictures of text. Include the text in the body of the question.
Aaron avatar
ru flag
Thanks David, updated. Any tips for formatting that more elegantly?
aq flag
Run `sudo sensors-detect` and post the output of the `Super I/O chips` section (by editing your question)
aq flag
It looks like your board might have a Nuvoton NCT6687-R. Support was added to the kernel for this in late 2020. The question is whether or not it made it into the Ubuntu 20 updates, and whether your system is configured correctly.
Aaron avatar
ru flag
Hey @rtaft, I just added those, thanks. The unknown chip bit is interesting, and you're at least right about a Nuvoton something.
aq flag
Try `sudo modprobe nct6683` and then check if anything new shows up in `sensors`. If that is no good, try `sudo modprobe nct6687d` (I'm finding conflicting answers as to which it is). If either of these work, I'll write up an answer that will get the change to stick around. What kernel version are you using?
Aaron avatar
ru flag
When I run `...6683`, I get no output, no sensors changes. When I run `...6687d`, I get `modprobe: FATAL: Module nct6687d not found in directory /lib/modules/5.13.0-30-generic`. That last part is the kernel version as well, `5.13.0-30-generic`. Thanks again.
aq flag
try nct6687 without the d.
aq flag
My answer may not be correct, https://github.com/torvalds/linux/blob/v5.13/drivers/hwmon/nct6683.c indicates support in 5.13.0. Have you added acpi_enforce_resources=lax to grub? The thread I posted indicates people have success with 5.15.0 which is where I got that from.
Aaron avatar
ru flag
I have this line in my /etc/default/grub: `GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_enforce_resources=lax"`, is that what you're talking about?
Score:1
aq flag

The issue here is kernel 5.13.0 does not support your chip which is why sensors detect says Found unknown chip with ID 0xd592. Sometimes you can get lucky and the module will work even though sensors-detect doesn't know what module to use, but in this case I don't think that will work. If you search the internet for 0xd592, you will find others who are in this boat.

Options:

  • The simplest is to wait for Ubuntu 22 next month and upgrade, that will have 5.15.0 which will support the chip under module nct6683.

  • The second option is to install https://github.com/Fred78290/nct6687d following the readme there. That should get you working, but keep in mind that this installs as nct6687 and you may run into issues in kernel 5.15.0 since that would normally use module nct6683.

  • Another option would be to get the patch for the nct6683 changes and build the 5.13.0 kernel yourself with the patch which may require rebuilding and patching the kernel every time it updates. (Note that the link may not be the actual final patch that was used, you'd have to compare kernel source code to be sure)

These options will get sensors to read the chip. Once that is working, you can get fancontrol working using steps found in other threads like this Ask Ubuntu thread. You may need to add an entry to /etc/sensors3.conf, I'm not sure if the nct6687d module requires changes there, but nct6683 has this entry appended to the conf file.

Also see this external thread as my main source of information for the 0xd592 chip ID (keep in mind it is not Ubuntu specific).

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.