変態紳士ASRockの変態マザーC2750D4Iのファン速度を、IPMIで操作する方法のメモ。冷暖房不備の自宅サーバで使ってるもんで、夏場のここぞって時には強制的に回転数を上げたい時があるのだよ。制御方法はipmitool
コマンドでバイト列を投げるだけ。姉妹モデルのC2550D4I, C2450D4I+でも使えるらしい。これならファン制御ソフトのないFreeBSDでも使えるよ、やったねタエちゃん!!
ipmitool raw 0x3a 0x01 ア イ ウ エ オ カ 0x00 0x00
引数ア~カには対応するファンの回転数を指定する。値はPWMのデューティ比だと思われる。
引数 | ファン | 値 |
---|---|---|
ア | CPU_FAN1 | 0x01 : Smart Fan(BIOS設定での自動制御) 0x04 : 回転数最小 0xnn : ⇅ 0x64 : 回転数最大 |
イ | CPU_FAN2 | |
ウ | REAR_FAN1 | |
エ | REAR_FAN2 | |
オ | FRNT_FAN1 | |
カ | FRNT_FAN2 |
例えば、全部のファンをフル回転させるには以下のようにする。10進数も通るので、値は4~100で書いたほうが分かりやすいかも。
ipmitool raw 0x3a 0x01 0x64 0x64 0x64 0x64 0x64 0x64 0x00 0x00
実行例。
(最大) $ sudo ipmitool raw 0x3a 0x01 0x64 0x64 0x64 0x64 0x64 0x64 0x00 0x00 $ ipmitool sdr type 'Fan' CPU_FAN1 | 0Fh | ok | 7.0 | 1300 RPM REAR_FAN1 | 11h | ok | 7.0 | 1900 RPM FRNT_FAN1 | 13h | ok | 7.0 | 1500 RPM FRNT_FAN2 | 14h | ok | 7.0 | 600 RPM REAR_FAN2 | 15h | ns | 7.0 | No Reading CPU_FAN2 | 17h | lnc | 7.0 | 0 RPM (最小) $ sudo ipmitool raw 0x3a 0x01 0x04 0x04 0x04 0x04 0x04 0x04 0x00 0x00 $ ipmitool sdr type 'Fan' CPU_FAN1 | 0Fh | ok | 7.0 | 600 RPM REAR_FAN1 | 11h | ok | 7.0 | 800 RPM FRNT_FAN1 | 13h | ok | 7.0 | 500 RPM FRNT_FAN2 | 14h | ok | 7.0 | 600 RPM REAR_FAN2 | 15h | ns | 7.0 | No Reading CPU_FAN2 | 17h | lnc | 7.0 | 0 RPM (Smart Fan) $ sudo ipmitool raw 0x3a 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x00 0x00 $ ipmitool sdr type 'Fan' CPU_FAN1 | 0Fh | ok | 7.0 | 1300 RPM REAR_FAN1 | 11h | ok | 7.0 | 800 RPM FRNT_FAN1 | 13h | ok | 7.0 | 500 RPM FRNT_FAN2 | 14h | ok | 7.0 | 600 RPM REAR_FAN2 | 15h | ns | 7.0 | No Reading CPU_FAN2 | 17h | lnc | 7.0 | 0 RPM
なんぞCPU_FAN1の挙動がおかしいけど、他は設定値通りに動いてるようなので気にしない。
尚、本M/BのCPUはファンレスで概ね大丈夫(公式にはヒートシンクを通る風が2CFM未満の場合はファンが必要)なのだが、CPUよりも先にSATAチップの方が音を上げるので、筐体内のエアフローには配慮が必要だ。HDDへ長時間アクセスすると特定のHDDが脱落する現象に見舞われていたが、どうも原因はSATAチップの過熱のようだった。なんたって触れるとアチッとなるくらいだったので。
とりあえずクールスタッフを貼り付けて、マザボを冷やす12cmファンも設置して様子見中。