• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

ASUS Prime X670-P Mainboard Sensor Nuvoton NCT6799D

Joined
Jul 31, 2024
Messages
704 (3.76/day)
Why is that sensor module not loaded on startup? Should not the mainboard sensor be also loaded automatically like the

Windows 11 pro claims for the ASUS X670-P Prime mainboard to be a NCT6799D sensor.

Screenshot 2025-02-03 151739.png


left side of i3wm and the shell: at startup.
right side of i3wm and the shell when i forcefully load the module. the other stuff is same below on the right panel

03-02-2025_15:32:02_screenshot.png



If you have any hints how to output a single line from a config file - let me know - without using two commands and the pipe.

First command output. In my point of view the adress is 0xd800 for the mainboard chip i have - according to windows 11 pro and the windows software
Second command: just updated dmesg output when i forced loaded the module - right panel above - just feedback that it did something
Third command: Just showing that my mainboard is listed in the big mainboard list.
I bought X670-P mainboard but I added later myself the wifi module. I believe these mainbaords are identical, just different names, if they were shipped with or wihtout wifi module from the factory.
Fourth command: just show that i use the 6.13.1 linux kernel with gentoo patches.
Code:
Sienna_Cichlid /home/roman # head -n 89 /usr/src/linux/drivers/hwmon/nct6775-platform.c |tail -1
#define SIO_NCT6799_ID        0xd800
Sienna_Cichlid /home/roman # dmesg |tail -1
[   43.114913] nct6775: Found NCT6796D-S/NCT6799D-R or compatible chip at 0x2e:0x290
Sienna_Cichlid /home/roman # grep PRIME\ X670-P /usr/src/linux/drivers/hwmon/nct6775-platform.c
    "PRIME X670-P",
    "PRIME X670-P WIFI",
Sienna_Cichlid /usr/src # ls -alh linux
lrwxrwxrwx 1 root root 20 Feb  2 22:09 linux -> linux-6.13.1-gentoo/

starting point:

webpages i looked at
https://www.reddit.com/r/linuxhardware/comments/zjqikw

--

Can someone verify this:

I came to the conclusion, these are the sensors from my DRAM (that's why i included that above in the windows screenshot)

Code:
spd5118-i2c-1-53
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +40.5°C  (low  =  +0.0°C, high = +55.0°C)
                       (crit low =  +0.0°C, crit = +85.0°C)

spd5118-i2c-1-51
Adapter: SMBus PIIX4 adapter port 0 at 0b00
temp1:        +40.8°C  (low  =  +0.0°C, high = +55.0°C)
                       (crit low =  +0.0°C, crit = +85.0°C)

Regardless of the nonsense value of 12°C. The infrared thermometer claims 22°C. Physically it's impossible to be below that 22°C room temperature.

I just ran this again + a reboot now
Code:
Sienna_Cichlid /home/roman # sensors-detect
# sensors-detect version 3.6.2
# Board: ASUSTeK COMPUTER INC. PRIME X670-P
# Kernel: 6.13.1-gentoo_03_02_2025 x86_64
# Processor: AMD Ryzen 5 7600X 6-Core Processor (25/97/2)

Nope

Just modprobe the module without a hex value also added the sensors.
Code:
Sienna_Cichlid /home/roman # modprobe nct6775
Sienna_Cichlid /home/roman # sensors

--

I'm not happy with that solution. This seems to fix that the module is not loaded. source: https://bbs.archlinux.org/viewtopic.php?id=184814
(I'm well aware of that comment lines start with a # - i kept the code)

Code:
Sienna_Cichlid /home/roman # cat /etc/modules-load.d/nct6775.conf
# Load nct6775.ko at boot
nct6775

The gentoo wiki also misses some important examples https://wiki.gentoo.org/wiki/Lm_sensors

If you use /etc/conf.d/modules to declare which kernel modules to load simply add the necessary kernel modules as shown by sensors-detect to it.

source: https://www.freedesktop.org/software/systemd/man/latest/modules-load.d.html

Description​

systemd-modules-load.service(8) reads files from the above directories which contain kernel modules to load during boot in a static list. Each configuration file is named in the style of /etc/modules-load.d/program.conf. Note that it is usually a better idea to rely on the automatic module loading by PCI IDs, USB IDs, DMI IDs or similar triggers encoded in the kernel modules themselves instead of static configuration like this. In fact, most modern kernel modules are prepared for automatic loading already.

This help page sums it nicely up: Note that it is usually a better idea to rely on the automatic module loading by PCI IDs, USB IDs, DMI IDs or similar triggers encoded in the kernel modules themselves instead of static configuration like this.

--

edit: some modules load themself

Code:
Sienna_Cichlid /home/roman # lsmod
Module                  Size  Used by
nct6775                28672  0
nct6775_core           53248  1 nct6775
hwmon_vid              12288  1 nct6775
iwlmvm                430080  0
amdgpu              10207232  11
spd5118                12288  0
mac80211              663552  1 iwlmvm
libarc4                12288  1 mac80211
sp5100_tco             12288  0
iwlwifi               319488  1 iwlmvm
kvm_amd                94208  0
watchdog               24576  1 sp5100_tco
kvm                   593920  1 kvm_amd
drm_client_lib         12288  1 amdgpu
i2c_algo_bit           12288  1 amdgpu
drm_ttm_helper         12288  2 amdgpu
ttm                    65536  2 amdgpu,drm_ttm_helper
drm_exec               12288  1 amdgpu
i2c_piix4              20480  0
drm_suballoc_helper    12288  1 amdgpu
amdxcp                 12288  1 amdgpu
k10temp                12288  0
cfg80211              438272  3 iwlmvm,iwlwifi,mac80211
i2c_smbus              12288  1 i2c_piix4
drm_buddy              16384  1 amdgpu
rfkill                 24576  3 iwlmvm,cfg80211
gpu_sched              32768  1 amdgpu
drm_display_helper    135168  1 amdgpu
drm_kms_helper        131072  4 drm_display_helper,amdgpu,drm_ttm_helper,drm_client_lib
8250                   28672  0
8250_base              49152  1 8250
serial_mctrl_gpio      12288  2 8250,8250_base
serial_base            49152  3 8250,serial_mctrl_gpio,8250_base
gpio_amdpt             12288  0
i2c_designware_platform    12288  0
gpio_generic           16384  1 gpio_amdpt
i2c_designware_core    28672  1 i2c_designware_platform

edit: this looks like a mess - all three urls are realted to each other
 
Last edited:

AsRock

TPU addict
Joined
Jun 23, 2007
Messages
19,165 (2.98/day)
Location
UK\USA
Auxin i believe it's for PSU temp readout if there is one available from the PSU.

But although not 100% sure about it as i do not have a PSU that has this option.
 
Top