ubuntu10.04LTSで録画サーバ構築 「PT1 ドライバインストール編」

画像

我が家のテレビを重厚長大なブラウン管テレビから60インチ液晶AQUOSにしたので
長らく眠っていたPT1を再セットアップすることにしました。
以下手順です。
ハードウエアの装着やカードリーダの準備は他サイトにも多数の記録があるので参考にしてください。
ここではubuntuサーバに対するソフトウエアインストールを書いておきます。
基本的には、他サイトの記述をカット&ペーストしてサーバにインストールしたのですが
我が家環境ではうまくいかないこともあり、苦労したポイントなんかを書いてます。
1.まずはカードリーダのセットアップ
1)ソースリストの追加
なんでも新しいバージョンのアプリではICカードリーダーが動かないらしいので、古いバージョンのアプリを
インストールできるようにします。
テキストエディターで「sources.list」ファイルを開きます。
sudo gedit /etc/apt/sources.list
最終行に以下を追記します。
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu maverick main universe
deb-src http://ftp.jaist.ac.jp/pub/Linux/ubuntu maverick main universe
deb http://security.ubuntu.com/ubuntu maverick-security main universe
deb-src http://security.ubuntu.com/ubuntu maverick-security main universe
アップデートします。
$ sudo apt-get update
2)必要なツールをインストールします。
$ sudo apt-get install pcscd=1.5.5-3ubuntu2.1
             libpcsclite1=1.5.5-3ubuntu2.1
             libccid=1.3.11-1 pcsc-tools=1.4.16-1
とやってみましたが途中でエラーを吐いてしまってうまくインストールできません。
webで該当ツールを探してみました。
libpcsclite-dev⇒http://launchpadlibrarian.net/70522559/libpcsclite-dev_1.5.5-3ubuntu2.1_i386.deb
        は依存関係でNGなんか上手く入らなかったっぽいです。
      ※sudo apt-get aptitude libpcsclite-dev にてむりやりインストールしました。
       但し
       libpcsclite1_1.5.3ubuntu4.2にダウングレードして依存関係を解決しました。
libpcsclite⇒http://launchpadlibrarian.net/70522563/libpcsclite1_1.5.5-3ubuntu2.1_i386.deb
       をダウンロードインストール
libccid⇒インストールok
linux-headers⇒sudo apt-get install linux-headers-`uname -r` 最新バージョンでインストール済
build-essential⇒インストールok
autoconf⇒インストールok
pcsc-tools⇒インストールok
pcscd⇒http://launchpadlibrarian.net/70522564/pcscd_1.5.5-3ubuntu2.1_i386.deb
   をダウンロードインストール
もしも間違ってインストールした場合は下記を実行して削除してから再トライすると上手くいくかも・・
$ sudo aptitude remove pcscd libpcsclite-dev libpcsclite1 libccid libpcsc-perl pcsc-tools
SCR3310-NTTComのランプが点滅します。点滅すれば設定は成功です。点滅しなかったら
手順を間違えた可能性があります。初めからやり直してみて下さい。
3)確認
sudo pcsc_scan
を実行してください.ズラズラと文字が出て,最後に
Japanese Chijou Digital B-CAS Card (pay TV)
が出たら上手くいってます.確認できたらCtrl+C で終了します.
いろいろ環境を変えたら
  sudo /etc/init.d/pcscd restart
