俗に言う「鼻毛鯖」・・・今回は「髭剃鯖」だったのですが・・・と PT2 で地デジ録画サーバを作ってみました。
構成は、Express5800/S70 タイプPJ + Ubuntu 10.04 Desktop + キャラクターデバイス版PT1ドライバ + epgrec。以下のページにインストール用のスクリプトがそろっていたので、簡単に導入できてしまいました。
http://zeonic.ath.cx/pt2/index.html
試しに BS と地デジ2番組同時録画しながら、録画中の ts ファイルを VLC で再生してみたところ、CPU負荷は2コアとも40~50%前後だったので、全然大丈夫ですね。・・・こんなに安いのにCore i ベースのCPUでマルチコア、メモリも1GB搭載ですから、普通に使う分には十分ですね。
ただ、サーバーとして使用する前提の人が多いからか、「電源入れっぱなし」で運用する例が多いようです。私の場合は、ほぼ、録画専用マシンなので、録画時にレジュームして、録画が終わったらサスペンドする動作が理想です。
試しに Ubuntu のメニューからサスペンドさせて見ると、うまくサスペンドできずにログイン画面に戻ってしまいました。
どうやら、pt1_drv がサスペンド移行を邪魔しているようでしたので、http://kimamahitori.blog.shinobi.jp/Entry/232/ この辺を参考に /etc/pm/config.d/00sleep_module に pt1_drv を指定したところ、サスペンド・レジュームできるようになりました。
おそらく、パワーマネジメントにきちんと対応できていない PT1 ドライバのモジュールを、サスペンド・レジュームのタイミングで自動的にアンロード&ロードしてくれるのでしょう。
Express5800-S70:~$ cat /etc/pm/config.d/00sleep_module
SUSPEND_MODULES="pt1_drv"
また、2ch の「【視聴・録画】Linuxでテレビ総合5【デジタル/アナログ】」にて、
>>61 で出てる rmmod で oops 吐く問題は、pt1_pci_cleanup の中の
class_destroy と pci_unregister_driver の順番が逆なせいじゃないかな。
unregister が先だよね?
BINGO!!
順番入れ替えたらrmmodしてもoops吐かなくなった
サスペンドの時に悪さするから困ってたんだけど、これで一歩前進しそう
chardev版なんだかんだで生き延びそうだな
という話があったので、以下の変更を加えてドライバをビルド。
Express5800-S70:~/pt1/LATEST$ hg diff
diff -r 7662d0ecd74b driver/pt1_pci.c
--- a/driver/pt1_pci.c Fri Nov 19 11:19:25 2010 +0900
+++ b/driver/pt1_pci.c Sat Aug 06 03:32:46 2011 +0900
@@ -1004,8 +1004,8 @@
static void __exit pt1_pci_cleanup(void)
{
+ pci_unregister_driver(&pt1_driver);
class_destroy(pt1video_class);
- pci_unregister_driver(&pt1_driver);
}
module_init(pt1_pci_init);
最新情報が2chで拾えるあたりが、いかにもアングラっぽい感じですが・・・
あとは、自動起動と自動終了をなんとかしないといけないですね。方針としては「atq で時刻指定ジョブを参照して判断」、もしくは、「epgrecの録画予約データベースを参照して判断」でしょうかね。
※コメント投稿者のブログIDはブログ作成者のみに通知されます