ファン制御を機能させるにはどうすればよいですか?


34

システムの換気速度を制御できるファンコントロールと呼ばれるものがあります。私のラップトップは非常に簡単に熱くなるので、ファンをもう少し速く回転させたいと思います。私が見つけたすべてのチュートリアルやものは、Ubuntuの古いバージョン用であり、もう機能していないようです。

誰かが私に説明したり、Ubuntuで動作させる方法についての良いリンクを教えてもらえますか?同じ効果で異なるものでも大丈夫です。


ラップトップのブランド、モデル名/番号、BIOSタイプ/バージョンなど、ハードウェアに関するもう少しの情報が役立つ可能性があります。
ファイルスクラップ

@filescraps Dell Latitude D620:paste.ubuntu.com/699801
RobinJ

5
@RobinJ-過熱問題の通常のチェックを行っていますか-ほこり/詰まりをチェックしてください-プロセッサのヒートシンクも確認してください。BIOSを利用可能な最新のものに更新します。GRUBに「acpi_osi = Linux」を追加しようとしましたか?追加のブートオプションを使用していますか?基本的に私のポイントは-過熱の問題は埃/ acpiタイプのものです-ファンを手動で制御する必要はないはずです。
fossfreedom

さて、ファンは約65°Cのときだけ高速に動き始めますが、上昇し始めたら75°Cを下回らないので遅すぎるようです。それはラップトップであり、私はそれをアパートにするのに十分なハードウェアに自信がありません。何をacpi_osi=Linuxするの?追加のブートオプションはなく、デフォルトのGRUBのみ。
ロビンJ

1
@RobinJ-ウェブサイトのスタイルは、コメントで埋めるのではなく、関連情報を質問に戻すことです。
fossfreedom

回答:


8

i8kutilsは、Dell Vostro 3350ラップトップのファンを制御するために機能します。

#Dellラップトップのみ:
$ sudo apt-get install i8kutils 
$ i8kfan 1 2#左ファンを低速(1)に設定します。高速で正しいもの(2)。

BIOSの何かが常に数秒後に元の値に戻すように見えるだけです。
ロビンJ

Alienware m14xで動作します。しかし、それでもクーラーを最高速度に設定することはできず、それがラップトップをより高い温度で実行し続けています。これは、Windowsの場合よりもかなり暑いです
...-iLemming

BIOSは、私は2分ごとにcronジョブの実行を追加しましたので、戻ってそれを設定しますcrontab -e*/2 * * * * /usr/bin/i8kfan 1 1。今のところ完璧に動作します
-goksel

14

この回答に記載されている方法でi8kctlファンコマンドをオーバーライドする他の方法で問題を解決できる可能性が高いでしょう。完全を期すために、Dellラップトップのファン制御に関する一般的な注意事項と、の完全な説明を含めますi8kutils

おそらく機能しないもの

ただし、ラップトップのファンを制御する一般的で簡単な2つの方法は、残念ながらACPIとPWMピンを使用する方法です。

  • DellラップトップにはACPIファン制御機能がありません(* 1)

    • 結果として、ACPIブートパラメータなどを試すと失敗します
  • 私の知る限り、Dell Latitudeラップトップにはpwm制御可能ファンがありません(* 2)

    • 結果として、fancontrol/ pwmconfigプログラムは動作しません

i8kutilsを使用する

ただし、SMM BIOSをi8kutils介してDell Inspironラップトップのファンを制御するために記述されたパッケージがあります。一部のユーザーは、Dell Laitudeラップトップでも成功したと報告しています(私はそのうちの1人で、Dell Latitude E7440を使用しています)。ただし、干渉するBIOSファン制御を取り除くには、しばしばトリックが必要です。以前のコメントによると、あなたもそれに苦しんでいます。

インストールi8kutils

$ sudo apt-get install i8kutils

それを試してみてください:

$ i8kfan 2 2     # set to max speed
$ i8kfan 0 0     # set to 0 speed

...それが機能するかどうかを確認します。

