これまで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)を参照して下さい。