fred78290 / nct6687d Goto Github PK
View Code? Open in Web Editor NEWLinux kernel module for Nuvoton NCT6687-R
License: GNU General Public License v2.0
Linux kernel module for Nuvoton NCT6687-R
License: GNU General Public License v2.0
Thanks to this module it shows anything at all than lm-sensors with the Kernel driver nct6683.
You can see the board and chip as well here: https://m.media-amazon.com/images/I/91MNlzN5O9L.AC_SL1500.jpg
Tested on Kernel 5.10.61 with a fanless system (so please don't wonder about the '0 rpm').
sensors-detect shows:
Trying family `VIA/Winbond/Nuvoton/Fintek'... Yes
Found unknown chip with ID 0xd592
Output with original Kernel driver:
Adapter: ISA adapter
Package id 0: +31.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +28.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +29.0°C (high = +80.0°C, crit = +100.0°C)
Core 2: +31.0°C (high = +80.0°C, crit = +100.0°C)
Core 3: +27.0°C (high = +80.0°C, crit = +100.0°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +27.8°C (crit = +119.0°C)
nvme-pci-0100
Adapter: PCI adapter
Composite: +45.9°C (low = -0.1°C, high = +84.8°C)
(crit = +94.8°C)
ERROR: Can't get value of subfeature temp2_min: I/O error
ERROR: Can't get value of subfeature temp2_max: I/O error
Sensor 1: +62.9°C (low = +0.0°C, high = +0.0°C)
Output now with this module:
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +31.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +28.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +29.0°C (high = +80.0°C, crit = +100.0°C)
Core 2: +31.0°C (high = +80.0°C, crit = +100.0°C)
Core 3: +28.0°C (high = +80.0°C, crit = +100.0°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +27.8°C (crit = +119.0°C)
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.24 V (min = +12.24 V, max = +12.24 V)
+5V: 5.07 V (min = +5.07 V, max = +5.07 V)
+3.3V: 3.35 V (min = +3.35 V, max = +3.35 V)
CPU Soc: 642.00 mV (min = +0.64 V, max = +0.64 V)
CPU Vcore: 604.00 mV (min = +0.60 V, max = +0.60 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 2.00 V (min = +2.00 V, max = +2.00 V)
Chipset: 948.00 mV (min = +0.95 V, max = +0.95 V)
CPU Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
Pump Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +31.0°C (low = +31.0°C, high = +31.0°C)
System: +46.0°C (low = +46.0°C, high = +47.0°C)
VRM MOS: +33.0°C (low = +33.0°C, high = +33.0°C)
PCH: +56.0°C (low = +56.0°C, high = +56.0°C)
CPU Socket: +32.0°C (low = +32.0°C, high = +32.0°C)
PCIe x1: +29.0°C (low = +29.0°C, high = +29.0°C)
M2_1: +23.0°C (low = +23.0°C, high = +23.0°C)
nvme-pci-0100
Adapter: PCI adapter
Composite: +47.9°C (low = -0.1°C, high = +84.8°C)
(crit = +94.8°C)
ERROR: Can't get value of subfeature temp2_min: I/O error
ERROR: Can't get value of subfeature temp2_max: I/O error
Sensor 1: +65.8°C (low = +0.0°C, high = +0.0°C)
You can compare here:https://linux-hardware.org/?probe=e939c51829&log=sensors
But it looks like he doesn't activate the Kernel module/driver nct6683. With Kernel 5.10.61 modprobe fails on my maschine:
modprobe nct6683
modprobe: ERROR: could not insert 'nct6683': No such device
But my system is running without sudo so I'd to adjust the makefile:
obj-m += nct6687.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
install: all
mkdir -p /lib/modules/$(shell uname -r)/kernel/drivers/hwmon/
cp nct6687.ko /lib/modules/$(shell uname -r)/kernel/drivers/hwmon/
depmod
modprobe nct6687
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
As you can see I'd removed the sudo prefix and added the line mkdir -p /lib/modules/$(shell uname -r)/kernel/drivers/hwmon/ which seems to be a good idea at all to me.
dmesg shows me now:
[ 4592.081335] nct6687: loading out-of-tree module taints kernel.
[ 4593.145782] nct6687: Found NCT6687D or compatible chip at 0x004e:0x0a20
[ 4593.147417] nct6687 nct6687.2592: NCT6687D EC firmware version 1.0 build 05/06/20
The Linux kernel got to support the nct6687d chip (in the nct6683 module) with 5.11 (now at -rc5)
torvalds/linux@daf4fed
What is the difference between this and that driver?
--snip--
dkms: running auto installation service for kernel 6.1.0-2-amd64:Deprecated feature: REMAKE_INITRD (/var/lib/dkms/nct6687d/1/source/dkms.conf)
Deprecated feature: REMAKE_INITRD (/var/lib/dkms/nct6687d/1/source/dkms.conf)
--snip--
Despite the warning the module works.
Regards
dmesg:
[ 5247.629366] nct6687: Found NCT6687D or compatible chip at 0x004e:0x0a20
[ 5247.634771] nct6687 nct6687.2592: NCT6687D EC firmware version 0.0 build 08/31/22
sensors:
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +41.9°C
Tccd1: +36.0°C
Tccd2: +35.4°C
nvme-pci-0100
Adapter: PCI adapter
Composite: +28.9°C (low = -5.2°C, high = +89.8°C)
(crit = +93.8°C)
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.07 V (min = +12.07 V, max = +12.10 V)
+5V: 5.08 V (min = +5.08 V, max = +5.09 V)
+3.3V: 3.34 V (min = +0.00 V, max = +3.34 V)
CPU Soc: 1.35 V (min = +1.35 V, max = +1.35 V)
CPU Vcore: 1.27 V (min = +0.78 V, max = +1.28 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.34 V (min = +1.34 V, max = +1.35 V)
Chipset: 276.00 mV (min = +0.23 V, max = +0.28 V)
CPU SA: 830.00 mV (min = +0.83 V, max = +0.83 V)
Voltage #2: 1.54 V (min = +1.54 V, max = +1.54 V)
AVCC3: 3.33 V (min = +3.33 V, max = +3.34 V)
AVSB: 3.34 V (min = +0.00 V, max = +3.34 V)
VBat: 2.04 V (min = +0.00 V, max = +2.04 V)
CPU Fan: 591 RPM (min = 591 RPM, max = 705 RPM)
Pump Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 733 RPM (min = 729 RPM, max = 734 RPM)
System Fan #4: 691 RPM (min = 684 RPM, max = 691 RPM)
System Fan #5: 707 RPM (min = 703 RPM, max = 713 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +41.0°C (low = +41.0°C, high = +49.0°C)
System: +35.5°C (low = +35.0°C, high = +35.5°C)
VRM MOS: +31.5°C (low = +31.5°C, high = +32.5°C)
PCH: +35.5°C (low = +35.0°C, high = +35.5°C)
CPU Socket: +31.0°C (low = +31.0°C, high = +31.5°C)
PCIe x1: +79.5°C (low = +78.5°C, high = +80.5°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
amdgpu-pci-0f00
Adapter: PCI adapter
vddgfx: 1.47 V
vddnb: 1.35 V
edge: +38.0°C
PPT: 61.03 W
Though it doesn't show the temperature of the M2_1 slot (which contains my SSD), and the board has two more M2 slots.
Values but VDDP/M2.1 make sense:
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.19 V (min = +12.19 V, max = +12.22 V)
+5V: 5.03 V (min = +5.03 V, max = +5.04 V)
+3.3V: 3.34 V (min = +0.00 V, max = +3.34 V)
CPU Soc: 1.15 V (min = +1.15 V, max = +1.15 V)
CPU Vcore: 558.00 mV (min = +0.24 V, max = +0.56 V)
CPU 1P8: 1.80 V (min = +1.80 V, max = +1.80 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.46 V (min = +1.46 V, max = +1.46 V)
Chipset: 958.00 mV (min = +0.96 V, max = +0.96 V)
CPU Fan: 1055 RPM (min = 1017 RPM, max = 1080 RPM)
Pump Fan: 2797 RPM (min = 2797 RPM, max = 2816 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 884 RPM (min = 879 RPM, max = 884 RPM)
System Fan #4: 858 RPM (min = 858 RPM, max = 865 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 854 RPM (min = 849 RPM, max = 854 RPM)
CPU: +39.0°C (low = +37.0°C, high = +45.0°C)
System: +35.0°C (low = +35.0°C, high = +35.0°C)
VRM MOS: +30.0°C (low = +30.0°C, high = +32.0°C)
PCH: +58.0°C (low = +58.0°C, high = +58.0°C)
CPU Socket: +30.0°C (low = +30.0°C, high = +32.0°C)
PCIe x1: +28.0°C (low = +28.0°C, high = +28.0°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
Good job! Any plans to mainline this?
DKMS make.log for nct6687d-1 for kernel 4.15.0-188-generic (x86_64)
Sat Aug 20 23:46:09 MSK 2022
make -C /lib/modules/4.15.0-188-generic/build M=/var/lib/dkms/nct6687d/1/build modules
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-188-generic'
CC [M] /var/lib/dkms/nct6687d/1/build/nct6687.o
/var/lib/dkms/nct6687d/1/build/nct6687.c: In function ‘nct6687_create_attr_group’:
/var/lib/dkms/nct6687d/1/build/nct6687.c:446:25: error: implicit declaration of function ‘array3_size’; did you mean ‘jhash_size’? [-Werror=implicit-function-declaration]
su = devm_kzalloc(dev, array3_size(repeat, count, sizeof(*su)), GFP_KERNEL);
^~~~~~~~~~~
jhash_size
cc1: some warnings being treated as errors
scripts/Makefile.build:340: recipe for target '/var/lib/dkms/nct6687d/1/build/nct6687.o' failed
make[2]: *** [/var/lib/dkms/nct6687d/1/build/nct6687.o] Error 1
Makefile:1590: recipe for target '_module_/var/lib/dkms/nct6687d/1/build' failed
make[1]: *** [_module_/var/lib/dkms/nct6687d/1/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-188-generic'
Makefile:24: recipe for target 'dkms/build' failed
make: *** [dkms/build] Error 2
Env info:
> cat /etc/lsb-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=19
DISTRIB_CODENAME=tara
DISTRIB_DESCRIPTION="Linux Mint 19 Tara"
> cat /etc/upstream-release/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"
> uname -r
4.15.0-188-generic
How hard would it be to add support for the 6686d?
As done here: https://lore.kernel.org/all/[email protected]/
T_SEN1, motherboard temperature sensor header does not appear to be detected.
amdgpu-pci-1700
Adapter: PCI adapter
vddgfx: 780.00 mV
vddnb: 1.30 V
edge: +49.0°C
PPT: 38.20 W
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.02 V (min = +12.00 V, max = +12.05 V)
+5V: 5.04 V (min = +5.03 V, max = +5.05 V)
+3.3V: 3.35 V (min = +3.35 V, max = +3.36 V)
CPU Soc: 1.31 V (min = +1.30 V, max = +1.31 V)
CPU Vcore: 1.04 V (min = +0.82 V, max = +1.44 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.34 V (min = +1.34 V, max = +1.35 V)
Chipset: 566.00 mV (min = +0.57 V, max = +0.60 V)
CPU SA: 542.00 mV (min = +0.54 V, max = +0.58 V)
Voltage #2: 1.53 V (min = +1.53 V, max = +1.53 V)
AVCC3: 3.37 V (min = +3.36 V, max = +3.38 V)
AVSB: 3.35 V (min = +3.35 V, max = +3.36 V)
VBat: 2.05 V (min = +2.05 V, max = +2.05 V)
Array Fan: 323 RPM (min = 321 RPM, max = 323 RPM)
CPU Temp: +58.0°C (low = +54.0°C, high = +61.0°C)
MB Temp: +55.5°C (low = +52.0°C, high = +55.5°C)
VRM MOS: +48.5°C (low = +43.0°C, high = +48.5°C)
PCH: +54.5°C (low = +51.5°C, high = +54.5°C)
CPU Socket: +42.5°C (low = +39.0°C, high = +42.5°C)
PCIe x1: +52.5°C (low = +49.5°C, high = +52.5°C)
M2_1: +35.0°C (low = +33.0°C, high = +35.0°C)
nvme-pci-0200
Adapter: PCI adapter
Composite: +51.9°C (low = -273.1°C, high = +81.8°C)
(crit = +84.8°C)
Sensor 1: +51.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +55.9°C (low = -273.1°C, high = +65261.8°C)
I have installed as a built-in kernel modules on many of my MSI B550 A Pro (Raptoreum/Avian/Monero Mining), it works perfectly but CPU VDDP is not working correctly.
movzx@Dominator:~$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +36.0°C
Tccd1: +33.5°C
Tccd2: +35.2°C
nvme-pci-0100
Adapter: PCI adapter
Composite: +27.9°C (low = -20.1°C, high = +74.8°C)
(crit = +79.8°C)
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.17 V (min = +12.00 V, max = +12.17 V)
+5V: 5.07 V (min = +5.05 V, max = +5.07 V)
+3.3V: 3.34 V (min = +0.00 V, max = +3.34 V)
CPU Soc: 1.06 V (min = +1.05 V, max = +1.07 V)
CPU Vcore: 990.00 mV (min = +0.92 V, max = +1.42 V)
CPU 1P8: 1.82 V (min = +1.82 V, max = +1.83 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.45 V (min = +1.45 V, max = +1.45 V)
Chipset: 882.00 mV (min = +0.88 V, max = +0.89 V)
CPU Fan: 1016 RPM (min = 1011 RPM, max = 1889 RPM)
Pump Fan: 2464 RPM (min = 2429 RPM, max = 2474 RPM)
System Fan #1: 935 RPM (min = 919 RPM, max = 1552 RPM)
System Fan #2: 912 RPM (min = 884 RPM, max = 1542 RPM)
System Fan #3: 677 RPM (min = 674 RPM, max = 1476 RPM)
System Fan #4: 645 RPM (min = 641 RPM, max = 1413 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +36.0°C (low = +34.0°C, high = +65.0°C)
System: +35.0°C (low = +34.0°C, high = +36.0°C)
VRM MOS: +39.0°C (low = +38.0°C, high = +46.0°C)
PCH: +37.0°C (low = +36.0°C, high = +38.0°C)
CPU Socket: +33.0°C (low = +32.0°C, high = +46.0°C)
PCIe x1: +32.0°C (low = +32.0°C, high = +33.0°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
nvme-pci-0700
Adapter: PCI adapter
Composite: +31.9°C (low = -20.1°C, high = +74.8°C)
(crit = +79.8°C)
movzx@Dominator:~$
Kernel 5.17.9
Linux Dominator 5.17.9-darkness #666 SMP Mon May 23 13:40:12 CET 2022 x86_64 x86_64 x86_64 GNU/Linux
Hi. Thanks for making this! I am having an issue with this however. When fancontrol has not been started the output of sensors
is this.
Motherboard:
Adapter: ISA adapter
+12V: 12.02 V (min = +11.95 V, max = +12.05 V)
+5V: 5.10 V (min = +5.08 V, max = +5.11 V)
+3.3V: 3.35 V (min = +0.00 V, max = +3.36 V)
CPU Soc: 788.00 mV (min = +0.76 V, max = +0.85 V)
CPU Vcore: 448.00 mV (min = +0.35 V, max = +1.42 V)
CPU 1P8: 1.82 V (min = +1.81 V, max = +1.82 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.20 V (min = +1.20 V, max = +1.20 V)
Chipset: 824.00 mV (min = +0.73 V, max = +0.83 V)
CPU Fan: 907 RPM (min = 835 RPM, max = 1916 RPM)
Pump Fan: 408 RPM (min = 397 RPM, max = 1355 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 9917 RPM (min = 0 RPM, max = 11214 RPM) ---->> NOTE THIS
System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +36.0°C (low = +34.0°C, high = +65.0°C)
System: +42.0°C (low = +41.0°C, high = +45.0°C)
VRM MOS: +36.0°C (low = +36.0°C, high = +41.0°C)
PCH: +39.0°C (low = +39.0°C, high = +43.0°C)
CPU Socket: +34.0°C (low = +34.0°C, high = +40.0°C)
PCIe x1: +36.0°C (low = +35.0°C, high = +41.0°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +36.9°C
nvme-pci-2b00
Adapter: PCI adapter
Composite: +40.9°C (low = -0.1°C, high = +86.8°C)
(crit = +89.8°C)
Sensor 1: +40.9°C (low = -273.1°C, high = +65261.8°C)
iwlwifi_1-virtual-0
Adapter: Virtual device
temp1: +52.0°C
amdgpu-pci-3000
Adapter: PCI adapter
vddgfx: 731.00 mV
vddnb: 799.00 mV
edge: +34.0°C
power1: 1000.00 uW
but as soon as I start it the fan noise gets considerably better, however, the fan is still running, while sensors
misreports it as being on 0 RPM (stopped)
Adapter: ISA adapter
+12V: 12.02 V (min = +11.95 V, max = +12.05 V)
+5V: 5.10 V (min = +5.08 V, max = +5.11 V)
+3.3V: 3.35 V (min = +0.00 V, max = +3.36 V)
CPU Soc: 794.00 mV (min = +0.76 V, max = +0.85 V)
CPU Vcore: 982.00 mV (min = +0.35 V, max = +1.42 V)
CPU 1P8: 1.82 V (min = +1.81 V, max = +1.82 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.20 V (min = +1.20 V, max = +1.20 V)
Chipset: 828.00 mV (min = +0.73 V, max = +0.83 V)
CPU Fan: 889 RPM (min = 835 RPM, max = 1916 RPM)
Pump Fan: 399 RPM (min = 396 RPM, max = 1355 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 11428 RPM) ---->> NOTE THIS
System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +35.0°C (low = +34.0°C, high = +65.0°C)
System: +42.0°C (low = +41.0°C, high = +45.0°C)
VRM MOS: +36.0°C (low = +36.0°C, high = +41.0°C)
PCH: +40.0°C (low = +39.0°C, high = +43.0°C)
CPU Socket: +34.0°C (low = +34.0°C, high = +40.0°C)
PCIe x1: +35.0°C (low = +35.0°C, high = +41.0°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +36.4°C
nvme-pci-2b00
Adapter: PCI adapter
Composite: +40.9°C (low = -0.1°C, high = +86.8°C)
(crit = +89.8°C)
Sensor 1: +40.9°C (low = -273.1°C, high = +65261.8°C)
iwlwifi_1-virtual-0
Adapter: Virtual device
temp1: +52.0°C
amdgpu-pci-3000
Adapter: PCI adapter
vddgfx: 881.00 mV
vddnb: 799.00 mV
edge: +34.0°C
power1: 2.00 mW
Thanks for implementing this module! Tested with Ubuntu 22.04 LTS.
Just wanted to leave a note for those who may have this motherboard and want to get Sensor data on Linux.
$ sudo sensors
nct6686-isa-0a20
Adapter: ISA adapter
+12V: 0.00 V (min = +0.00 V, max = +0.00 V)
+5V: 0.00 V (min = +0.00 V, max = +0.00 V)
+3.3V: 3.39 V (min = +0.00 V, max = +3.39 V)
CPU Soc: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU Vcore: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 0.00 V (min = +0.00 V, max = +0.00 V)
Chipset: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU SA: 0.00 V (min = +0.00 V, max = +0.00 V)
Voltage #2: 0.00 V (min = +0.00 V, max = +0.00 V)
AVCC3: 0.00 V (min = +0.00 V, max = +0.00 V)
AVSB: 3.39 V (min = +0.00 V, max = +3.39 V)
VBat: 1.81 V (min = +0.00 V, max = +1.81 V)
CPU Fan: 773 RPM (min = 646 RPM, max = 1435 RPM)
Pump Fan: 758 RPM (min = 718 RPM, max = 766 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 785 RPM (min = 771 RPM, max = 809 RPM)
System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +45.0°C (low = +45.0°C, high = +46.5°C)
System: +45.0°C (low = +45.0°C, high = +46.5°C)
VRM MOS: +36.0°C (low = +36.0°C, high = +38.0°C)
PCH: +48.0°C (low = +41.0°C, high = +71.0°C)
CPU Socket: +32.0°C (low = +25.0°C, high = +89.0°C)
PCIe x1: +62.0°C (low = +62.0°C, high = +62.0°C)
M2_1: +62.0°C (low = +62.0°C, high = +62.0°C)
The solution for nct6687d works when installing manually.
But doesn't stay in the lm-sensors or glances after restart.
Not sure how to force this into permanent solution.
@Fred78290 any ideas?
Hi all
I compiled the 5.13.8 kernel module nct6687.
Please fix ATX +5V
`nct6687-isa-0a20
Adapter: ISA adapter
ATX +12V: 11.95 V (min = +11.95 V, max = +11.98 V)
ATX +5V: 6.77 V (min = +6.76 V, max = +6.78 V)
ATX +3.3V: 3.36 V (min = +0.00 V, max = +3.37 V)
CPU Soc: 666.00 mV (min = +0.66 V, max = +1.32 V)
CPU Vcore: 680.00 mV (min = +0.68 V, max = +0.68 V)
DRAM: 1.33 V (min = +1.33 V, max = +2.67 V)
Chipset: 1.05 V (min = +1.05 V, max = +1.05 V)
PUMP_FAN1: 663 RPM (min = 659 RPM, max = 1398 RPM)
SYS_FAN1: 605 RPM (min = 594 RPM, max = 621 RPM)
SYS_FAN4: 821 RPM (min = 816 RPM, max = 842 RPM)
SYS_FAN6: 839 RPM (min = 817 RPM, max = 843 RPM)
CPU temp: +43.0°C (low = +42.0°C, high = +74.0°C)
System: +38.0°C (low = +38.0°C, high = +40.0°C)
VRM MOS: +39.0°C (low = +39.0°C, high = +44.0°C)
PCH CHIP: +46.0°C (low = +46.0°C, high = +46.0°C)
CPU Socket: +41.0°C (low = +40.0°C, high = +49.0°C)
PCIe x1: +23.0°C (low = +23.0°C, high = +23.0°C)
M2_1: +2.0°C (low = +2.0°C, high = +3.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +43.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +43.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +42.0°C (high = +100.0°C, crit = +100.0°C)
Core 2: +43.0°C (high = +100.0°C, crit = +100.0°C)
Core 3: +41.0°C (high = +100.0°C, crit = +100.0°C)
Core 4: +41.0°C (high = +100.0°C, crit = +100.0°C)
Core 5: +41.0°C (high = +100.0°C, crit = +100.0°C)
`
Thanks for the driver.
Hello,
Thank you for implementing this module. My mainboard (MSI PRO Z690-A DDR4) was flashed with Dasharo (coreboot+UEFI) v1.1.1 which may affect values of readings reported below.
Mainboard: PRO Z690-A DDR4(MS-7D25) CPU Model: 12th Gen Intel(R) Core(TM) i5-12600K
$ uname -rms Linux 6.2.11 x86_64
sensors nct6687-isa-0a20 | xclip -sel c
nct6687-isa-0a20 Adapter: ISA adapter +12V: 12.17 V (min = +12.14 V, max = +12.17 V) +5V: 5.06 V (min = +5.05 V, max = +5.06 V) +3.3V: 3.36 V (min = +0.00 V, max = +3.36 V) CPU Soc: 522.00 mV (min = +0.35 V, max = +0.71 V) CPU Vcore: 608.00 mV (min = +0.61 V, max = +0.61 V) CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V) CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V) DRAM: 1.09 V (min = +0.70 V, max = +1.43 V) Chipset: 920.00 mV (min = +0.91 V, max = +0.92 V) CPU SA: 908.00 mV (min = +0.91 V, max = +0.91 V) Voltage #2: 1.53 V (min = +1.52 V, max = +1.53 V) AVCC3: 0.00 V (min = +0.00 V, max = +0.00 V) AVSB: 3.36 V (min = +0.00 V, max = +3.36 V) VBat: 1.06 V (min = +0.00 V, max = +1.06 V) CPU Fan: 1260 RPM (min = 1224 RPM, max = 1295 RPM) Pump Fan: 0 RPM (min = 0 RPM, max = 0 RPM) System Fan #1: 898 RPM (min = 731 RPM, max = 909 RPM) System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM) System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM) System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM) System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM) System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM) CPU: +0.0°C (low = +0.0°C, high = +0.0°C) System: +29.0°C (low = +28.0°C, high = +31.0°C) VRM MOS: +21.5°C (low = +21.0°C, high = +24.0°C) PCH: +0.0°C (low = +0.0°C, high = +0.0°C) CPU Socket: +21.5°C (low = +21.5°C, high = +24.0°C) PCIe x1: +0.0°C (low = +0.0°C, high = +0.0°C) M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
coretemp-isa-0000 | xclip -sel c
Adapter: ISA adapter Package id 0: +20.0°C (high = +80.0°C, crit = +100.0°C) Core 0: +15.0°C (high = +80.0°C, crit = +100.0°C) Core 4: +16.0°C (high = +80.0°C, crit = +100.0°C) Core 8: +17.0°C (high = +80.0°C, crit = +100.0°C) Core 12: +14.0°C (high = +80.0°C, crit = +100.0°C) Core 16: +17.0°C (high = +80.0°C, crit = +100.0°C) Core 20: +17.0°C (high = +80.0°C, crit = +100.0°C) Core 28: +20.0°C (high = +80.0°C, crit = +100.0°C) Core 29: +20.0°C (high = +80.0°C, crit = +100.0°C) Core 30: +18.0°C (high = +80.0°C, crit = +100.0°C) Core 31: +18.0°C (high = +80.0°C, crit = +100.0°C)
Latest commit c206346 fails to build - missing enum kinds nct6686d. Added the type to the enum kinds, which compiles, but the new module causes a general protection fault. A couple lines from logs:
kernel: nct6687 nct6687.2592: (null) EC firmware version 1.0 build 09/09/21
kernel: general protection fault, probably for non-canonical address 0x66006c61756e616d: 0000 [#1] PREEMPT SMP NOPTI
kernel: CPU: 4 PID: 3061 Comm: modprobe Tainted: P OE 6.1.7-arch1-1 #1 a2d6f1dcaa775aaae1f25aaf758ae968e3493665
kernel: Hardware name: Micro-Star International Co., Ltd. MS-7D32/MAG Z690 TOMAHAWK WIFI (MS-7D32), BIOS H.90 11/10/2022
Commit c38e309 works without issue.
I hope you update the module for Linux 5.11
Thank you.
Hi,
thanks for the driver, it works very well on my MSI B550 Gaming Carbon board.
However, I noticed that one temperature is missing and that is the temperature for the T_SEN1 input, which can be used to monitor e.g. the case temperature or the water temperature in case of water cooling.
I have installed a thermister to the correct pin and in the BIOS I get a proper reading for the sensor (about 30°C).
I already tried increasing the number of temperatures being read in the driver to 8 (which is the maximum as far as I understood), but that gives me a 0°C reading, just like the M2 one.
Do you have an idea how to fix this or how to find out whether the thermister is connected to this controller?
I didn't see any other controller on the mainboard it could be connected to but it is of course possible that I missed something.
Hello
I have installed it on my desktop with mainboard MSI B550M Mortar.
Sensors are wisible.
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.00 V (min = +12.00 V, max = +12.00 V)
+5V: 4.96 V (min = +4.96 V, max = +4.96 V)
+3.3V: 3.38 V (min = +0.00 V, max = +3.38 V)
CPU Soc: 1.10 V (min = +1.10 V, max = +1.10 V)
CPU Vcore: 766.00 mV (min = +0.72 V, max = +0.77 V)
CPU 1P8: 1.84 V (min = +1.84 V, max = +1.84 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.35 V (min = +1.35 V, max = +1.35 V)
Chipset: 938.00 mV (min = +0.94 V, max = +0.94 V)
CPU Fan: 704 RPM (min = 704 RPM, max = 718 RPM)
Pump Fan: 326 RPM (min = 326 RPM, max = 338 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 599 RPM (min = 599 RPM, max = 603 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +38.0°C (low = +38.0°C, high = +39.0°C)
System: +28.0°C (low = +28.0°C, high = +28.0°C)
VRM MOS: +29.0°C (low = +29.0°C, high = +29.0°C)
PCH: +27.0°C (low = +27.0°C, high = +27.0°C)
CPU Socket: +31.0°C (low = +31.0°C, high = +31.0°C)
PCIe x1: +29.0°C (low = +29.0°C, high = +29.0°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
The only issue in my eyes is M2_1 Parameter.
I have Samsung 970 there.
nvme-pci-0100
Adapter: PCI adapter
Composite: +31.9°C (low = -273.1°C, high = +80.8°C)
(crit = +80.8°C)
Sensor 1: +31.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +33.9°C (low = -273.1°C, high = +65261.8°C)
Kernel
uname -a
Linux unim95-PC 5.13.0-35-generic #40~20.04.1-Ubuntu SMP Mon Mar 7 09:18:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Hello
I am on ubuntu 21.04.
The installation goes well and the probe values are good after this.
after a reboot it does not work anymore I have to redo the installation.
thank you for your solutions
I installed the nct6687d kernel module last night and it was working beautifully. But when I booted up my PC this afternoon, the nct6687d kernel module was not functioning. Also, around the time that I shut down my PC, KDE Plasma started failing, with the background and taskbar disappearing.
this si my problem with this module:
dram voltage not reading fine
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.19 V (min = +12.19 V, max = +12.22 V)
+5V: 5.03 V (min = +5.03 V, max = +5.04 V)
+3.3V: 3.34 V (min = +3.34 V, max = +3.34 V)
CPU Soc: 1.11 V (min = +1.11 V, max = +1.11 V)
CPU Vcore: 674.00 mV (min = +0.67 V, max = +0.68 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 2.24 V (min = +2.24 V, max = +2.24 V)
Chipset: 994.00 mV (min = +0.99 V, max = +0.99 V)
CPU Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
Pump Fan: 4411 RPM (min = 4411 RPM, max = 4687 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +27.0°C (low = +27.0°C, high = +28.0°C)
System: +25.0°C (low = +25.0°C, high = +26.0°C)
VRM MOS: +30.0°C (low = +30.0°C, high = +30.0°C)
PCH: +21.0°C (low = +21.0°C, high = +21.0°C)
CPU Socket: +25.0°C (low = +25.0°C, high = +25.0°C)
PCIe x1: +26.0°C (low = +26.0°C, high = +26.0°C)
M2_1: +26.0°C (low = +26.0°C, high = +26.0°C)
Hello,
I noticed my fan speeds and voltages were not working recently. Now when I attempt to do sudo modprobe nct6687
I get modprobe: ERROR: could not insert 'nct6687': Exec format error
.
I tried to do make install
again, but no luck.
[ 1.536604] nct6687: Found NCT6687D or compatible chip at 0x004e:0x0a20
[ 1.539617] nct6687 nct6687.2592: NCT6687D EC firmware version 0.0 build 08/31/22
nvme-pci-0200
Adapter: PCI adapter
Composite: +31.9 C (low = -0.1 C, high = +117.8 C)
(crit = +149.8 C)
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.02 V (min = +12.00 V, max = +12.05 V)
+5V: 5.02 V (min = +5.01 V, max = +5.03 V)
+3.3V: 3.36 V (min = +0.00 V, max = +3.37 V)
CPU Soc: 1.02 V (min = +1.02 V, max = +1.02 V)
CPU Vcore: 1.10 V (min = +0.46 V, max = +1.10 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.10 V (min = +1.10 V, max = +1.10 V)
Chipset: 322.00 mV (min = +0.18 V, max = +0.34 V)
CPU SA: 716.00 mV (min = +0.72 V, max = +0.90 V)
Voltage #2: 1.52 V (min = +1.52 V, max = +1.52 V)
AVCC3: 3.30 V (min = +3.30 V, max = +3.31 V)
AVSB: 3.36 V (min = +0.00 V, max = +3.36 V)
VBat: 2.05 V (min = +0.00 V, max = +2.05 V)
CPU Fan: 1097 RPM (min = 1061 RPM, max = 1109 RPM)
Pump Fan: 1655 RPM (min = 1643 RPM, max = 1671 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 1173 RPM (min = 1120 RPM, max = 1223 RPM)
System Fan #3: 1182 RPM (min = 1110 RPM, max = 1183 RPM)
System Fan #4: 1113 RPM (min = 1039 RPM, max = 1119 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +37.0 C (low = +34.0 C, high = +39.0 C)
System: +41.5 C (low = +30.0 C, high = +41.5 C)
VRM MOS: +36.5 C (low = +25.0 C, high = +36.5 C)
PCH: +42.0 C (low = +32.0 C, high = +42.0 C)
CPU Socket: +30.0 C (low = +24.0 C, high = +30.0 C)
PCIe x1: +78.0 C (low = +76.5 C, high = +80.0 C)
M2_1: +0.0 C (low = +0.0 C, high = +0.0 C)
k10temp-pci-00c3
Adapter: PCI adapter
Tctl: +37.6 C
Tccd1: +29.5 C
Tccd2: +29.8 C
nvme-pci-0500
Adapter: PCI adapter
Composite: +33.9 C (low = -0.1 C, high = +77.8 C)
(crit = +80.8 C)
Sensor 1: +33.9 C (low = -273.1 C, high = +65261.8 C)
Sensor 2: +37.9 C (low = -273.1 C, high = +65261.8 C)
Only one missing is M2_1. Any ideas or suggestions as to how I can fix it (I understand you may not have the board).
Second thing, I would like to add this to the upstream linux kernel with your permission.
Hey
After a reboot, initially sensors
was showing the old output (no fans detected). After running make install
on this project again, sensors showing full output.
What does one need to do to make this permanent?
Also, any issue when upgrading Ubuntu or kernel in the future?
Conflict with kernel nct6683, needs to rmmod nct6683
Does the module work with the new 6.0 kernel?
Hi,
I'd created a Kernel patch for this module. Tested successfully on Kernel version 5.10.76.
And here is new version for Kernel-5.15.32-r1
In nct6687_update_fans
you have for (i = 0; i < ARRAY_SIZE(data->rpm); i++)
, but size of data->rpm
is always 3 (u16 rpm[3][NCT6687_NUM_REG_FAN];
).
Also, maybe it's good idea to add debug print that is already there for temperature and voltage update functions to the fan update function as well?
Hi,
I've successfully built the module with my MSI MAG Tomahawk Z790 Wifi DDR4 motherboard and seems to work fine, although there are a few differences with the coretemp-isa-0000 values reported by lm-sensor (my running kernel is 6.0.16). What I'd like to ask is if you have tried to upstream this driver to the official Linux kernel project. The author of the nct6683 module is Guenter Roeck [email protected] as per the hwmon documentation in Linux 6.0.
What do you think?
This is the output from my MSI B460M PRO VDH. It seems to work * quite * well, the temperatures are in line with those from the BIOS and coretemp module, but some values are clearly out of order: RAM and NVME, for example, i don't have an m.2 ssd!
sensors-detect does not recognize the chip even after installing the module
---snip---
Trying family `VIA/Winbond/Nuvoton/Fintek'... Yes
Found unknown chip with ID 0xd592
---snip
dmesg | grep nct6687
[ 2.726177] nct6687: loading out-of-tree module taints kernel.
[ 2.726205] nct6687: module verification failed: signature and/or required key missing - tainting kernel
[ 3.758741] nct6687: Found NCT6687D or compatible chip at 0x004e:0x0a20
[ 3.760666] nct6687 nct6687.2592: NCT6687D EC firmware version 1.0 build 05/06/20
sensors
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.10 V (min = +12.05 V, max = +12.14 V)
+5V: 5.00 V (min = +4.99 V, max = +5.02 V)
+3.3V: 3.32 V (min = +0.00 V, max = +3.32 V)
CPU Soc: 742.00 mV (min = +0.74 V, max = +1.16 V)
CPU Vcore: 674.00 mV (min = +0.67 V, max = +0.68 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 2.00 V (min = +2.00 V, max = +2.00 V)
Chipset: 936.00 mV (min = +0.93 V, max = +0.94 V)
CPU SA: 1.05 V (min = +1.04 V, max = +1.05 V)
Voltage #2: 1.52 V (min = +1.51 V, max = +1.52 V)
AVCC3: 3.37 V (min = +3.35 V, max = +3.37 V)
AVSB: 3.32 V (min = +0.00 V, max = +3.32 V)
VBat: 996.00 mV (min = +0.00 V, max = +1.00 V)
CPU Fan: 435 RPM (min = 420 RPM, max = 615 RPM)
Pump Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #1: 936 RPM (min = 665 RPM, max = 942 RPM)
System Fan #2: 402 RPM (min = 398 RPM, max = 414 RPM)
System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +25.5°C (low = +23.5°C, high = +49.0°C)
System: +30.5°C (low = +25.0°C, high = +31.0°C)
VRM MOS: +28.0°C (low = +24.5°C, high = +30.5°C)
PCH: +40.0°C (low = +25.0°C, high = +41.0°C)
CPU Socket: +27.0°C (low = +23.0°C, high = +28.0°C)
PCIe x1: +29.5°C (low = +29.0°C, high = +30.0°C)
M2_1: +23.5°C (low = +23.0°C, high = +23.5°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +27.8°C (crit = +119.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +28.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +25.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +28.0°C (high = +80.0°C, crit = +100.0°C)
Core 2: +26.0°C (high = +80.0°C, crit = +100.0°C)
Core 3: +25.0°C (high = +80.0°C, crit = +100.0°C)
Regards and thanks for your work.
Is it possible have the value for CPU Vcore
to get reported out in volts with three decimals? Currently, it reads out in mV with two decimals when under 1 volt but changes to volts with two decimals when >1 volt. Makes logging the output difficult with mixed units.
Example:
CPU Vcore: 1.23 V (min = +0.22 V, max = +1.41 V)
and
CPU Vcore: 266.00 mV (min = +0.22 V, max = +1.41 V)
I am on Kubuntu 21.04 with latest available kernel 5.11.0-18-generic and my motherboard is MSI mag b550m bazooka. I installed it and it worked for me, all fans were detected.
Then today it doesn't work and when I try to install it again it gave me error about flex
not found and bison
not found so I installed these.
Now the error its giving me is:
$ sudo make install
make -C /lib/modules/5.11.0-18-generic/build M= modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.0-18-generic'
SYNC include/config/auto.conf.cmd
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTLD scripts/kconfig/conf
make[2]: *** No rule to make target 'arch/x86/tools/relocs_32.c', needed by 'arch/x86/tools/relocs_32.o'. Stop.
make[1]: *** [arch/x86/Makefile:210: archscripts] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.11.0-18-generic'
make: *** [Makefile:4: all] Error 2
and when I don't use sudo
$ make install
make -C /lib/modules/5.11.0-18-generic/build M=/home/user/nct6687d modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.0-18-generic'
CC [M] /home/user/nct6687d/nct6687.o
MODPOST /home/user/nct6687d/Module.symvers
CC [M] /home/user/nct6687d/nct6687.mod.o
LD [M] /home/user/nct6687d/nct6687.ko
make[1]: Leaving directory '/usr/src/linux-headers-5.11.0-18-generic'
sudo cp nct6687.ko /lib/modules/5.11.0-18-generic/kernel/drivers/hwmon/
sudo depmod
sudo modprobe nct6687
modprobe: ERROR: could not insert 'nct6687': Exec format error
make: *** [Makefile:9: install] Error 1
The system may have updated the kernel version or something after it worked but I don't know how to make it work again, any help is appreciated.
OS: Arch, current updates
Installation via AUR package.
The problem can be reproduced by several other users.
==> dkms install --no-depmod nct6687d-dkms-git/r30.4f00ace -k 5.16.10-arch1-1
Error! Build of nct6687.ko failed for: 5.16.10-arch1-1 (x86_64)
Make sure the name of the generated module is correct and at the root of the
build directory, or consult make.log in the build directory
/var/lib/dkms/nct6687d-dkms-git/r30.4f00ace/build for more information.
==> WARNING: `dkms install --no-depmod nct6687d-dkms-git/r30.4f00ace -k 5.16.10-arch1-1' exited 7
Might be caused by 08eccc5
Thanks for your effort working on this!
Confirmation this module works and I can see the PWM system fans using sensors
with my motherboard MSI B560M PRO-VDH and an Intel Core i3-10105 CPU.
I can't verify whether the values are correct or not, but they look right.
It works with Proxmox' kernel:
root@pve:~# uname -a
Linux pve 5.13.19-2-pve #1 SMP PVE 5.13.19-4 (Mon, 29 Nov 2021 12:10:09 +0100) x86_64 GNU/Linux
Hello
Is this possible this module bring something more with this MB ?
Not a linux kernel developer and very lost. How do I overcome this error? Thanks
Nvm. this is just way too complicated. I'll just wait for the official patch if there is one.
$ sensors
output:
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.34 V (min = +12.34 V, max = +12.34 V)
+5V: 0.00 V (min = +0.00 V, max = +0.00 V)
+3.3V: 3.37 V (min = +0.00 V, max = +3.37 V)
CPU Soc: 650.00 mV (min = +0.65 V, max = +0.65 V)
CPU Vcore: 602.00 mV (min = +0.60 V, max = +0.60 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.30 V (min = +1.30 V, max = +1.30 V)
Chipset: 960.00 mV (min = +0.96 V, max = +0.96 V)
CPU SA: 1.06 V (min = +1.05 V, max = +1.06 V)
Voltage #2: 1.54 V (min = +1.53 V, max = +1.54 V)
AVCC3: 3.39 V (min = +3.39 V, max = +3.39 V)
AVSB: 3.37 V (min = +0.00 V, max = +3.37 V)
VBat: 1.06 V (min = +0.00 V, max = +1.06 V)
CPU Fan: 665 RPM (min = 664 RPM, max = 665 RPM)
Pump Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #1: 856 RPM (min = 856 RPM, max = 857 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +25.5°C (low = +25.5°C, high = +26.0°C)
System: +32.5°C (low = +32.0°C, high = +32.5°C)
VRM MOS: +30.5°C (low = +30.0°C, high = +30.5°C)
PCH: +42.0°C (low = +42.0°C, high = +42.0°C)
CPU Socket: +27.0°C (low = +27.0°C, high = +27.0°C)
PCIe x1: +28.5°C (low = +28.0°C, high = +28.5°C)
M2_1: +23.0°C (low = +23.0°C, high = +23.0°C)
uname -a
Linux NNB01 4.15.0-171-generic #180-Ubuntu SMP Wed Mar 2 17:25:05 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
linux-headers-4.15.0-171-generic
fxbox/driver/nct6687/4.15.0-171-generic/nct6687.c: In function ‘nct6687_create_attr_group’:
/fxbox/driver/nct6687/4.15.0-171-generic/nct6687.c:394:25: error: implicit declaration of function ‘array3_size’; did you mean ‘jhash_size’? [-Werror=implicit-function-declaration]
su = devm_kzalloc(dev, array3_size(repeat, count, sizeof(*su)), GFP_KERNEL);
^~~~~~~~~~~
jhash_size
cc1: some warnings being treated as errors
Works like a charm, temperatures, fan control, voltages.
lm-sensors sensors output:
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.05 V (min = +12.00 V, max = +12.05 V)
+5V: 5.01 V (min = +4.97 V, max = +5.03 V)
+3.3V: 3.32 V (min = +0.00 V, max = +3.32 V)
CPU Soc: 754.00 mV (min = +0.74 V, max = +1.34 V)
CPU Vcore: 652.00 mV (min = +0.65 V, max = +0.65 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.50 V (min = +1.49 V, max = +2.74 V)
Chipset: 1.24 V (min = +1.24 V, max = +1.25 V)
CPU SA: 900.00 mV (min = +0.90 V, max = +0.91 V)
Voltage #2: 1.52 V (min = +1.50 V, max = +1.52 V)
AVCC3: 3.32 V (min = +3.28 V, max = +3.35 V)
AVSB: 3.32 V (min = +0.00 V, max = +3.32 V)
VBat: 1.06 V (min = +0.00 V, max = +1.06 V)
CPU Fan: 802 RPM (min = 0 RPM, max = 1606 RPM)
Pump Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #1: 2489 RPM (min = 0 RPM, max = 12765 RPM)
System Fan #2: 656 RPM (min = 0 RPM, max = 2334 RPM)
System Fan #3: 0 RPM (min = 0 RPM, max = 10176 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 1286 RPM)
System Fan #6: 963 RPM (min = 0 RPM, max = 985 RPM)
CPU: +32.5°C (low = +28.0°C, high = +83.5°C)
System: +31.0°C (low = +30.0°C, high = +34.5°C)
VRM MOS: +31.5°C (low = +27.5°C, high = +32.5°C)
PCH: +46.0°C (low = +45.0°C, high = +50.0°C)
CPU Socket: +31.5°C (low = +28.0°C, high = +33.5°C)
PCIe x1: +13.5°C (low = +13.0°C, high = +14.0°C)
M2_1: +31.5°C (low = +31.0°C, high = +32.0°C)
Hello,
I just updated my Kernel on Endeavour OS, however the DKMS install of your module did not work.
Here is the output of dkms when it updated
Here is the Build Log
Seems to work fine, it's reporting temps better than kernel driver nct6683d
sensors output
sensors
nct6687-isa-0a20
Adapter: ISA adapter
+12V: 12.22 V (min = +12.22 V, max = +12.29 V)
+5V: 5.07 V (min = +5.06 V, max = +5.07 V)
+3.3V: 3.32 V (min = +0.00 V, max = +3.33 V)
CPU Soc: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU Vcore: 694.00 mV (min = +0.69 V, max = +0.86 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 0.00 V (min = +0.00 V, max = +0.00 V)
Chipset: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
Pump Fan: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #1: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 600 RPM (min = 600 RPM, max = 609 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 512 RPM (min = 500 RPM, max = 520 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +34.0°C (low = +34.0°C, high = +38.0°C)
System: +40.0°C (low = +39.0°C, high = +41.0°C)
VRM MOS: +34.0°C (low = +34.0°C, high = +36.0°C)
PCH: +0.0°C (low = +0.0°C, high = +0.0°C)
CPU Socket: +34.0°C (low = +34.0°C, high = +34.0°C)
PCIe x1: +0.0°C (low = +0.0°C, high = +0.0°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
dmesg output
[ 15.955251] nct6687: Found NCT6687D or compatible chip at 0x004e:0x0a20
[ 15.956923] nct6687 nct6687.2592: NCT6687D EC firmware version 1.0 build 05/06/20
Adapter: ISA adapter
+12V: 12.07 V (min = +12.05 V, max = +12.07 V)
+5V: 4.99 V (min = +4.98 V, max = +5.00 V)
+3.3V: 3.35 V (min = +0.00 V, max = +3.35 V)
CPU Soc: 1.35 V (min = +1.35 V, max = +1.36 V)
CPU Vcore: 662.00 mV (min = +0.64 V, max = +1.28 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.35 V (min = +1.35 V, max = +1.35 V)
Chipset: 204.00 mV (min = +0.20 V, max = +0.25 V)
CPU SA: 830.00 mV (min = +0.83 V, max = +0.83 V)
Voltage #2: 1.52 V (min = +1.52 V, max = +1.52 V)
AVCC3: 3.30 V (min = +3.28 V, max = +3.30 V)
AVSB: 3.35 V (min = +0.00 V, max = +3.35 V)
VBat: 2.04 V (min = +0.00 V, max = +2.04 V)
CPU Fan: 740 RPM (min = 720 RPM, max = 881 RPM)
Pump Fan: 846 RPM (min = 843 RPM, max = 955 RPM)
System Fan #1: 881 RPM (min = 877 RPM, max = 992 RPM)
System Fan #2: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #3: 867 RPM (min = 860 RPM, max = 966 RPM)
System Fan #4: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #5: 0 RPM (min = 0 RPM, max = 0 RPM)
System Fan #6: 0 RPM (min = 0 RPM, max = 0 RPM)
CPU: +38.0°C (low = +37.0°C, high = +57.0°C)
System: +33.5°C (low = +33.5°C, high = +34.0°C)
VRM MOS: +31.0°C (low = +30.5°C, high = +32.0°C)
PCH: +35.5°C (low = +35.0°C, high = +35.5°C)
CPU Socket: +29.0°C (low = +29.0°C, high = +29.5°C)
PCIe x1: +78.5°C (low = +78.0°C, high = +81.5°C)
M2_1: +0.0°C (low = +0.0°C, high = +0.0°C)
PCIe x1 seems a little high but aside from that it works
After every update i could compile again and it always works after that. But since the latest updates i can't compile anymore.
It gives me this error:
modprobe: ERROR: could not insert 'nct6687': Exec format error
I updated my ubuntu 22.04 and nct6687 is no long working.
Installing after building from source:
sudo modprobe nct6687
modprobe: ERROR: could not insert 'nct6687': Exec format error
make: *** [Makefile:16: install] Error 1
uname -a
Linux 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
dmesg:
[ 1.746460] nct6687: disagrees about version of symbol module_layout
[ 69.016523] nct6687: disagrees about version of symbol module_layout
Only issue i have is the report on 5V that is off by 2 volts!
+12V: 12.10 V (min = +12.07 V, max = +12.12 V)
+5V: 6.93 V (min = +6.92 V, max = +6.95 V)
+3.3V: 3.35 V (min = +3.34 V, max = +3.35 V)
CPU Soc: 772.00 mV (min = +0.64 V, max = +1.33 V)
CPU Vcore: 674.00 mV (min = +0.67 V, max = +0.68 V)
CPU 1P8: 0.00 V (min = +0.00 V, max = +0.00 V)
CPU VDDP: 0.00 V (min = +0.00 V, max = +0.00 V)
DRAM: 1.77 V (min = +1.28 V, max = +2.66 V)
Chipset: 1.04 V (min = +1.04 V, max = +1.04 V)
Fancontrol works like a charm on Linux Mint 20.3 with kernel 5.13
Hello,
I had it running for a short time, worked perfectly, but suddenly it is not recognized anymore. I tried everything from rebuilding inside a toolbox, installing the rpms via rpm-ostree, nothing seems to work anymore.
Board is a MSI Pro b660m-a
Any help is appreciated.
Thanks and regards
edit: works with terminalcommand
modprobe nct6687 force=1
after boot
I couldn't find your email address so I thought I'd report some positive testing results via an issue. No problems, just good status.
I'm running on Ubuntu 20.04 with kernel 5.4.0-56-generic on an MSI MPG B550i Gaming Edge motherboard which uses the NCT6687-R I/O controller. This machine is a file server and I have a script that monitors my disk drives and CPU temperatures and then generates a temperature value suitable for consumption for the Linux 'fancontrol' utility.
Fan control is working fine both with my script and during the calibration by the 'pwmconfig' utility.
Thank you for developing kernel module and please know that at least one person has used the fan control PWM successfully.
So good news! The module works.
Bad news is that the external temperature probe doesn't seem to -- despite showing up in the BIOS. Six temperatures show up in BIOS:
However, seven show up on this driver and only five give valid results:
The other two are:
What info can I provide to assist?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.