pwmconfigがファンを見つけられません。 uefi Biosで修正できます。

pwmconfigがファンを見つけられません。 uefi Biosで修正できます。

コンピュータのファン速度を変更したいです。 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-detectrootとして実行することです。一般的なデスクトップシステムで実行する検出方法についていくつかの質問が表示されます。デフォルト値はそのまま使用できます。

センサーおよび/または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/grubGRUB 構成を更新して継続的に作成します。

ブートにカーネルブートオプションを追加したら、モジュールを再ロードしてsensorsモニタリングチップの情報が表示されることを確認してください。その場合は、上記のようにモジュールロードを継続的に作成できます。

/etc/sensors3.conf上記のメーリングリストメッセージから、監視チップの電圧監視チャネルの正しいスケーリング値を含む構成ブロックを取得することもできます。構成ファイルを変更して実行し、sudo sensors --set新しいスケーリング値が適用されるようにします。

おすすめ記事