BIOSファン制御を無効にする

動作するが、設定された速度(Dell Latitudeラップトップの多くのユーザーから報告されている)で他の何かが反撃している場合、これはファンの速度を元に戻すスケジュールされたSMMセッションによるものです。幸いなことに、SMMレジスタに書き込むことでBIOSファン制御無効にする方法があります

警告:smm.cの上部にある警告を参照してください。このメソッドはSMMレジスタに書き込みます。ただし、トラブルの原因となるユーザーレポートはありません。また、これを試すことに関するすべてのレポートは、BIOSファン制御の無効化に成功したことを示しています。

i8kutilsプログラムのソースが含まれてsmmi8kutilsますが、パッケージにはコンパイル済みのバイナリは含まれていません。のソースコードをダウンロードしi8kutils、プログラムをコンパイルsmmし、適切な引数で実行して、SMMレジスタに書き込むことでBIOSファン制御を無効にします。

ビルドに必要なパッケージをダウンロードします。

$ sudo apt-get build-dep i8kutils

i8kutilsソースコードをダウンロードし、ディレクトリを抽出して入力します(正確な名前はi8kバージョンによって異なります)。

$ apt-get source i8kutils
$ tar xvf i8kutils_1.33.tar.gz
$ cd i8kutils-1.33/

コンパイルsmm

  • オンの場合、32ビットシステム:

    $ make
    

    (上記を実行しgcc -g -O2 -Wall -I. -o smm smm.cます。)

  • オンの場合、64ビットシステム:

    $ gcc -g -O2 -Wall -I. -o smm -m32 smm.c
    

smm引数付きで実行して、30a3SMMファン制御を無効にします。

$ sudo ./smm 30a3

これで、BIOSファン制御が無効になります。で速度を設定してみてくださいi8kctl。ファンの音を聞いて、速度が持続することを確認してください。

注:これは、再起動と電源オフを保持する設定です。BIOSファン制御はで再度有効にできます$ sudo ./smm 31a3


* 1:これに関する公式ソースを見たが、今は見つからない。ハードウェアに不足していることを確認したい場合は、こちらの手順に従ってください:https : //wiki.ubuntu.com/DebuggingACPI

* 2:この、実行pwmconfigを検証するために:sudo apt-get install fancontrolsudo pwm-configPWM対応ファンが存在するかどう教えてくれます


実際にACPIパラメーターを使用してacpi_osi='!Windows 2012'、温度に関係なく常に最大速度で回転するため、Dell Inspiron 15R 5520のファンを制御しました。
user311982

これが正解です。十分な情報と関連性があります!
ppr

素晴らしい答え。また、見つかっここ
malat

1
どうもありがとう、これは他のすべてを役に立たなかったので私のために働いた。smmをコンパイルしようとしたときにsys / cdefs.hがありませんでしたsudo apt-get install g++-multilibが、それを持ち込みました(askubuntu.com/questions/470796/…で参照)
フィリップダニエルズ

私は少し遅れているかもしれませんが、最高速度でそれを置くことの欠点はありますか?
Zerquix18

14

パッケージlm-sensors lm-sensorsをインストールするはあなたが探しているものかもしれません。

そして、あなたがfancontrol を提案したようにファンコントロールをインストールする

ソフトウェア経由で制御しようとしているすべてのファンに4ピンコネクタがあることを確認してください。

「通常、PWM対応のファンは4ピンコネクタに接続されています(ピン配列:グラウンド、+ 12V、センス、制御)。」ソース

pwmconfigファンコントロールの一部である実行すると、

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed 互換性のあるハードウェアがある場合は、それがガイドになります。

生成された構成ファイルと組み合わせて使用​​するスクリプトを次に示します。ここでより高い値を設定できると思います。

label fan1 "Side Fan"
set fan1_min 1000
label fan2 "PSU Fan"
set fan2_min 1000
label fan5 "CPU Fan"
set fan5_min 1000