しましょう。
2.PT1ドライバインストール
b25というソフトがデジタル放送のスクランブルを復号化してくれるそうです
(ということは、b25がないと映像が見れない?)。
最新のドライバはb25を含んでいないそうなのでいろいろ探したら
http://hg.honeyplanet.jp/pt1のchangeset c44e16dbb0e2にありました。
(「hg no longer accepts ‘#’ in a template」をクリックして、左のzipとかbz2を
クリックしてダウンロード)。
cd /usr/local/src/に保管
pt1-c44e16dbb0e2.tar.bz2
このファイルを展開する。
tar zxvf pt1-c44e16dbb0e2.tar.bz2
cd /usr/local/src
cd /pt1-c44e16dbb0e2/PT2/driver/
1)ドライバをビルド
# make -C /lib/modules/`uname -r`/build M=`pwd` V=1
ここで
error: implicit declaration of function ‘schedule_timeout_interruptible’
というエラーメッセージが表示される。pt1_i2c.cに#include
追記すればちゃんとmakeされる。
2)インストール
# make -C /lib/modules/`uname -r`/build M=`pwd` V=1 modules_install
モジュールを有効にします。
# sudo depmod -a
ルールファイルをコピーします。
# cp -ip etc/99-pt1.rules /etc/udev/rules.d/
Ubuntu再起動します。
# reboot
3)確認
dmesg | grep “\] [pP][tT]1”
[ 10.033988] pt1-pci.c:v1.00 11/28/2008
[ 10.432032] PT1:ISDB-S Sleep
[ 10.488060] PT1:ISDB-S Sleep
[ 10.544117] PT1:ISDB-T Sleep
[ 10.600036] PT1:ISDB-T Sleep
[ 10.656092] PT1: device[0]=(null)
[ 10.656400] PT1: card_number = 0
[ 10.656756] PT1: card_number = 0
[ 10.656909] PT1: card_number = 0
[ 10.657047] PT1: card_number = 0
[ 10.788346] pt1_thread run
以上でPT2ドライバのインストールは完了です。
3.録画ツールのインストール
1)arib25
cd /usr/local/src/pt1-c44e16dbb0e2/arib25/src
make
make install
2)recpt1をコンパイル・インストールします
cd /usr/local/src/pt1-c44e16dbb0e2/recpt1
make
make install
これで、録画系ドライバのインストールは完了です。
ところが・・・・
試しにコマンドラインから録画指示してみても上手くいかなかったりして・・・
4.トラブルその1
現象
1)25チャンネルが一度だけ低画質で録画された。他は録画してもVLCでも再生不可
2)コマンドにてrecpt1 --strip --b25 27 10 test.tsと打ってみても
 b25_decode failed
 b25->put failed
になってしまう。エラーコードが出ないのも痛い
うまく行かないので次に方針変更して再インストすることに・・・
対策1
 1.ソフトインストールはこのまま
 sudo apt-get install mercurial gcc pcsc-tools pcscd
   libpcsclite-dev boost-build g++ libboost-filesystem-dev
   libboost-thread-dev libglib2.0-dev libboost-regex-dev
   build-essential autoconf php5-cli
 2.ドライバインストール
 1)arib25はこのまま
 cd /usr/local/src/pt1-c44e16dbb0e2/arib25/src
 make
 make install
 ※ここは、/arib25でも/arib25/srcでも同じみたいですね。
 2)ドライバ&recpt1を実績あり新しめからダウンロード
 たとえばコレ pt1-38a793ac3d9d を展開して
 $cd ~/pt1-38a793ac3d9d/driver
 $ make -C /lib/modules/`uname -r`/build M=`pwd` V=1
 ⇒エラーがでるのでsudo make のみで行うとすんなり通った
 $ sudo make -C /lib/modules/`uname -r`/build M=`pwd` V=1 modules_install
 ⇒同じくエラーがでるのでsudo make install のみで実施
 $ sudo depmod -a
 $ sudo cp etc/99-pt1.rules /etc/udev/rules.d/
 $ sudo shutdown -h now
 そして「recpt1」
 $ cd ./pt1-38a793ac3d9d/recpt1
 $./autogen.sh       ⇒無しでもヘーキかも意味不明だし
 $./configure -enable-b25 ⇒無しでもヘーキかも意味不明だし
 $make
 $sudo make install
 $sudo cp ./recpt1 /usr/local/bin
 ⇒録画は出来るようになったが再生不可能
Recording…
b25->put failed
b25_decode failed (code=-4). fall back to encrypted recording.
5.トラブルその2
ここまでやって気づいたのは、ひょっとしてアンテナ???
そこでチェックシグナルしてみると
checksignal --device /dev/pt1video2 --lnb 15 25
checksignal --device /dev/pt1video2 --lnb 11 25
checksignal --device /dev/pt1video2 --lnb 11 25
上記のようにchecksignalしてみるがいずれも20~25db程度しか出ていない。
そこで配線やアンテナを見直してみることにしました。
そしたら
⇒アンテナケーブル交換によって24~28dbに向上
 録画&再生は全チャネル出来た。
 しかし画質はワンセグ画質
 最初-enable-b25のところを間違えて--enable-b25としてしまっているのが原因?
 とおもったけど全然違うみたい。
6.トラブルその3
さらにここまでやって、ひょっとしてrecpt1でHD画質指定出来ることに気が付いたので
試してみると。
 /home/public/sda$ recpt1 --b25 --strip --sid hd 24 15 test24h.ts
      using B25…
      enable B25 strip
      pid = 4599
      C/N = 27.567718dB
      Recording…
      Available sid = 1064 1065 1066 1448
      Chosen sid = 1064
      Recorded 16sec
 無事HD画質で録画されていました。
どーもすんません。

コメントを残す

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