書きなぐり部分が多くて申し訳ないです・・・
力尽きました笑
CentOS7をMinimalインストールします。
esxi7
pciパススルー設定 -> ホスト -> 管理 -> Xilinx Multimedia controller -> パススルーの切り替え -> アクティブ
仮想PC
設定の編集 -> その他のデバイスの追加 -> PCIデバイス -> 2枚刺しなら2回
設定の編集 -> メモリ -> 予約 -> RAMと同量に設定 -> 起動
設定の編集 -> その他のデバイスの追加 -> USBデバイス
$ lspci | grep Multi
{address} Multimedia controller: Xilinx Corporation Device 222a (rev 01)
開発環境
$ sudo yum install autogen perl-ExtUtils-MakeMaker openssl-devel boost-devel cmake
[Install Linux kernel-devel] (https://qiita.com/metheglin/items/60261f474ccdfb467574) -> kernelとkernel-develのバージョンを合わせる。
;kernel
$ yum uname-r
;kernel-devel
$yum list installed | grep kernel-devel
$ sudo vim /etc/yum.conf
- exclude=kernel*
$ sudo yum install epel-release
$ sudo vi /etc/yum.repos.d/epel.repo
- enabled=1
- enabled=0
$ sudo yum --enablerepo=epel install nkf dkms
ドライバインストール
スマートカード
SmartCardReader
$ sudo yum install ccid
$ sudo yum install pcsc-lite-devel
pcsc-perlをインストール
$ wget http://ludovic.rousseau.free.fr/softwares/pcsc-perl/pcsc-perl-1.4.14.tar.bz2
$ tar xf pcsc-perl-1.4.14.tar.bz2
$ cd pcsc-perl-1.4.14.tar.bz2
$ perl Makefile.PL
ここでエラーがでる・・・がmakeできる?
$ make
$ sudo make install
$ cd ..
pcsc-toolsをインストール
$ wget https://launchpad.net/ubuntu/+archive/primary/+files/pcsc-tools_1.4.23.orig.tar.gz
$ tar xvzf pcsc-tools_1.4.23.orig.tar.gz
$ cd pcsc-tools-1.4.23
$ make
$ sudo make install
$ systemctl enable pcscd
$ systemctl start pcscd
$ systemctl status pcscd
$ pcsc_scan
Japanese Chijou Digital B-CAS Card (pay TV)を確認
ARIB25のインストール
$ mkdir ~/git
$ cd ~/git
$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25/
$ cmake .
$ make
$ sudo make install ※インストール
$ echo /usr/local/lib64 | sudo tee -a /etc/ld.so.conf.d/usr-local-lib.conf
$ sudo ldconfig
ライブラリlibaribの確認
$ ldconfig -p | grep libarib
pt1標準ドライバーを外す
確認
$ lsmod | grep pt1
2行見つかり、1行は earth_pt1
$ sudo rmmod earth_pt1
何も表示されないのを確認
$ lsmod | grep pt1
$ sudo vi /etc/modprobe.d/blacklist.conf
- blacklist earth_pt1
$ sudo yum install gtk2
$ sudo yum install gtk2-devel
$ cd pt1-17b4f7b5dccb/driver //新しい方のドライバを使う ディレクトリ名はバージョンによって違う
$ make
$ make install
$ modprobe pt1_drv
$ modprobe -l | grep pt1_drv //pt1_drv.koが確認できればOK
$ cd
$ cd pt1-17b4f7b5dccb/recpt1
$ . autogen.sh
$ ./configure --enable-b25 //--enable-b25オプションはB-CASカードを利用するオプション
make時のリンク切れエラー対策 バージョンは現在に合わせる。
$ sudo ln -s /usr/src/kernels/3.10.0-1127.8.2.el7.x86_64 /lib/modules/3.10.0-1127.8.2.el7.x86_64/build
$ make
$ make install
$ cd
シグナルチェック
$ checksignal --device /dev/pt1video0 --lnb 15 211
$ checksignal --device /dev/pt1video2 16
録画チェック
$ recpt1 --b25 --strip 23 10 test.ts
# yum install https://rpm.nodesource.com/pub_12.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm
$ yum info nodejs
Version : 12.17.0 -> 偶数が安定バージョン
$ sudo yum install nodejs
$ node --version
v12.17.0
$ sudo npm install pm2 -g
$ sudo npm install mirakurun -g --production
$ su -
# mirakurun init
# exit
$ ls /etc/systemd/system
※pm2-root.serviceが作成されていることを確認
$ sudo npm install rivarun -g
$ sudo npm install arib-b25-stream-test -g --unsafe
$ sudo pm2 status
※Mirakurunがonlineであることを確認
$ sudo reboot
$ sudo pm2 status
※Mirakurunがonlineであることを確認
# wget http://www.wazoku.net/softcas.zip
# unzip softcas.zip
# cd softcas
# wget -O winscard.cpp http://pastebin.com/download.php?i=5144Ah9g
# wget -O Makefile http://pastebin.com/download.php?i=FQdSixkB
次に、ライブラリが変更されたため、winscard.cppの一部を書き換える必要がある。
以下のコマンドでソースの書き換えを行う。
# sed -i "/LONG SCardGetStatusChange/s/LPSCARD_READERSTATE_A/LPSCARD_READERSTATE/g" winscard.cpp
# sed -i "s/SCARD_IO_REQUEST g_rgSCardT1Pci;/const SCARD_IO_REQUEST g_rgSCardT1Pci = { SCARD_PROTOCOL_T1, sizeof(SCARD_IO_REQUEST) };/g" winscard.cpp
ソースの書き換え後、makeを行う。
# make
make後、「libpcsclite.so.1.0.0」というファイルが作成されているので、「/usr/lib64」に移動する。
# cp libpcsclite.so.1.0.0 /usr/lib64/
TvTest
BonDriver_Mirakurun.ini
IPアドレスの設定
LGTMお願いします!
書き直すモチベーションください!笑