しかし、私が言ったように、ハードウェアがサポートしていないので、これを自分でテストすることはできません。BIOSからファンを制御することはできますが、グレード3です。


1
/ usr / sbin / pwmconfig:pwm対応のセンサーモジュールがインストールされていません
ロビンJ

通常sensors-detect、最初に実行し、温度とファン速度の読み取り値を取得するように指示されたモジュールをロードする必要があります。その後、pwmconfigはそれを操作できます。
psusi

@RobinJ、認識またはサポートされているチップがないようです。
psusi

これは他のほとんどの人々を助けることができる最も有益な答えだったので、私はあなたに賞金を授与するつもりです。
RobinJ

5

OK、これはあなたが探している答えではないかもしれませんが、換気口に掃除機を置いてほこりを取り除くと、私の過熱問題は解決しました。低CPU周波数で過熱が発生した場合は、試してみる価値があります。小さい部品が吸い込まれる可能性があることに注意してください。運がよければ、この方法で過熱問題を解決できるかもしれません。


最も有益なものであったため、上記の回答に対する賞金を授与しましたが、私の問題はハードウェアに関連しているようであるため、回答はソリューションに最も近くなりました。しかし、ラップトップのハードウェアを台無しにするほど自信がないので、まだ保証されていたので店に持ってきました。
ロビンJ

私はこれを試したところ、うまくいきました。ありがとう!ファンの音量が上がり始め、過熱のために1〜2回シャットダウンしました。うまくいけば、これで修正されました。これで、ファンは通常のCPU使用率でオン/オフを繰り返しますが、これは(常にオンになる前の)すばらしい状態です。
サイメン

@Cymen安全のために、真空が帯電防止真空であることを確認してください。圧縮空気の缶を使用して通気口を掃除しますが、これも代替手段として行うことができます。
user311982

3

BIOSがi8kfan設定を上書きしていたため、Dell Latitude e4200を使用しており、次の方法でうまくいきました。私のコンピューターの初期温度は105°Fで、これらの手順(ファン設定= 2)を使用してから約10分後、CPU /コアの温度は96°Fに低下しました。この手順は既に誰かによって投稿されていました:

手順1. i8ktutilsをダウンロードしてインストールします。

# sudo apt-get install i8kutils

ステップ2. BIOSをオーバーライドして、カスタムファン設定を中断させないようにします。これを行うには、ソースコードをダウンロードし、プログラム(SMM)をコンパイルします。

# sudo apt-get build-dep i8kutils

その後:

# apt-get source i8kutils

手順3.ソースコードを抽出し、ディレクトリに移動します。

# tar xvf i8kutils_1.33.tar.gz

その後:

# cd i8kutils-1.33/

ステップ4. SMMをコンパイルする

For 32-bit systems:

# make SMM

(Output: # gcc -g -O2 -Wall -I. -o smm smm.c.)

For 64-bit systems

# make SMM:

(Output: # gcc -g -O2 -Wall -I. -o smm -m32 smm.c)

ステップ5.パラメーターを指定してSMMを実行します。

# sudo ./smm 30a3

ステップ6.ファンの速度を設定します。

# i8kfan 2 2 (Listen as this will set fans to maximum speed)

# i8kfan 1 1 (This will set fans to slow speed)

これで、BIOSファン制御がファン設定をオーバーライドしてはなりません。この設定は、システムを再起動しても残ります。何らかの理由でBIOSに制御を戻すには、次の手順を実行します。

# sudo ./smm 31a3.

lm_sensorsを使用してtempを確認する方法もあります。

http://www.cyberciti.biz/faq/howto-linux-get-sensors-information/

1
Ubuntu 14.04上のi8kutils-1.41の最新バージョンでこれを試し、「/ usr / include / stdio.h:27:0からインファイルが含まれ、smm.c:27から/usr/include/features.h: 374:25:致命的なエラー:SYS / cdefs.hの:そのようなファイルやディレクトリはありません"しかし、この修正問題のそのaskubuntu.com/questions/470796/...
K-DEN
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.