解決 CentOS 7 無法偵測 Asus B85M-G 的風扇轉速

CentOS 7 相當於 RHEL 7,因為基於穩定性考量所以更新速度並沒有像 Fedora 那樣的快,在相關版本的支援上自然也就不會體驗到最新版本。難免就會有一些硬體相容性上的問題。

鸚鵡最近安裝了一台 CentOS 7 (7-1511),主機板是 Asus B85M-G,因為習慣了用 Cacti 來紀錄硬體資訊(如:硬碟溫度、風扇轉速),系統初步架構完成後開始安裝 Cacti 以及 lm_sensors,執行 sensors 後卻只給我這樣的畫面

 

執行完 sensors-detect 之後依舊無解,只好開始找出解決途徑囉
拜了一下 Google 大神,在 HWZ Forums 上找到 這篇文章 有主機版的詳細硬體資訊,其中提到了:

Nuvoton NCT6791D is a Super I/O Controller: Used for keyboard controller with PS/2 mouse, wake-up functions/HW Monitor functions and fan-speed control.

再拜 Google 大神,在 Red Hat Bugzilla 發現 lm_sensors 3.3.5 已經修正了這個問題,但是 yum 只能更新到 3.3.4 的版本。所以就把腦筋動到 Fedora 的 Source RPM 上囉~

那就開始重新編譯然打包成 RPM 安裝吧,載點:lm_sensors-3.4.0-3.fc23.src.rpm

安裝後重新執行 sensors-detect,

再執行 sensors 卻又是和最上面的畫面一樣

續拜 Google 大神,在 GitHub 找到了這個:
New driver for Nuvoton NCT6775F, NCT6776F, NCT6779D

下載後進行編譯與安裝,卻遇到錯誤

開啟 Makefile 檔案,並修正路徑:第8行修改如下

再次編譯與安裝

再次執行 sensors-detect 和 sensors

搞定,收工睡覺

 

後記:
其實更新 kernel 後系統上就已經存在 nct6775.ko 這個檔案
還沒編譯安裝新的 driver 之前 sensors-detect 也有正確偵測到 Nuvoton NCT6791D Super IO Sensors,但就是不能正常工作,也難怪 GitHub 找到的是 New driver for ..