CentOS 7、Ubuntu 16.04 LTS、Debian 8でPX-W3U4の設定をしたみたのでまとめる。
PX-Q3U4, PX-W3PE4, PX-Q3PE4でも同じ手順でセットアップできる。
追記: 4月、5月のBS周波数再編の影響で一部チャンネルが受信できなくなっている。(最新版ドライバで修正済み)
最新版ドライバ向け記事
CentOSはEPRLのパッケージが必要なので追加する。
$ curl -LO http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo rpm -ivh epel-release-latest-7.noarch.rpm
配布されているモジュールに合わせたカーネルをインストールする。カーネルのアップデートはできない。
$ sudo apt-get install linux-image-4.13.0-19-generic linux-headers-4.13.0-19-generic $ sudo reboot $ uname -r 4.13.0-19-generic
モジュール書き換えることでHWEカーネルでも使用できる。
少し手間はかかるが、Ubuntu 18.04がリリースされるまでは対応したカーネルのアップデートがある。
$ sudo apt-get install linux-generic-hwe-16.04 $ sudo reboot $ uname -r 4.13.0-26-generic
$ mkdir -p ~/src/ $ cd ~/src/ $ sudo yum install -y unzip $ curl -LO http://plex-net.co.jp/plex/linux/CentOS7-1708_64bit_kernel3.10.0-693.zip $ unzip CentOS7-1708_64bit_kernel3.10.0-693.zip $ cd CentOS7-1708_64bit_kernel3.10.0-693/
$ mkdir -p ~/src/ $ cd ~/src/ $ wget http://plex-net.co.jp/plex/linux/Ubuntu17.10_64bit_Kernel4.13.0-19.zip $ unzip Ubuntu17.10_64bit_Kernel4.13.0-19.zip $ cd Ubuntu17.10_64bit_Kernel4.13.0-19/
$ mkdir -p ~/src/ $ cd ~/src/ $ wget http://plex-net.co.jp/plex/linux/Debian8.0.0_64bit_kernel3.16.0-4.zip $ unzip Debian8.0.0_64bit_kernel3.16.0-4.zip $ cd Debian8.0.0_64bit_kernel3.16.0-4/
ドライバ周りの操作を自動化するためにDKMSを使用する。これでカーネルのアップデートがあった場合も自動的に適応できる。
$ sudo yum install -y dkms kernel-headers kernel-devel
$ sudo apt-get install -y dkms
モジュールをコピーするだけの設定を作る。Ubuntu+HWEカーネル以外は同じ。
$ sudo mkdir -p /usr/src/px4-1712/ $ sudo cp -v *.ko /usr/src/px4-1712/ $ sudo vi /usr/src/px4-1712/dkms.conf
$ sudo dkms install -m px4 -v 1712
UbuntuとHWEカーネルを使う場合はモジュールのvermagicを書き換える必要がある。
$ sudo mkdir -p /usr/src/px4-1712/src/ $ sudo cp -v *.ko /usr/src/px4-1712/src/ $ sudo vi /usr/src/px4-1712/dkms.conf
$ sudo dkms install -m px4 -v 1712
アップデートに備えてモジュールを強制ロードできるようにする。チューナーの接続時にmodprobeを–forceオプションを付きで実行させる。デバイスファイルのパーミッションも設定する。
$ sudo vi /etc/udev/rules.d/99-px4.rules ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0511", ATTR{product}=="*[QW]3*4", RUN+="/sbin/modprobe -f usb-px4" KERNEL=="px4-DTV*", GROUP="video", MODE="0666" $ sudo reboot $ ls /dev/px4-DTV* /dev/px4-DTV0 /dev/px4-DTV1 /dev/px4-DTV2 /dev/px4-DTV3
Ubuntuの場合は強制ロードは必要ないので、パーミッションだけ設定する。
$ sudo vi /etc/udev/rules.d/99-px4.rules KERNEL=="px4-DTV*", GROUP="video", MODE="0666" $ sudo reboot $ ls /dev/px4-DTV* /dev/px4-DTV0 /dev/px4-DTV1 /dev/px4-DTV2 /dev/px4-DTV3
内蔵のカードリーダーは使えないので別途用意する。CentOSは/usr/local/libへのパスを通す。
$ cd ~/src/ $ sudo yum install -y git cmake gcc-c++ pcsc-lite pcsc-lite-devel pcsc-tools $ git clone https://github.com/stz2012/libarib25.git $ cd libarib25/ $ cmake . $ make $ sudo make install $ sudo sh -c "echo /usr/local/lib >> /etc/ld.so.conf.d/libc.conf" $ sudo ldconfig
$ cd ~/src/ $ sudo apt-get install -y git build-essential cmake libpcsclite1 libpcsclite-dev pcscd pcsc-tools $ git clone https://github.com/stz2012/libarib25.git $ cd libarib25/ $ cmake . $ make $ sudo make install
$ pcsc_scan | grep B-CAS Japanese Chijou Digital B-CAS Card (pay TV) ^C
CentOS 6のドライバに付属しているrecpt1を使う。B25を有効にするためリビルド。通常のrecpt1と区別するためリネームした。checksignalはうまく動作しない。
$ cd ~/src/ $ curl -LO http://plex-net.co.jp/download/linux/Linux_Driver.zip $ unzip Linux_Driver.zip $ cd Linux_Driver/MyRecpt1/MyRecpt1/recpt1/ $ sh configure --enable-b25 $ make $ sudo install -m 755 recpt1 /usr/local/bin/recpx4 $ sudo install -m 755 recpt1ctl /usr/local/bin/recpx4ctl
実際に録画してみる。0,1が衛星波、2,3が地上波。チューナーが増えた場合も衛星波2、地上波2の順で繰り返される。
$ cd ~ $ recpx4 --device /dev/px4-DTV0 --lnb 15 --b25 --strip BS15_0 10 bs0.m2ts $ recpx4 --device /dev/px4-DTV1 --lnb 15 --b25 --strip BS15_0 10 bs1.m2ts $ recpx4 --device /dev/px4-DTV2 --b25 --strip 27 10 gr0.m2ts $ recpx4 --device /dev/px4-DTV3 --b25 --strip 27 10 gr1.m2ts
takaaki 1月 29th, 2018
Posted In: ハードウェア
CentOS 6だけに対応していたときの覚書。今は他のディストリビューションにも対応しているので古い情報。
追記: 新しい情報はこちら
unzipのインストール
# yum install unzip -y
ドライバをダウンロード
# curl -LO http://plex-net.co.jp/download/linux/Linux_Driver.zip
ドライバモジュールをロード
# unzip Linux_Driver.zip # cd Linux_Driver/Linux_Driver/ # insmod tty_Virtual.ko # insmod usb-px4.ko
認識されているか確認
# ls /dev/px4-DTV? /dev/px4-DTV0 /dev/px4-DTV1 /dev/px4-DTV2 /dev/px4-DTV3
再起動すると元に戻るので自動的にロードさせる
ドライバをコピー
# cp -v tty_Virtual.ko usb-px4.ko /usr/local/lib64/ `tty_Virtual.ko' -> `/usr/local/lib/tty_Virtual.ko' `usb-px4.ko' -> `/usr/local/lib/usb-px4.ko'
設定を追加
# vi /etc/sysconfig/modules/usb-px4.modules
#!/bin/sh /sbin/insmod /usr/local/lib64/tty_Virtual.ko /sbin/insmod /usr/local/lib64/usb-px4.ko
実行権限を追加
# chmod +x /etc/sysconfig/modules/usb-px4.modules
recpt1をインストール
# cd ../MyRecpt1/MyRecpt1/recpt1 # install -m 755 recpt1 /usr/local/bin/recpx4 # install -m 755 recpt1ctl /usr/local/bin/recpx4ctl
ビルドは必要ない。PT1/2/3用とややこしいのでrecpx4にリネームしておく
内蔵カードリーダーは使えないのでカードリーダーを別途用意する。
NodeJSをインストール
# curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - # yum install -y nodejs
arib-b25-stream-testをセットアップ(EPELの導入が必要)
# curl -LO http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm # yum install gcc-c++ pcsc-lite pcsc-lite-devel pcsc-tools # npm install arib-b25-stream-test -g --unsafe
そのままではサービスがうまく起動しないので再起動する
# reboot
カードリーダーの動作確認
$ pcsc_scan | grep B-CAS Japanese Chijou Digital B-CAS Card (pay TV) ^C
PM2のインストール
# npm install pm2 -g # pm2 startup
Mirakurunのインストール
# npm install mirakurun -g --unsafe --production
Mirakurunのチューナー設定
# mirakurun config tuners
0,1が衛星波、2,3が地上波になる
Mirakurunのチャンネル設定
# mirakurun config channels
BS/CSのチャンネルだけ登録する
チャンネルスキャンで地上波のチャンネルを設定する
# mirakurun restart $ curl -X PUT "http://localhost:40772/api/config/channels/scan" # mirakurun restart
別のマシンからアクセスできるようにファイアウォールを設定する
# iptables -I INPUT -p tcp -m tcp --dport 40772 -j ACCEPT # service iptables save
takaaki 1月 7th, 2018