KUSONEKOの見る世界

CentOS 7.3 N3150I-C で lm_sensors を使う


CentOS 7.3 N3150I-C に lm_sensors をインストールするだけでは、温度やFANの回転速度が表示できなかったため、メモを残しておきます。

lm_sensors のインストール、動作確認

[root@server ~]# yum -y install lm_sensors

[root@server ~]# sensors-detect --auto

[root@server ~]# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +26.8°C  (crit = +95.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +32.0°C  (high = +90.0°C, crit = +90.0°C)
Core 1:       +33.0°C  (high = +90.0°C, crit = +90.0°C)
Core 2:       +38.0°C  (high = +90.0°C, crit = +90.0°C)
Core 3:       +37.0°C  (high = +90.0°C, crit = +90.0°C)

↑その他の温度やFANの回転速度が表示されていません。

nct6775 の更新

調べてみるとマザーボードには、Nuvoton社のNCT6792Dが乗っていて、それがセンサーらしいことが分かった。

NCT6792Dのドライバが nct6775 らしいでの、モジュールをロードしてみるが、
デバイス見つからないと出る。

[root@server ~]# modprobe nct6775
modprobe: ERROR: could not insert 'nct6775': No such device


とりあえず、モジュールを更新してみることにした。
元々が↓。

[root@server ~]# modinfo nct6775
filename:       /lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/drivers/hwmon/nct6775.ko
license:        GPL
description:    NCT6775F/NCT6776F/NCT6779D driver
author:         Guenter Roeck <linux@roeck-us.net>
rhelversion:    7.3
srcversion:     DC9AE98476BE1C719A6B3AA
depends:        hwmon-vid
intree:         Y
vermagic:       3.10.0-514.2.2.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        54:CE:18:D5:47:AB:70:33:F7:FE:23:16:22:13:74:77:98:1A:31:81
sig_hashalgo:   sha256
parm:           force_id:Override the detected device ID (ushort)
parm:           fan_debounce:Enable debouncing for fan RPM signal (ushort)



[root@server ~]# git clone https://github.com/groeck/nct6775.git

[root@server ~]# cd nct6775/

viで以下を書き換える

[root@server nct6775]# vi Makefile
KERNEL_BUILD    := /usr/src/linux-headers-$(TARGET)

KERNEL_BUILD    := /usr/src/kernels/$(TARGET)


[root@server nct6775]# make

makeが問題なければ、nct6775.ko をバックアップをしておく。

[root@server ~]# cp /lib/modules/$(uname -r)/kernel/drivers/hwmon/nct6775.ko /root/

※CentOS 7.4 と 7.5 はこちら
[root@server ~]# mv /lib/modules/$(uname -r)/kernel/drivers/hwmon/nct6775.ko.xz /root/

[root@server nct6775]# make install

[root@server nct6775]# depmod
[root@server nct6775]# modprobe nct6775
[root@server nct6775]#

↑エラー無し。


↓更新後、表示が変わっています。

[root@server nct6775]# modinfo nct6775
filename:       /lib/modules/3.10.0-514.2.2.el7.x86_64/kernel/drivers/hwmon/nct6775.ko
license:        GPL
description:    Driver for NCT6775F and compatible chips
author:         Guenter Roeck <linux@roeck-us.net>
rhelversion:    7.3
srcversion:     6F04AC30B967DE873D094ED
depends:        hwmon-vid
vermagic:       3.10.0-514.2.2.el7.x86_64 SMP mod_unload modversions
parm:           force_id:Override the detected device ID (ushort)
parm:           fan_debounce:Enable debouncing for fan RPM signal (ushort)

lm_sensors の確認

[root@server ~]# sensors-detect --auto

[root@server ~]# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +26.8°C  (crit = +95.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +34.0°C  (high = +90.0°C, crit = +90.0°C)
Core 1:       +35.0°C  (high = +90.0°C, crit = +90.0°C)
Core 2:       +40.0°C  (high = +90.0°C, crit = +90.0°C)
Core 3:       +38.0°C  (high = +90.0°C, crit = +90.0°C)

nct6792-isa-0290
Adapter: ISA adapter
in0:                    +0.33 V  (min =  +0.00 V, max =  +1.74 V)
in1:                    +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in2:                    +3.52 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in3:                    +3.52 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                    +1.00 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                    +2.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                    +0.90 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in7:                    +3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in8:                    +3.25 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in9:                    +0.00 V  (min =  +0.00 V, max =  +0.00 V)
in10:                   +0.74 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                   +0.78 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in12:                   +1.00 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                   +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                   +0.42 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                     0 RPM  (min =    0 RPM)
fan2:                   473 RPM  (min =    0 RPM)
fan3:                     0 RPM  (min =    0 RPM)
fan4:                     0 RPM  (min =    0 RPM)
fan5:                     0 RPM  (min =    0 RPM)
fan6:                     0 RPM
SYSTIN:                 +31.0°C  (high = +125.0°C, hyst = +120.0°C)  sensor = thermistor
CPUTIN:                 +36.0°C    sensor = thermistor
AUXTIN0:                +31.5°C    sensor = thermistor
AUXTIN1:                +40.0°C  (high = +125.0°C, hyst = +120.0°C)  sensor = thermistor
AUXTIN2:                +38.5°C  (high = +125.0°C, hyst = +120.0°C)  sensor = thermistor
AUXTIN3:                +96.0°C    sensor = thermistor
PCH_CHIP_CPU_MAX_TEMP:   +0.0°C
PCH_CHIP_TEMP:           +0.0°C
PCH_CPU_TEMP:            +0.0°C
PCH_MCH_TEMP:            +0.0°C
intrusion0:            ALARM
intrusion1:            ALARM
beep_enable:           disabled

↑FANや温度が表示できるようになりました。

表示名の変更

環境に合わせて、表示名を変えます。
以下をファイルの最後に追記。

[root@server ~]# vi /etc/sensors3.conf
~省略~
chip "nct6792-*"
label fan1 "PS Fan"
label fan2 "CPU Fan"

label temp1 "M/B Temp"
label temp2 "CPU Temp"

[root@server ~]# sensors
~省略~
PS Fan:                   0 RPM  (min =    0 RPM)
CPU Fan:                   473 RPM  (min =    0 RPM)
~省略~
M/B Temp:                 +31.0°C  (high = +125.0°C, hyst = +120.0°C)  sensor = thermistor
CPU Temp:                 +36.0°C    sensor = thermistor
~省略~

2018/05/25 追記

CentOS 7.4 と 7.5 の手順を追記しました。

2019/10/29 追記

CentOS 8 では、nct6775 の更新は不要でした。
関連記事はこちら。
>>Zabbixで温度、FAN回転数を監視する