PCで遊んだ日々の備忘録

Making PC and Customization PC

Lubuntu(LXQt) デスクトップ に ファン速度 を表示する

手持ちの サブPC(自作機) に Lubuntu 20.04LTS をインストール後、LXQt デスクトップ にシステムモニター Conky を設定してみたところ CPUクーラーファンの回転速度(以降 ファン速度)の設定ができませんでした。

原因は Lubuntu のシステム起動時に ハードウェア モニタリング センサーチップ(ICチップ)のドライバーであるカーネルモジュールが ロード(読込み)されないためです。

その結果 sensorsコマンドの実行結果にファン速度が表示されず、Conky設定ファイルである .conkyrc にファン速度を表示するコードを記述できないからです。

このページでは センサーチップのドライバーを確認しシステム起動時にカーネルモジュールをロードする方法と Conky にファン速度を表示する方法を掲載しています。(2021年7月)


ドライバーの確認

このセクションでは センサーチップのカーネルモジュールを確認する方法一例を紹介します。あくまでも一例なのでマザーボードの種類により搭載されているチップは異なるので環境に合わせて読み替えてください。

ここに登場するセンサーチップは msi Z77A-GD65 マザーボードのものです。

下表は事前にインストールした Conky 関連のアプリケーションパッケージです。

conky-all システム情報の表示
lm-sensors CPU 温度情報の取得
hddtemp HDD 温度情報の取得

端末から、もしくは Muonパッケージマネージャーでインストールできます。

下記は lm-sensrs の sensers-detectコマンドの実行結果です。

QTerminal :

 $ sudo sensers-detect
(前略)
Found 'Fintek F71889A Super IO Sensors'   Success!
  (address 0x290, driver 'f71882fg')
   ︙
(中略)
To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
coretemp
f71882fg
#----cut here----
If you have some drivers built into your kernel, the list above will
 contain too many modules. Skip the appropriate ones!

Do you want to add these lines automatically to /etc/mdules? (yes/NO) _ 
(後略)

端末でsensers-detectコマンドを実行した結果-1/2

コマンド実行結果 - 1/2

端末でsensers-detectコマンドを実行した結果-2/2

コマンド実行結果 - 2/2

上記 --cut here-- 間の f71882fg がカーネルモジュールです。

以下、The Linux Kernel documentation「Kernel driver f71882fg 」から一部を引用した内容です。日本語訳は Google自動翻訳です。

(前略)

Description|説明

Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature sensors.

Fintek F718xx / F8000スーパーI / Oチップには、完全なハードウェア監視機能が含まれています。最大9つの電圧、4つのファン、3つの温度センサーを監視できます。

These chips also have fan controlling features, using either DC or PWM, in three different modes (one manual, two automatic).

これらのチップには DCまたはPWMのいずれかを使用して3つの異なるモード(1つは手動、2つは自動)のファン制御機能もあります。

The driver assumes that no more than one chip is present, which seems reasonable.

ドライバーは、チップが1つしか存在しないと想定しますが、これは妥当と思われます。

Monitoring|監視

The Voltage, Fan and Temperature Monitoring uses the standard sysfs interface as documented in sysfs-interface, without any exceptions.

電圧、ファン、および温度の監視では、sysfs-interfaceに記載されている標準のsysfsインターフェースを例外なく使用します。

Fan Control|ファン制御

Both PWM (pulse-width modulation) and DC fan speed control methods are supported. The right one to use depends on external circuitry on the motherboard, so the driver assumes that the BIOS set the method properly.

PWM(パルス幅変調)とDCファン速度制御方式の両方がサポートされています。どちらを使用するかはマザーボードの外部回路に依存するため、ドライバはBIOSがメソッドを適切に設定していると想定します。

(後略)

次のセクションで f71882fg をロードする設定を行います。

▲ 目次へ

カーネルモジュールをロードする

システム起動の際カーネルモジュール f71882fg をロードするには、カーネルに次のオプションを付けてブートシーケンスを開始します。

acpi_enforce_resources=lax

直訳すると「ACPIのリソースを強制する」で、その意味については こちら を参照してください。参照先のページでは、一時的にロードする方法と恒久的にロードする方法を掲載しています。

ここでは恒久的な方法を紹介します。

GRUB設定ファイルにオプションを記述する

ブートローダーGRUBの設定ファイルに起動オプションを記述することで恒久的にロードされます。

端末から

 $ sudo nano /etc/default/grub

を実行し、既存のコマンドラインをコメントアウトして次のように記述して保存します。

GNU nano :

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_enforce_resources=lax" 

下の画像は GRUB設定ファイルのスクリーンショットです。

 

最後に次のコマンドを忘れずに実行します。

 $ sudo update-grub

PCを再起動して設定完了です。

下の画像は設定後に sensorsコマンドを実行した結果です。

f71889a-isa-0290
Adapter: ISA adapter
+3.3V:   3.36 V
   ︙
(中略)
fan1:  1754 RPM
fan2:     0 RPM ALARM
fan3:     0 RPM ALARM
(後略)

ご覧のように、ファンの回転速度が表示されます。ただしここに表示されるのはマザーボードのコネクタに接続したファンのみです。それ以外の、例えばファンコントローラーに接続のファンは認識されません。

次のセクションで Conkyの設定を行います。

▲ 目次へ

Conky 設定

sensorsコマンド実行結果から .conkyrc に次のようなコードを記述します。

${color green}CPU:${color deepskyblue} ${alignr}${execi 5 sensors | grep 'fan1' | cut -c14-21}

このコードを訳すと

CPUの文字色をグリーンで表示する。5秒間隔で sensorsコマンドを実行し、fan1の行の14列目から21列目の文字(ファン回転速度)を、文字色ディープスカイブルーで表示する。

となります。下の画像は Lubuntu 20.04LTS デスクトップのスクリーンショットです。

CPUクーラーファンの回転速度が表示されました。

▲ 目次へ

クリエイティブ・コモンズ・ライセンス
Top of Pageの画像
sidemenuの画像