6.機材の接続

スポンサーリンク
RPi4録画ファイルシステム
スポンサーリンク
スポンサーリンク

この章の説明

ここではようやく機材を接続して確認をしていこうと思います。簡易ですが機材が接続された時にどんなログが出るかを記載して行きます。

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

以上です。

コメント

タイトルとURLをコピーしました