私のファンはLinuxで動作しません。温度が非常に高くなると、ラップトップの電源が切れるのではないかと心配しています。
次のコマンドを実行しました。
dmesg | grep -I fan
これは私に与えました:
ACPI: Fan [FAN0] (off)
ACPI: Fan [FAN1] (off)
ディレクトリ/proc/acpi/fan
が存在しません。ファンを機能させるにはどうすればよいですか?
私のファンはLinuxで動作しません。温度が非常に高くなると、ラップトップの電源が切れるのではないかと心配しています。
次のコマンドを実行しました。
dmesg | grep -I fan
これは私に与えました:
ACPI: Fan [FAN0] (off)
ACPI: Fan [FAN1] (off)
ディレクトリ/proc/acpi/fan
が存在しません。ファンを機能させるにはどうすればよいですか?
回答:
ファンは通常、CPUとOSではなく、システム管理コントローラーによって制御されます。これにより、OSに障害が発生した場合でも機能します。
残念ながら、これは通常「ファンオフ」エラーがハードウェアの問題であることを意味します。読む:ファン(アセンブリ)を交換する必要があります。
唯一の例外は、ファンをシャットダウンできる非常に壊れたACPI実装です。この場合、ファンはBIOSで動作します。ただし、そのような構成については聞いたことがありません。
ファンはACPIによって管理されることになっています。これにより、カーネルはBIOSと連携して温度を監視し、BIOSが提供するルールを使用してファン速度を自動的に調整できます。残念ながら、1つのBIOSベンダーが実際にこの規格に準拠していることはまだ確認できていません。/ sys / class / thermalを調べて、その下にファンが表示されているかどうか、および設定を変更できるかどうかを確認します。通常、BIOS ACPIテーブルはファンインターフェイスを提供せず、管理するハードウェアコントローラーに任せます。
これらのハードウェアコントローラーの多くは、lm-sensorsパッケージで検出できます。実行するsensors-detect
と、既知のコントローラーをプローブし、それを操作するために読み込まれる正しいドライバーを構成できます。これにより、sensors
さまざまな温度と電圧の読み取り値を報告できるようになり、fancontrol
スクリプト(Debian / Ubuntuに個別にパッケージ化)は、温度の読み取り値に応じてファン速度を操作するように構成できます。
これらのモジュールの多くはacpi_enforce_resources=lax
、ロードするためにカーネルコマンドラインに追加する必要があります。
手動で1/0をcooling_deviceのcur_stateファイルにエコーすると、オン/オフになります。
for cdev in /sys/class/thermal/cooling_device*; do
[ $(cat $cdev/type) == "Fan" ] && { echo 1 | sudo tee $cdev/cur_state; }
done
thinkpad_acpi
これらすべてを/ procに表示するモジュールを持っています。また。私はあなたのファンがオフになるとは思いません(ハードウェアの問題がない限り)。