Linux環境下でのPT2の消費電力を低減したい

録画サーバーをWindows環境からLinux環境に変えて数年経つわけですが、アイドル時のPT2の消費電力がWindows環境下のときより高くなる(ワットチェッカー計測)、という症状に悩まされていました。

マザーの設定が悪いのか、カーネルの起動時のオプションの設定が悪いのか、ドライバが悪いのか、PCIe-PCI変換ブリッジが悪いのか、私には原因が特定できませんでした。この症状はearth-pt1でも、pt1_drvでも起こりました。

PT2を2枚使おうとするとアイドル時の消費電力が約10WもWindows環境下よりも高くなり、PT2自体もかなり熱くなってしまうことから、PT2を2枚から1枚に減らし、妥協の運用をしていました。

 

ChatGPTにWindows版のドライバのソースとLinux版のドライバのソースを投げてみたら原因と対策を教えてくれました。すごい時代になったものです。

 

 

注意

私はプログラム関係は全くできません。以下の変更で問題が生じないか、判断できません。
ChatGPTにやってもらったものであり、安全は保証しません。

また、チューナーの電源を切るように変更するので、立ち上がりが若干鈍くなります。BonDriver_mirakurunを使う場合なんかは、チャンネル変更時別のチューナーに切り替わる場合があるので、チャンネル変更に時間がかかるようになることもあります。デメリットがないわけではありません。

反応の良さをとるか、省エネをとるか、ですね。アイドル時チューナー1個あたり約1.25Wの節約 = PT2 1枚あたり約5Wの省エネになります。

 

 

earth-pt1の場合

earth-pt1の場合、元ソースに1行追加するだけでよいようです。(動作未確認)

linux/drivers/media/pci/pt1/pt1.c at master · torvalds/linux · GitHub

761行目に気になるコメントがあります。

本来は adap->sleep の状態に応じてビットを変更する必要がある、とのことなのでそのようにすればいいようです。

earth-pt1を使ってて省電力にしたい場合は自己責任でお試しください。

 

 

pt1_drvの場合

GitHub – stz2012/recpt1: PT1/PT2/PT3をLinuxで使う為の録画ツール(STZ版) · GitHub

BIT_33A1 / BIT_33A2 / BIT_5A_ / BIT_5A1 / BIT_5A2

これらのビットがドライバロード後から常時立つようになっていますが、チューナーの状態に合わせて ON / OFF するようになればいいようです。

大幅な改修となるので、該当のソースはそのまま貼っておきます。ついでに、LNB電源は1枚目のPT2のみ供給するように変更しました。2枚目のPT2のSチューナーのみが起動する場合も、1枚目のPT2からLNB電源が供給するように変更してます。1枚目のPT2にのみ導通すればいいので、分配器の選択肢が広がるかも。

PT2の2枚環境で一応3週間不具合が起きていませんが、PT1/PT2混在環境でも問題ないかはわかりません。

繰り返しますがChatGPTに書いてもらっただけで私は理解していません。最適化はされてないでしょうし、導入する場合は自己責任で。

pt1_tuner.c と pt1_pci.c に変更を加えます。

 

 

 

コメント

タイトルとURLをコピーしました