Arch LinuxでPT3

Arch LinuxでPT3を使う。

ドライバはLinuxのメインラインに組み込まれたearth_pt3を使用。 DVBドライバなのでmythtvなどの一般的なアプリケーションで使用できるがそのままでは暗号化されているので複合化が必要。 そこでfuse_b25でPT3をマウントして仮想アダプタを作成、複合化してデータを流す。

 




 

PT3が認識されてるか確認。
$ lspci -v | grep Altera

01:00.0 Multimedia controller: Altera Corporation Device 4c15 (rev 01)
Subsystem: Device ee8d:0368
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at fdeff000 (64-bit, prefetchable) [size=4K ]
Memory at fdefe000 (64-bit, prefetchable) [size=4K]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Endpoint, MSI 01
Capabilities: [100]
Virtual Channel Kernel driver in use: earth_pt3
Kernel modules: earth_pt3

 




 

カードリーダ周りとfuseをインストール
$ yaourt -S ccid pcsclite fuse

 




 

fuse_b25のインストール
$ wget http://www3.wazoku.net/2sen/dtvup/up0664.zip
$ unzip up0664.zip
$ cd fuse_b25-0.4.8
$ unzip fuse_b25-0.4.8.zip
$ cd fuse_b25-0.4.8
$ ./configure
$ make
$ make install

 




fuse_b25の使い方

PT3を1枚刺しているとすると、 /dev/dvb/adapter1 ~ adapter4 が認識されているはずです。

adapter1 -> fuse_b25 -> adapter9

adapter2 -> fuse_b25 -> adapter10

adapter3 -> fuse_b25 -> adapter11

adapter4 -> fuse_b25 -> adapter12

という感じでマウントさせます。

PT3を2枚刺したときのことを考えて+8の値が良いです。

 

マウント先用のアダプタを作成する
$ sudo /usr/local/sbin/b25dir 9

 

 

マウント
$ /usr/local/bin/fuse_b25 -o allow_other /dev/dvb/adapter9

アダプタ番号-8のアダプタをマウントしてくれます。

 

PT3を3枚以上搭載していたり、マウント元のデバイスを直接指定したい場合はこのように書けます。
$ sudo /usr/local/bin/fuse_b25 --target /dev/dvb/adapter1 -o allow_other /dev/dvb/adapter9

 

アンマウント
$ sudo /usr/bin/fusermount -u /dev/dvb/adapter9

 




 

fuse_b25をsystemdに対応させる

http://www43.atwiki.jp/mythtv-dvb/pages/25.html

こちらを参考にsystemdのserviceファイルを作成する。
$ sudo vim /etc/systemd/system/fuse_b25.service

[Unit] 
Description=start fuse_b25 for Japanese ISDB-T/ISDB-S broadcasting
After=local-fs.target pcscd.service dev-dvb-adapter0.device
Wants=dev-dvb-adapter0.device

[Service]
Type=oneshot
ExecStart=/usr/local/bin/start_fuse_b25.sh
ExecStop=/usr/local/bin/stop_fuse_b25.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

 

systemdのserviceファイルから呼び出すシェルスクリプトの作成

起動用
$ sudo vim /usr/local/bin/start_fuse_b25.sh

#!/bin/sh

/usr/local/sbin/b25dir 9
/usr/local/sbin/b25dir 10
/usr/local/sbin/b25dir 11
/usr/local/sbin/b25dir 12
/usr/local/bin/fuse_b25 /dev/dvb/adapter9 -o allow_other
/usr/local/bin/fuse_b25 /dev/dvb/adapter10 -o allow_other
/usr/local/bin/fuse_b25 /dev/dvb/adapter11 -o allow_other
/usr/local/bin/fuse_b25 /dev/dvb/adapter12 -o allow_other
exit 0

 

終了用
$ sudo /usr/local/bin/stop_fuse_b25.sh

#!/bin/sh

/usr/bin/fusermount -u /dev/dvb/adapter12
/usr/bin/fusermount -u /dev/dvb/adapter11
/usr/bin/fusermount -u /dev/dvb/adapter10
/usr/bin/fusermount -u /dev/dvb/adapter9
rm -rf /dev/dvb/adapter12
rm -rf /dev/dvb/adapter11
rm -rf /dev/dvb/adapter10
rm -rf /dev/dvb/adapter9
exit 0

 




 

起動
$ systemctl start fuse_b25

 

終了
$ sudo systemctl stop fuse_b25

 

システム起動時に起動
$ sudo systemctl enable fuse_b25

 

システム起動時に起動させない
$ sudo systemctl disable fuse_b25

 




 

Mythtv、recdvb、mplayer、VLCなどのdvb対応ソフトでマウントしたアダプタを指定することで、再生することができます。

 

Mythtvでは、パッチを当てないとBS/CSが正常に受信できなかったり、番組表が文字化けしたりするようです。

recdvbはBS/CSが受信できないようなので、対応したらchinachuやepgrecなどが使用できるはずです。

 

今のところ、視聴・録画はできても、日本で普通に使えるスケジュール録画ソフトがないのが現状です。

Arch Linuxはカーネルの更新が多いので、できるだけメインラインに組み込まれたドライバを使いたいです。

コメント

このブログの人気の投稿

fontconfigの設定

VLCでBlu-rayを再生

UEFIのブートオーダーを一時的に変更する