
コンピュータのファン速度を変更したいです。 ASUS BIOS設定では、PWMとDC(3つはピン4に接続されています)を使用してこれを達成できますが、実行しているオペレーティングシステムでも同じことをするのに問題があるようです。
手動で変更したいマザーボードの2つの名前はCHA_1FANとCHA_2FANです。
> cat /etc/sensors3.conf | grep -i fan
# Fans
label fan1 "PSU Fan"
label fan2 "CPU Fan"
label fan3 "System FAN2"
label fan4 "System FAN3"
label fan5 "System FAN4"
# Fans
label fan1 "CPU Fan"
label fan2 "System FAN2"
label fan3 "System FAN3"
label fan4 "System FAN4"
label fan7 "PSU Fan"
> hwinfo | grep -i fan
acpi-fan: /devices/platform/PNP0C0B:03
acpi-fan: /devices/platform/PNP0C0B:01
acpi-fan: /devices/platform/PNP0C0B:04
acpi-fan: /devices/platform/PNP0C0B:02
acpi-fan: /devices/platform/PNP0C0B:00
acpi-fan: module = fan
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
type = "", modalias = "acpi:PNP0C0B:", driver = "acpi-fan"
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
E: DRIVER=acpi-fan
<6>[ 0.062442] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
fan 20480 0 - Live 0x0000000000000000
Driver Status: thermal,fan are active
Driver Activation Cmd: "modprobe thermal; modprobe fan"
> sudo pwmconfig
[sudo] password for root:
# pwmconfig revision $Revision$ ($Date$)
[...]
/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed
heimchen@DESKTOP-G0NG8DL / [1]>
システムはOpenSuse Leap 15.5で、lm-sensorがインストールされていないようです。ソースからダウンロードしてコンパイルしてみましたが、うまくいきましたが、まだ私のディスクにこの名前のエントリがありません。
答え1
ルーメンセンサー単一のツールではなくツールキットです。たとえば、pwmconfig
次のコマンドははいlmセンサーの一部なので、「lmセンサーがインストールされていないようです」という仮定は正しくありません。pwmconfig
システムにlmセンサーがあるため、いかなる方法でもlmセンサーを取り付ける必要があります。
acpi-fan
出力にリストされている内容はhwinfo
あまり役に立ちません。基本的に、これにより、システムファームウェアに必要と思われる冷却量をスムーズに推奨できます。ファームウェアがシステムに提案したよりも多くの冷却が必要であると判断した場合、提案を完全に無視できます。
ファン制御に基づいて、pwmconfig
まず識別してロードする必要があります。センサーチップドライバ通常、これらのチップには、ソフトウェアで制御されるファンの速度制御ハードウェアも含まれています。おそらく最も簡単で安全な方法はsensors-detect
rootとして実行することです。一般的なデスクトップシステムで実行する検出方法についていくつかの質問が表示されます。デフォルト値はそのまま使用できます。
センサーおよび/またはPWMデバイスが見つかると、sensors-detect
起動時にドライバを自動的にロードするファイルが生成されます。
変更されていないアップストリームソースでは、このファイルはFedora / RedHatルールに従って生成されたようです。他のディストリビューションには、ディストリビューションの独自の構成ファイルルールに一致するようにこのセクションを変更するディストリビューション固有のパッチを含めることができます。
したがって、lmセンサーとカーネルモジュールに慣れるまで、まずディストリビューsensors-detect
ションの独自バージョンを試してみてください。変更されていないアップストリームバージョン(またはGitリポジトリの最新の開発バージョン)で最新バージョンを試している場合は、モジュールの自動ロードを設定する方法がデプロイメントで予想される方法で実行されない可能性があることに注意してください。モジュールの自動ロードを直接設定する必要があるかもしれません。
sensors-detect
成功すると、sensors
コマンドを使用すると、以前は使用できなかった一連の電圧、温度、およびファン速度の値を表示できるようになります。これは非常に重要な前提条件です。sensors
ファンを監視できない場合は、pwmconfig
ファンを調整することもできません。
ASUS特有の悪いニュース...一種の
歴史的に、ほとんどのデスクトップマザーボードで実行されているオペレーティングシステムカーネルは、センサーチップのI / Oアドレスに無料でアクセスできました。 Asusは現在、これらの習慣から抜け出しているようです。最新のAsusマザーボードは、ますますACPIファームウェアデータシートでセンサーチップレジスタを「ファームウェアで制御されていない、触れないでください」とマークしており、Linuxはデフォルトでこれらのマークを尊重しています。 (再定義は可能ですが、それに伴う責任は本人にあります。)
代わりに、Asusはファームウェア自体と実行中のオペレーティングシステムがセンサーチップへのアクセスを調整できるようにするファームウェアベース(ACPI / WMI)インターフェースを提供しているようです。残念ながら、Asusはこのインターフェースのいくつかのバリエーションを試しているようですが、Linuxハードウェアモニタリング開発者はまだ各Asusマザーボードモデルで使用する必要があるアクセス方法の包括的なリストを持っていません。さらに、これらのアクセス方法のいくつかのドライバコードはまだやや実験的であると考えられている。
情報収集は基本的に開発者にマザーボードのハードウェア監視とファン制御が機能するために何をすべきかを教えてくれるので、状況はゆっくりと改善されています。また、特定の ASUS 専用モニター・チップ・インターフェースを使用するようカーネルに指示する (簡単な) カスタム・カーネル・パッチもあります。
ASUS Z97シリーズマザーボードの詳細
~によるとこのメッセージは、lm-sensors開発者メーリングリストにあります。ASUS Z97シリーズのHWモニタリング/ PWMファン制御チップは、カーネルモジュールでサポートされているNuvoton NCT6791Dのようですnct6775
。
この記事を書いている時点では、このボードはまだ最新のカーネルにリストされていません。ASUS固有のACPIアクセス方法のリストハードウェア監視チップの場合は、モジュールをロードするだけです。
sudo modprobe nct6775
sensors
出力には、次の行で始まる新しいグループを表示する必要があります。
nct6791-isa-0290
動作している場合は、ドライバを引き続き使用できるように、起動時に自動的にロードされるようにモジュールを設定する必要があります。
echo "nct6775" | sudo tee /etc/modules-load.d/hwmon.conf
出力にこのnct6791-isa-0290
グループが表示されない場合、sensors
システムはカーネルがまだ知らない新しいアクセス方法を使用する必要があります。この場合、カーネルブートパラメータを追加してレガシーアクセスを許可できますacpi_enforce_resources=lax
。自分の責任で使用してください。この方法を使用すると、カーネルは可能dmesg
な限り新しい方法を使用する方が良いことを思い出させるメッセージを出力します。
テスト目的でGRUBメニューを使用して、linux
現在の起動オプションのGRUB設定行にこの起動パラメータを追加できますが、これが有効で有害な副作用がない場合は、次の変数に追加できますGRUB_CMDLINE_LINUX
。/etc/default/grub
GRUB 構成を更新して継続的に作成します。
ブートにカーネルブートオプションを追加したら、モジュールを再ロードしてsensors
モニタリングチップの情報が表示されることを確認してください。その場合は、上記のようにモジュールロードを継続的に作成できます。
/etc/sensors3.conf
上記のメーリングリストメッセージから、監視チップの電圧監視チャネルの正しいスケーリング値を含む構成ブロックを取得することもできます。構成ファイルを変更して実行し、sudo sensors --set
新しいスケーリング値が適用されるようにします。