PX-W3PE4チューナー+非公式版ドライバー

Ubuntu 20.04LTS + 非公式版ドライバー(予想外に安定している)
参考サイト(コピペでおせわになりました)
LinuxでPX-W3U4を使う(2019年1月版)
PLEX社製TVチューナーをLinuxで使用する方法

こんな事が有りました
ドライバーは入ったのですがUSBデバイスがlsusbで認識されませんでした。マザーボード上にはUSB2.0Headerが2箇所有ります。1番目にはケースのフロント用に使っていましたので2番めに挿して作業をして認識がなかったのです。ここで1番目と2番目を逆にしましたところ認識が出来るようになりました。理由はわかりませんが1番目の使用が正解とは(ASROCK H110M-HDV)

概要

メーカーサイト(PLEX)からドライバーの供給が有りますが評判が良くないので非公式版のドライバーをダウンロードして使いました
カードリーダーは別途買い揃えます
放送データの復号を行う'arib25'ライブラリ、録画用コマンド'recpt1'をインストール
録画テストをします
非公式版ドライバーのサイト
Docker+Mirakurun+PX-W3PE4+EPGStationをインストール

ICカードリーダーをインストール

Gemalto ジェムアルト ICカードリーダ・ライタを使用
カードリーダーを挿さないでインストールをします
sudo apt install pcscd pcsc-tools

# B-CAS を認識できるか確認する。端末で下記を入力
pcsc_scan
...
Japanese Chijou Digital B-CAS Card (pay TV)
#Ctrl-Cで停止
#上記が表示されればOK

--------ある日こんなことが起きました--------
#突然EPGStationに入れなくなりました。いろいろ調べた結果B-CASカードが認識されていない
pcsc_scan
SCardEstablishContext: Service not available.(サービスは利用できません)
#pcsd startが実行されていない
ls /var/run/pcscd/pcscd.comm
ls: cannot access '/var/run/pcscd/pcscd.comm': No such file or directory
#下記を実行
sudo systemctl restart pcscd.socket

ls /var/run/pcscd/pcscd.comm
/var/run/pcscd/pcscd.comm
#無事に動くようになりました
#カードリーダーを挿したままインストールをしていました
------------------ここまで--------------------

ツールやドライバのビルドに必要なパッケージをインストール

#ドライバーをインストールするための準備。必須です
sudo apt -y install git build-essential autoconf unzip pkg-config dkms
sudo apt -y install pkg-config mercurial libpcsclite-dev ffmpeg libavformat-dev libdlna-dev libupnp-dev cmake curl libtool yasm

非公式Linuxドライバのインストール

#対応デバイス
#PLEX->PX-W3U4,PX-Q3U4,PX-W3PE4,PX-Q3PE4
#GitHubの非公式ドライバのページ

#ドライバのソースコードを取得します
git clone https://github.com/nns779/px4_drv
#Windows用ファームウェアをLinux用に変換
cd px4_drv/fwtool/
make
wget http://plex-net.co.jp/plex/pxw3u4/pxw3u4_BDA_ver1x64.zip -O pxw3u4_BDA_ver1x64.zip
unzip -oj pxw3u4_BDA_ver1x64.zip pxw3u4_BDA_ver1x64/PXW3U4.sys
./fwtool PXW3U4.sys it930x-firmware.bin
sudo mkdir -p /lib/firmware
sudo cp it930x-firmware.bin /lib/firmware/
cd ..

#DKMSを使用する場合(DKMSをインストールをしているので、こっちでいきます)
#gcc, make, カーネルソース/ヘッダ, dkmsがインストールされている必要があります
sudo cp -a ./ /usr/src/px4_drv-0.2.1
sudo dkms add px4_drv/0.2.1
sudo dkms install px4_drv/0.2.1

#DKMSを使用しない場合
#gcc, make, カーネルソース/ヘッダがインストールされている必要があります
cd driver
make
sudo make install
cd ../


ドライバーの確認
#px4_drvから始まる行が表示されれば、カーネルモジュールが正常にロードされています
sudo modprobe px4_drv
lsmod | grep -e ^px4_drv
px4_drv    81920 0

#デバイスファイルの確認
インストールに成功し、カーネルモジュールがロードされた状態でデバイスが接続されると、/dev/ 以下に px4video* のような名前のデバイスファイルが作成されます。 下記のようなコマンドで確認できます
ls /dev/px4video*

/dev/px4video0
/dev/px4video1
/dev/px4video2
/dev/px4video3

#Dockerでmirakurunを動かす場合は以下の設定は必要がない。dockerファイルの中で設定がしてある
#ホストマシン上のpcscdは停止。Mirakurunコンテナ内で管理
sudo systemctl stop pcscd.socket
sudo systemctl disable pcscd.socket

#復旧には
sudo systemctl enable pcscd.socket
sudo systemctl start pcscd.socket
#カードリーダー本体のusbを一度、抜き差しをする

-------------問題があった-------------
それでもカーネルモジュールが正常にロードされない場合は、インストールから再度やり直し
ドライバを一度削除する
sudo dkms remove px4_drv/0.1.0 --all
sudo rm -rf /usr/src/px4_drv-0.1.0

アンインストールする場合
1. ドライバのアンインストール
DKMSを使用せずにインストールした場合
cd ~/px4_drv/driver
sudo make uninstall
cd ../
DKMSを使用してインストールした場合
sudo dkms remove px4_drv/0.2.1 --all
sudo rm -rf /usr/src/px4_drv-0.2.1
2. ファームウェアのアンインストール
sudo rm /lib/firmware/it930x-firmware.bin
-------------ここまで-----------

recpt1,libarib25のインストール

放送データの復号を行うlibarib25をインストール
mkdir ~/src
cd ~/src/
git clone https://github.com/stz2012/libarib25.git
cd libarib25/
cmake .
make
sudo make install

録画コマンドrecpt1をインストール
cd ~/src/
sudo apt install -y autoconf automake
git clone https://github.com/stz2012/recpt1.git
cd recpt1/recpt1/
./autogen.sh
./configure --enable-b25
make
sudo make install

録画テスト

cd ~
recpt1 --device /dev/px4video0 --lnb 15 --b25 --strip BS15_0 10 bs0.m2ts
recpt1 --device /dev/px4video1 --lnb 15 --b25 --strip BS01_2 10 bs1.m2ts
recpt1 --device /dev/px4video2 --b25 --strip 27 10 gr0.m2ts
recpt1 --device /dev/px4video3 --b25 --strip 27 10 gr1.m2ts

録画ファイルを保存したいディレクトリに移動し、端末から
受信信号を調べてみます。増幅器の調整もできます
地デジnhk総合
受信信号を調べてみます(地デジ=30-33dB/BS=16dB)
NHK総合の信号強度を調べる(30dB前後あればOK)
checksignal 27
NHK BS1の信号強度を調べる(16dB以上あればOK)
checksignal 101
NHK総合を10秒録画する
recpt1 --b25 --strip 27 10 test.ts
オプション詳細については"recpt1 --help"を参照のこと
recpt1 --b25 --strip ・・・ b25の暗号解除を有効にして
27 チャンネル番号
10 秒数
カレントディレクトリに「test.ts」ファイルが生成される

inserted by FC2 system