■Ubuntu 9.10デスクトップ版での作り方■
◆4. OSと地デジチューナーカードの設定◆
4-1. 設定の開始
PCの電源を入れOSを起動します。
- 作業はapt-getコマンドで実施しますので、ブロードバンドルータなどでインターネットに
接続できる環境で実施してください。
- OS起動すると、ここまでのレシピにありました「ユーザアカウントとホスト名を設定 」の工程で、「自動的にログインする」を選んだ場合は、デスクトップ画面が一気に表示されますが、「ログイン時にパスワードを要求する」を選択した場合はログイン画面が表示されていますので、設定したアカウントとパスワードでログインし、デスクトップ画面を表示してください。
- ここの工程では、設定にコンソールを利用します。デスクトップ画面からは画面右上の「アプリケーション」メニューの中に「アクセサリ」があり、その中に「端末」というアイコンがありますので、これをクリックするとコンソールが起動します。
コンソールはUbuntuデスクトップから起動する方法と、Windowsクライアントなどからターミナルソフトを使ってsshで接続して利用する方法がありますので、使いやすい方を利用ください。
なお、コマンド入力の説明にはカーソルも入れて表現していますので、実際にはカーソルの部分は入力不要です。
例)
$ ls -al
^一般ユーザの場合のカーソル
# ls -al
^rootユーザの場合のカーソル
|
4-2. sshサーバ設定
- 早速設定に入りますが、Windowsクライアントなどからターミナルソフトを使ってsshで接続して利用する場合のことを考え、sshサーバのインストールから説明します。
ubuntuデスクトップ画面からは画面右上の「アプリケーション」メニューの中の「アクセサリ」、その中の「端末」というアイコンをクリックしてとコンソールを起動します。
以下の通りコマンドを入力します。
$ sudo apt-get update
Password: ←ここでユーザのパスワードを入力して下さい(表示はされません)
$ sudo apt-get install ssh
続行しますか [Y/n]? y <---「y」を入力
|
- 固定IPアドレス設定
サーバのIPアドレスは固定されていた方が都合がよいので、手動でIPを設定します。
$ sudo vi /etc/network/interfaces
|
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static <-- 固定に変更
address 192.168.1.200 <-- IPアドレス追加
netmask 255.255.255.0 <-- サブネットマスク追加
gateway 192.168.1.1 <-- デフォルトゲートウェイ追加
|
- DNSサーバの設定を/etc/resolv.confに記載
$ sudo vi /etc/resolv.conf
|
nameserver 192.168.1.1 <-- DNSサーバのアドレス追記
|
- 設定を反映します。
$ sudo /etc/init.d/networking restart
|
4-3. sshでクライアントから接続するための設定
4-4. PT2ドライバ設定
- 一番重要な工程に入ります。コンソールをそのまま利用される場合は、続行し、Windowsクライアントからターミナルソフトで接続する場合は文字コードを(UTF8(CJK))でssh接続します。
- rootに切り替えます。
$ sudo su
Password: ←ここでユーザのパスワードを入力(表示はされません)
|
- 取得に必要なパッケージをインストールします。
# apt-get install mercurial
|
- ドライバを取得します。
# cd /usr/local/src
# hg clone http://hg.honeyplanet.jp/pt1/ PT2
# ls PT2
driver recpt1
※arib25がないので旧バージョン取得
※現在のチェンジセット確認
# cd PT2
# hg parents -v
チェンジセット: 78:5a0126d8af17
・
・
※いつのチェンジセットで削除か確認
# hg log -v | less
※確認できたら削除
# cd ..
# rm -rf PT2
※削除される前のチェンジセット「73:c44e16dbb0e2」取得
# hg clone --rev 73 http://hg.honeyplanet.jp/pt1/ PT2
# ls PT2
arib25 b25_docs driver recpt1
※OK
|
なお、上記「arib25」が含まれているソースがどうしても取得できない場合、以下のコマンドで当サイトからダウンロードして解凍してください。
# cd /usr/local/src
# wget http://linux-memo.net/kaden/src/PT2--rev73.tar.gz
# tar zxvf PT2--rev73.tar.gz
|
- ドライバをビルドするパッケージを取得。
# apt-get -y install build-essential linux-headers-`uname -r`
|
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
linux-headers-2.6.31-14-generic はすでに最新バージョンです。
linux-headers-2.6.31-14-generic は手動でインストールしたと設定されました。
以下の特別パッケージがインストールされます:
dpkg-dev fakeroot g++ g++-4.4 libstdc++6-4.4-dev patch
提案パッケージ:
debian-keyring debian-maintainers g++-multilib g++-4.4-multilib gcc-4.4-doc
libstdc++6-4.4-dbg libstdc++6-4.4-doc diff-doc
以下のパッケージが新たにインストールされます:
build-essential dpkg-dev fakeroot g++ g++-4.4 libstdc++6-4.4-dev patch
アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 136 個。
6,999kB のアーカイブを取得する必要があります。
この操作後に追加で 23.5MB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com karmic/main libstdc++6-4.4-dev 4.4.1-4ubuntu8 [1,490kB]
取得:2 http://jp.archive.ubuntu.com karmic/main g++-4.4 4.4.1-4ubuntu8 [4,701kB]
取得:3 http://jp.archive.ubuntu.com karmic/main g++ 4:4.4.1-1ubuntu2 [1,446B]
取得:4 http://jp.archive.ubuntu.com karmic/main patch 2.5.9-5 [100kB]
取得:5 http://jp.archive.ubuntu.com karmic/main dpkg-dev 1.15.4ubuntu2 [573kB]
取得:6 http://jp.archive.ubuntu.com karmic/main build-essential 11.4 [7,172B]
取得:7 http://jp.archive.ubuntu.com karmic/main fakeroot 1.12.4ubuntu1 [126kB]
6,999kB を 1s で取得しました (4,808kB/s)
未選択パッケージ libstdc++6-4.4-dev を選択しています。
(データベースを読み込んでいます ... 現在 114940 個のファイルとディレクトリがインストールされています。)
(.../libstdc++6-4.4-dev_4.4.1-4ubuntu8_i386.deb から) libstdc++6-4.4-dev を展開しています...
未選択パッケージ g++-4.4 を選択しています。
(.../g++-4.4_4.4.1-4ubuntu8_i386.deb から) g++-4.4 を展開しています...
未選択パッケージ g++ を選択しています。
(.../g++_4%3a4.4.1-1ubuntu2_i386.deb から) g++ を展開しています...
未選択パッケージ patch を選択しています。
(.../patch_2.5.9-5_i386.deb から) patch を展開しています...
未選択パッケージ dpkg-dev を選択しています。
(.../dpkg-dev_1.15.4ubuntu2_all.deb から) dpkg-dev を展開しています...
未選択パッケージ build-essential を選択しています。
(.../build-essential_11.4_i386.deb から) build-essential を展開しています...
未選択パッケージ fakeroot を選択しています。
(.../fakeroot_1.12.4ubuntu1_i386.deb から) fakeroot を展開しています...
man-db のトリガを処理しています ...
patch (2.5.9-5) を設定しています ...
dpkg-dev (1.15.4ubuntu2) を設定しています ...
fakeroot (1.12.4ubuntu1) を設定しています ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode.
libstdc++6-4.4-dev (4.4.1-4ubuntu8) を設定しています ...
g++-4.4 (4.4.1-4ubuntu8) を設定しています ...
g++ (4:4.4.1-1ubuntu2) を設定しています ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode.
build-essential (11.4) を設定しています ...
|
- ドライバをビルド。
# cd ./PT2/driver/
# make -C /lib/modules/`uname -r`/build M=`pwd` V=1
|
make: ディレクトリ `/usr/src/linux-headers-2.6.31-14-generic' に入ります
test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
echo; \
echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \
echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo; \
/bin/false)
mkdir -p /usr/local/src/PT2/driver/.tmp_versions ; rm -f /usr/local/src/PT2/driver/.tmp_versions/*
・
・
・
make: ディレクトリ `/usr/src/linux-headers-2.6.31-14-generic' から出ます
|
- ドライバをインストール。
# make -C /lib/modules/`uname -r`/build M=`pwd` V=1 modules_install
|
- モジュールを有効にします。
- ルールファイルをコピーします。
# cp -ip etc/99-pt1.rules /etc/udev/rules.d/
|
- Ubuntu再起動します。
- 再起動後、再度Ubuntuのコンソールを表示します。ubuntuデスクトップ画面からは画面右上の「アプリケーション」メニューの中の「アクセサリ」、その中の「端末」というアイコンをクリックしてとコンソールを起動、Windows等からターミナルソフトでssh接続する場合は文字コード(UTF8(CJK)でssh接続し、Ubuntuインストール時に最初に作成したユーザとパスワードを入力してコンソールを表示します。
- rootに切り替えます。
# sudo su
Password: ←ここでユーザのパスワードを入力(表示はされません)
|
- 起動時にドライバがロードされ、PT2の地デジチューナーカードが認識されているか確認します。
# dmesg | grep "\] [pP][tT]1"
|
[ 10.104200] pt1-pci.c:v1.00 11/28/2008
[ 10.104347] pt1-pci 0000:00:03.0: enabling device (0004 -> 0006)
[ 10.509107] PT1:ISDB-S Sleep
[ 10.567059] PT1:ISDB-S Sleep
[ 10.620065] PT1:ISDB-T Sleep
[ 10.676056] PT1:ISDB-T Sleep
[ 10.740065] PT1: device[0]=(null)
[ 10.740656] PT1: card_number = 0
[ 10.741479] PT1: card_number = 0
[ 10.741873] PT1: card_number = 0
[ 10.742232] PT1: card_number = 0
[ 12.009596] pt1_thread run
※「PT1」と表示されていればPT2は認識されている。
|
以上でPT2ドライバのインストールは完了です。
4-5. カードリーダーの設定
次にカードリーダの設定を行います。
- カードリーダ(SCR3310-NTTCom)をUSBに接続します。
- B-CASカード挿入します。
通常白地に注意事項がたくさん書かれている側が、LEDランプ側に来るように挿します。また金色の接触部分がリーダの中に入っている状態が正しい挿し方です。
- 必要なパッケージをインストールします。
# apt-get -y install libccid pcsc-tools
|
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
libpcsc-perl pcscd
以下のパッケージが新たにインストールされます:
libccid libpcsc-perl pcsc-tools pcscd
アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 136 個。
307kB のアーカイブを取得する必要があります。
この操作後に追加で 1,110kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com karmic/universe libpcsc-perl 1.4.7-1 [58.9kB]
取得:2 http://jp.archive.ubuntu.com karmic/universe libccid 1.3.10-1 [104kB]
取得:3 http://jp.archive.ubuntu.com karmic/universe pcsc-tools 1.4.15-1 [63.5kB]
取得:4 http://jp.archive.ubuntu.com karmic/universe pcscd 1.5.3-1ubuntu1 [80.1kB]
307kB を 0s で取得しました (380kB/s)
未選択パッケージ libpcsc-perl を選択しています。
(データベースを読み込んでいます ... 現在 115911 個のファイルとディレクトリがインストールされています。)
(.../libpcsc-perl_1.4.7-1_i386.deb から) libpcsc-perl を展開しています...
未選択パッケージ libccid を選択しています。
(.../libccid_1.3.10-1_i386.deb から) libccid を展開しています...
未選択パッケージ pcsc-tools を選択しています。
(.../pcsc-tools_1.4.15-1_i386.deb から) pcsc-tools を展開しています...
未選択パッケージ pcscd を選択しています。
(.../pcscd_1.5.3-1ubuntu1_i386.deb から) pcscd を展開しています...
man-db のトリガを処理しています ...
desktop-file-utils のトリガを処理しています ...
sreadahead のトリガを処理しています ...
sreadahead will be reprofiled on next reboot
libpcsc-perl (1.4.7-1) を設定しています ...
libccid (1.3.10-1) を設定しています ...
pcsc-tools (1.4.15-1) を設定しています ...
pcscd (1.5.3-1ubuntu1) を設定しています ...
|
- カードリーダのサーバを起動します。
# /etc/init.d/pcscd start
|
ここで、正常にカードが読み込まれれば、カードリーダのLEDランプが点滅しはじめます。
- では実際に認識されたか確認します。
PC/SC device scanner
V 1.4.15 (c) 2001-2009, Ludovic Rousseau
Compiled with PC/SC lite version: 1.4.102
Scanning present readers...
0: SCM SCR 3310 NTTCom (????????????) 00 00
Wed Dec 2 23:30:05 2009
Reader 0: SCM SCR 3310 NTTCom (????????????) 00 00
Card state: Card inserted,
ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
:
:
Japanese Chijou Digital B-CAS Card (pay TV)
※[CTRL]+[c]キーで、コンソールが戻ります。
|
以上の表示が確認できれば正常に読まれています。
なお、このコマンドの結果が
Card state: Card inserted, Unresponsive card,
|
などと表示されて止まってしまう場合は、B-CASカードの挿入の裏表が逆になっていないか確認してください。
通常白地に注意事項がたくさん書かれている側が、LEDランプ側に来るように挿します。また正常に挿されている場合は緑のLEDランプが点滅します。LEDランプが点灯(ついたまま)になっている場合は読めていません。
4-6. 録画ツールのインストール。
- 必要なパッケージをインストールします。
# apt-get install pkg-config
|
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
pkg-config はすでに最新バージョンです。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 136 個。
|
# apt-get install libpcsclite-dev
|
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libpcsclite-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 136 個。
62.1kB のアーカイブを取得する必要があります。
この操作後に追加で 205kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com karmic/main libpcsclite-dev 1.5.3-1ubuntu1 [62.1kB]
62.1kB を 0s で取得しました (98.2kB/s)
未選択パッケージ libpcsclite-dev を選択しています。
(データベースを読み込んでいます ... 現在 115995 個のファイルとディレクトリがインストールされています。)
(.../libpcsclite-dev_1.5.3-1ubuntu1_i386.deb から) libpcsclite-dev を展開しています...
libpcsclite-dev (1.5.3-1ubuntu1) を設定しています ...
|
- arib25をコンパイル・インストールします。
# cd /usr/local/src/PT2/arib25/src
# make
|
gcc -MM arib_std_b25.c b_cas_card.c multi2.c ts_section_parser.c -Wall `pkg-config libpcsclite --cflags` -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 >
Makefile.dep
gcc -O2 -g -fPIC -Wall `pkg-config libpcsclite --cflags` -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o arib_std_b25.o arib_std_b25.c
gcc -O2 -g -fPIC -Wall `pkg-config libpcsclite --cflags` -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o b_cas_card.o b_cas_card.c
gcc -O2 -g -fPIC -Wall `pkg-config libpcsclite --cflags` -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o multi2.o multi2.c
gcc -O2 -g -fPIC -Wall `pkg-config libpcsclite --cflags` -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o ts_section_parser.o ts_section_parser.c
gcc -O2 -g -fPIC -Wall `pkg-config libpcsclite --cflags` -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o td.o td.c
gcc -o b25 arib_std_b25.o b_cas_card.o multi2.o ts_section_parser.o td.o `pkg-config libpcsclite --libs` -lm
gcc -shared -o libarib25.so arib_std_b25.o b_cas_card.o multi2.o ts_section_parser.o `pkg-config libpcsclite --libs` -lm -Wl,-soname,libarib25.so.0
|
mkdir -p /usr/local/include/arib25
install -m644 arib_std_b25.h b_cas_card.h portable.h /usr/local/include/arib25
install -m755 b25 /usr/local/bin
install -m755 libarib25.so /usr/local/lib/libarib25.so.0.2.4
ln -sf /usr/local/lib/libarib25.so.0.2.4 /usr/local/lib/libarib25.so.0
ln -sf /usr/local/lib/libarib25.so.0 /usr/local/lib/libarib25.so
ldconfig
|
- さらにrecpt1をコンパイル・インストールします。
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|isodate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \"'1.0.0'\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DB25 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DB25 -c -o recpt1.o recpt1.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DB25 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DB25 -c -o mkpath.o mkpath.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o `pkg-config libpcsclite --libs` -larib25 -lm -lpthread
|
# cp -ip ./recpt1 /usr/local/bin
|
4-7. 録画確認
- ※地元の放送局と物理チャネル番号の対応表を確認。
http://www.maspro.co.jp/contact/bro/bro_ch.html
- 録画テスト
# cd /tmp
# recpt1 --b25 --strip 17 30 test.ts
※17番の物理チャネル番号を30秒間録画しtest.tsに保存する。
|
using B25...
enable B25 strip
Signal=30.438297dB
Recording...
|
コンソールかえると録画完了。
とりあえずできた「test.ts」を「VLC」やWindowsの「MediaPlayer」等で閲覧して、非常にきれいに撮れていることをかくにんしましょう。
ここで、以下のように表示されてしまう場合は、地デジチューナーカードにアンテナが接続できていない可能性があります。4つ挿すところがありますが、地デジの録画ではとりあえずT1と書かれているところにしっかり接続してください。
using B25...
enable B25 strip
Cannot tune to the specified channel
|
続いて「予約録画システム」のステップで予約録画システムを構築していきます。
|