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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です