この章の説明
ここではようやく機材を接続して確認をしていこうと思います。簡易ですが機材が接続された時にどんなログが出るかを記載して行きます。
RPi4のシャットダウン
接続する前にRPi4の電源を落とします。
pi@rpi4:~ $ sudo shutdown -h now
しばらくするとRPi4の内部の動作LEDの緑色が消灯します。
次にSCR3310-NTTCom(以後SCR3310)をRPi4のUSB2.0のポートに接続します。またPX-W3U4又はPX-Q3U4をUSB2.0のポートに接続します。
その後すべての電源を入れるのですが全ていっぺんに入れられるといいのですが最悪RPi4が最後に電源が入るように工夫して下さい。私はスイッチ付きのテーブルタップに機材全てのアダプタを接続してあり、テーブルタップのスイッチで入り切りしています。
また、PX-W3U4との接続ですが付属USBケーブル程度の長さや品質が悪いケーブルですとエラーが発生します。というのは電源周辺の回路があまり作りが良くなく、通信もできなくなる可能性を持っています。USB延長ケーブルなどはもってのほかという事です。注意して下さい。(私はそれでかなり迷走しました)可能であればフェライトコアがついた短めのUSBケーブルを用意した方が良いと思います。
電源投入
電源が入りましたらTeraTermProで確認作業を行います。
pi@rpi4:~ $ sudo lsusb
これをすると以下のような文面が帰ってきます。
Bus 002 Device 002: ID 6795:2756 Prolific Technology Inc. USB-SATA Bridge Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 0511:083f N'Able (DataBook) Technologies, Inc. PXW3U4 Bus 001 Device 003: ID 04e6:511a SCM Microsystems, Inc. SCR3310-NTTCom USB SmartCard Reader Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002:がUSBHDD。Bus 001 Device 004:がPX-W3U4。Bus 001 Device 003:がリーダーです。ここは接続した物によって文言が多少変わります。接続的にはOKのようです。
B-CASカードリーダーの動作確認
最初に書いておきますがこのモジュールのインストールは後のDocker内部でインストールされますので確認が終了したら一旦削除する事になります。
pi@rpi4:~ $ sudo apt install -y build-essential git pcscd libpcsclite-dev libccid pcsc-tools
次にリーダーがB-CASをちゃんと読んでいるか確認します。
pi@rpi4:~ $ sudo pcsc_scan
一番最後の行に
Japanese Chijou Digital B-CAS Card (pay TV)
と出力されていれば問題ありません。このモジュールは無限ループなのでCtrl+Cでストップさせます。
PXーW3U4のドライバインストール
次にPX-W3U4の動作確認をします。ドライバはカーネルと呼ばれるOSのコアの部分と密接に絡んでいるのでその対応も含めて確認していきます。
pi@rpi4:~ $ sudo apt install -y dkms pi@rpi4:~ $ mkdir ~/px4_drv pi@rpi4:~ $ cd ~/px4_drv pi@rpi4:~/px4_drv $ git clone https://github.com/nns779/px4_drv pi@rpi4:~/px4_drv $ cd px4_drv/fwtool/ pi@rpi4:~/px4_drv/px4_drv/fwtool $ make pi@rpi4:~/px4_drv/px4_drv/fwtool $ wget http://plex-net.co.jp/plex/pxw3u4/pxw3u4_BDA_ver1x64.zip -O pxw3u4_BDA_ver1x64.zip pi@rpi4:~/px4_drv/px4_drv/fwtool $ unzip -oj pxw3u4_BDA_ver1x64.zip pxw3u4_BDA_ver1x64/PXW3U4.sys pi@rpi4:~/px4_drv/px4_drv/fwtool $ ./fwtool PXW3U4.sys it930x-firmware.bin pi@rpi4:~/px4_drv/px4_drv/fwtool $ sudo cp it930x-firmware.bin /lib/firmware/
./fwtool・・・が起動した時
fwtool for px4 drivers Driver file (in) : PXW3U4.sys Firmware file (out) : it930x-firmware.bin Driver description: PX-W3U4 BDA Ver.1.0 64bit Firmware length: 2169 bytes Firmware CRC32: 0b41a994 OK.
となっていればFirmwareの取り出しは成功しています。
次にドライバを組み込みます
pi@rpi4:~/px4_drv/px4_drv/fwtool $ cd ~/px4_drv/px4_drv/driver/ pi@rpi4:~/px4_drv/px4_drv/driver $ make pi@rpi4:~/px4_drv/px4_drv/driver $ sudo make install pi@rpi4:~/px4_drv/px4_drv/driver $ cd ~/px4_drv/px4_drv/ pi@rpi4:~/px4_drv/px4_drv $ sudo cp -a ./ /usr/src/px4_drv-0.2.1 pi@rpi4:~/px4_drv/px4_drv $ sudo dkms add px4_drv/0.2.1 pi@rpi4:~/px4_drv/px4_drv $ sudo dkms install px4_drv/0.2.1 pi@rpi4:~/px4_drv/px4_drv $ lsmod | grep -e ^px4_drv
最後にpx4_drv ・・・と出ていればインストールは完了しています。
録画コマンドのインストール
これも後々Docker内部に押し込めてしまうので必要ないと言えばそうなのですが確認の為インストールしていきます。
まずはGithubで公開されているstz2012/recpt1を利用し、録画コマンドをインストールします。
pi@rpi4:~/px4_drv/px4_drv $ cd pi@rpi4:~ $ sudo apt install -y cmake autoconf automake pi@rpi4:~ $ git clone https://github.com/stz2012/libarib25 pi@rpi4:~ $ cd libarib25/ pi@rpi4:~/libarib25 $ cmake . pi@rpi4:~/libarib25 $ make pi@rpi4:~/libarib25 $ sudo make install pi@rpi4:~/libarib25 $ cd pi@rpi4:~ $ git clone https://github.com/stz2012/recpt1.git pi@rpi4:~ $ cd recpt1/recpt1/ pi@rpi4:~recpt1/recpt1 $ ./autogen.sh pi@rpi4:~recpt1/recpt1 $ ./configure --enable-b25 pi@rpi4:~recpt1/recpt1 $ make pi@rpi4:~recpt1/recpt1 $ sudo make install pi@rpi4:~recpt1/recpt1 $ cd
インストールが完了したらアンテナ線をスプリッターなど正常な形でPX-W3U4に接続してから以下のコマンドを打ち込みます。
pi@rpi4:~ $ cd /home/samba pi@rpi4:/home/samba $ recpt1 --device /dev/px4video0 --b25 --strip BS15_0 10 bs0.ts pi@rpi4:/home/samba $ recpt1 --device /dev/px4video1 --b25 --strip BS15_0 10 bs1.ts pi@rpi4:/home/samba $ recpt1 --device /dev/px4video2 --b25 --strip 27 10 gr0.ts pi@rpi4:/home/samba $ recpt1 --device /dev/px4video3 --b25 --strip 27 10 gr1.ts
そうするとネットワークPCのRPI4というコンピューターの中にShareがあり、その中にbs0.ts、bs1.ts、gr0.ts、gr1.tsの4つが見えると思います。このファイルをMainPCで視聴してみて下さい。
視聴の方法はここでは説明しません。
無事確認が取れたらチューニングを行います。
pi@rpi4:~ $ echo 'SUBSYSTEM=="vchiq",GROUP="video",MODE="0666"' | sudo tee /etc/udev/rules.d/10-vchiq-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video10",GROUP="video",MODE="0666"' | sudo tee /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video11",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video12",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video13",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video14",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video15",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video16",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video18",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video20",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video21",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video22",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo 'SUBSYSTEM=="video23",GROUP="video",MODE="0666"' | sudo tee -a /etc/udev/rules.d/10-v4l2-permissions.rules pi@rpi4:~ $ echo "options px4_drv xfer_packets=51 urb_max_packets=816 max_urbs=6" | sudo tee /etc/modprobe.d/px4_drv.conf
確認終了後の後始末
本機能は全てDocker上で行います。必要なドライバ以外を全て停止させます。
pi@rpi4:~ $ sudo systemctl stop pcscd.socket pi@rpi4:~ $ sudo systemctl disable pcscd.socket
以上です。
コメント