環境を構築し直したので、まとめてみる。今回はUbuntu 16.04 LTSを使った。気が向いたらDebian 9(Stretch)でやる予定。

チューナーのセットアップ

PT3、PX-S1UD V2.0、PX-BCUD、KTV-FSMINIの4つをセットアップした。PT3はDVBドライバを使う。

PT3/PT2/PT1

カーネルにドライバが組み込まれているので、特に設定しなくても認識される。偶数がBS/CS、奇数が地上波と交互になる。

$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3

アンテナに電源供給が必要な場合、chardev版ドライバを導入した方がいい。今回は取り上げない。

PX-S1UD (V2.0)

何もしなくても認識されるが、ファームウェアを入れないと動作しない。

$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3  adapter4

ファームウェアをダウンロードして、インストールする。モジュールをロードし直すと有効になる。

$ wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
$ unzip PX-S1UD_driver_Ver.1.0.1.zip
$ sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/
$ sudo modprobe -r smsusb
$ sudo modprobe smsusb

adapterの番号を変更するには次のようにする。複数ある場合は「,」で区切る。認識できるadapterの数は8つまでなので、0~7の番号が指定できる(Linux 4.10以降は16個なので0~15)。

$ sudo modprobe -r smsdvb
$ sudo modprobe smsdvb adapter_nr=4

他のDVBデバイスと区別するため、起動時に番号を固定する。他にDVBデバイスがない場合は必要ない。

$ sudo sh -c 'echo "options smsdvb adapter_nr=4" > /etc/modprobe.d/smsdvb.conf'

PX-BCUD

LinuxカーネルにPX-BCUDのドライバが組み込まれるのは4.7以上で、標準のカーネル(4.4)ではドライバが組み込まれていない。HWEカーネルを導入する。

$ uname -r
4.4.0-83-generic
$ sudo apt install linux-generic-hwe-16.04
$ sudo reboot

$ uname -r
4.8.0-58-generic
$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3  adapter4  adapter5

adapter番号の指定

$ sudo modprobe -r em28xx-dvb
$ sudo modprobe em28xx-dvb adapter_nr=5
$ sudo sh -c 'echo "options em28xx-dvb adapter_nr=5" > /etc/modprobe.d/em28xx_dvb.conf'

KTV-FSMINI(KTV-FSUSB2/V3)

KTV-FSMINIはドライバではなくコマンドを利用する。KTVWikiにあるrecfsusb2iをダウンロードして、ビルドする。

$ sudo apt install p7zip-full
$ 7z x recfsusb2i-20160220.7z -orecfsusb2i
$ cd recfsusb2i/src/
$ make
$ sudo install recfsusb2i /usr/local/bin/

dvb-toolsをインストール

DVBデバイスをチューニングするにはdvbv5-zapが必要になる。dvbv5-zapはdvb-toolsに含まれている。

$ sudo apt install dvb-tools

チューニングに必要な設定をダウンロード

$ sudo apt install git
$ cd /usr/local
$ sudo git clone https://github.com/Chinachu/dvbconf-for-isdb.git

ICカードリーダーをセットアップ

パッケージのインストール

$ sudo apt install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools

動作確認

$ pcsc_scan | grep B-CAS
        Japanese Chijou Digital B-CAS Card (pay TV)
^C

現行のLinuxで使えるチューナー

最後に現在も販売されているチューナーを挙げておく。

Chinachuのセットアップ

実行ユーザーの作成

Chinachuの実行ユーザー作成(既存のユーザーにする場合は不要)

$ sudo adduser chinachu

Chinachuの実行ユーザーをsudoグループに所属させる

$ sudo adduser chinachu sudo

Chinachuの実行ユーザーに切り替え

$ sudo -i -u chinachu

Mirakurunのインストール

Node.jsをインストール

$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt install -y nodejs
$ sudo npm -g i npm@latest # NPMを更新する

PM2とMirakurunをインストール

$ sudo npm install pm2 -g
$ sudo npm install mirakurun -g --unsafe --production

arib-b25-stream-testをインストール

$ sudo npm install arib-b25-stream-test -g --unsafe

Mirakurunの設定

$ sudo mirakurun config server

Mirakurunのチューナー設定

$ sudo mirakurun config tuners

設定ファイルやadapterの番号を間違えないように気を付けて編集する

Mirakurunのチャンネル設定

$ sudo mirakurun config channels

BS/CSのチャンネルだけ登録する

チャンネルスキャンで地上波のチャンネルを設定する

$ sudo mirakurun restart
$ curl -X PUT "http://localhost:40772/api/config/channels/scan"
$ sudo mirakurun restart

Chinachuのインストール

Chinachuのダウンロードとインストール

$ sudo apt install git
$ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
$ cd ~/chinachu/
u$ ./chinachu installer
Chinachu Installer Menu:
[!] These are installed under all /home/chinachu/chinachu/...
[!] Recommend the Auto installation.
1) Auto (full)          3) Node.js Environment  5) ffmpeg
2) submodule            4) Node.js Modules
what do you install? > 1

設定

$ cp config.sample.json config.json
$ vi config.json

実行ユーザーを指定する

"uid": "chinachu",

別のマシンからアクセスされるIPアドレスを指定する

"wuiOpenHost": "192.168.60.10",

空の予約ルールを作成

$ echo [] > rules.json

動作チェック

$ ./chinachu service wui execute
^C
$ ./chinachu update

サービスを登録

$ sudo pm2 start processes.json
$ sudo pm2 save

以上でインストールは完了。

ドライバはなるべく標準ドライバで対応して手間を省いた。チャンネル設定はBS/CSの設定が決まっていて、地上波はチャンネルスキャンできるので手間取らなかった。以前に比べて簡単になったものの、まだ手間がかかるように思う。

参考

7月 19th, 2017

Posted In: ハードウェア

タグ: , , , , , , ,

2 Comments