Ubuntu 11.04(Natty)とPT2で地デジ対策
これまで Ubuntu 9.10 なんていう 1 年半前の古い Linux を使っていました。理由は、バージョンアップしてテレビが見られなくなると困るから。しかし、先日 Ubuntu 11.04 が公開されたことに触発されやっと最新版の Ubuntu にバージョンアップしました。
バージョンアップ自体は簡単に終了したのですが、やっぱりテレビを見られなくなってしまいました。しかし既に多くの方が Ubuntu 10.04LTS や最新版の 11.04 で地デジを見られるようにする方法を公開されています。これは、それらを参考にしてテレビを見られるようにした記録です。
スタート時のシステム
- OS:Ubuntu Server(64bit)版 10.04LTS
- テレビチューナー:PT2
- スマートカードリーダー:SCR3310-NTTCom
- これまでテレビを見られていたので、画像を復号化する b25 など必要なライブラリーとパッケージはインストール済み。アップデートのあるものは、バージョンアップに合わせて自動でアップデートされている。
バージョンアップした後の症状
テレビを見ようとすると、
Cannot tune to the specified channel
というエラーが出る。
状態の確認
lspci|grep Multimedia
03:00.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)
lsmod |grep pt1
なし
チューナーが見つからないということらしい。
対策
- 他のドライバーに取られないようにブラックリストに入れておく。 具体的には/etc/modprobe.d/blacklist.conf を編集して、「blacklist earth-pt1」という一行を加えておく。参照:PT2 を Ubuntu(10.04 以降)で動かすには(ブックマクロ開発に)
- PT2 のドライバーとソフトを最新にする。b25 ライブラリーは、既にインストールしてあるので、今回はオプションを指定するだけで良い。参照:64bit 版 Ubuntu10.04 に PT2 と FoltiaHD を入れて iPhone でアニメを見ながら通勤する
sudo apt-get install mercurial
hg clone http://hg.honeyplanet.jp/pt1/ PT2
cd PT2/driver
make
sudo make install
cd ../recpt1
./autogen.sh
./configure --enable-b25
make
sudo make install
新しくしたドライバーを組み込むには、
sudo modprobe pt1_drv
または再起動する。
動作確認
lsmod |grep pt1
pt1_drv 31482 0
ls /dev/pt1\*
/dev/pt1video0 /dev/pt1video1 /dev/pt1video2 /dev/pt1video3
以上で完了。これでまたテレビを見られるようになりました。
Ubuntu 11.04 の場合
さらに最新の Ubuntu 11.04 にバージョンアップして 10.04LTS の時と同じくドライバーと試聴プログラムをインストールし直してもテレビを見ることができませんでした。
11.04 にアップした後の症状
-
Ubuntu 10.04 の時は、スマートカードリーダーの LED は点滅していた。これが、Ubuntu 11.04 にバージョンアップしたら点灯したままになった。
-
テレビを見ようとすると
bcas->init failed
Cannot start b25 decoder
Fall back to encrypted recording
というエラーメッセージが表示されてテレビを見られない。
対策
色々なブログを読んで回ったところ、最新のスマートカード関連プログラムに問題があるようです。解決方法は、スマートカード関連プログラムをダウングレードすること。参照:Ubuntu 11.04 AMD64 に PT2 をインストールする。(覚え書きその他)
- まず使えない最新のスマートカード関連プログラムを削除する。
apt-get remove pcscd libpcsclite-dev libpcsclite1 libccid
- /etc/apt/sources.list を編集して
deb http://jp.archive.ubuntu.com/ubuntu/ natty universe
deb http://jp.archive.ubuntu.com/ubuntu/ natty-updates universe
の 2 行を
deb http://jp.archive.ubuntu.com/ubuntu/ maverick universe
deb http://jp.archive.ubuntu.com/ubuntu/ maverick-updates universe
に書き換える。
- これで
apt-get install pcscd libpcsclite1 libccid (libpcsclite-devは不要)
とやってパッケージをインストールすれば基本的に OK なのですが、pcscd のバージョン(1.5.5-3ubuntu2.1)と合っていないためか、ここでインストールされる libpcsclite1(1.7.0-2ubuntu2)ではダメでした。
- より古い libpcsclite1_1.5.5-3ubuntu2.1 を探して来てインストールする。
ミラーサイト一覧で適当なサイトを見つけて、ダウンロードとインストールする。
wget http://ftp.jaist.ac.jp/pub/Linux/ubuntu//pool/main/p/pcsc-lite/libpcsclite1\_1.5.5-3ubuntu2.1\_amd64.deb
dpkg -i libpcsclite1\_1.5.5-3ubuntu2.1\_amd64.deb
- 最後に残りのパッケージをインストールする。この時「natty-updates」を上のように「maverick-updates」に書き変えておかないと、せっかくインストールした libpcsclite1_1.5.5-3ubuntu2.1 がアップグレードされてしまいます。
apt-get install pcscd libccid
- 最後に書き変えた sources.list を元に戻しておきます。
これで地デジ対策完了。また「ペンギンズ」と「ヒツジのショーン」を見られるようになりました。
このままだと、次回アップデートするとスマートカード関連パッケージがアップデートされてしまいます。アップデートさせない方法もあるようですが、本当にアップデートしたい時にどうしたらいいのか分からなくなりそうです。そこでアップデートしてしまったら、またこれと同じ手順を繰り返せばいいやと思っています。
パッケージのバージョンを固定する方法は、Pandaboard に Ubuntu +地デジサーバを(地デジサーバソフト編)(Talk Like Singing)を参照して下さい。