PLEX や e-Better から発売された各種 ISDB-T/S チューナー向けの chardev 版非公式 Linux ドライバ / Windows (WinUSB) ドライバです。
PLEX 社の Webサイト にて配布されている公式ドライバとは別物です。
本家 nns779/px4_drv は 2021 年以降メンテナンスされておらず、残念ながら nns779 氏自身もネット上から失踪されています。
このフォークは、各々のフォークに散逸していた有用な変更を一つにまとめ、継続的にメンテナンスしていくことを目的としています。
DisplayErrorMessage
を 1 に設定すると今まで通り MessageBox が表示される動作確認は Ubuntu 20.04 LTS (x64) で行っています。
ctrl_timeout
をモジュールパラメーターに追加PLEX
e-Better
[!NOTE] 2021 年以降メンテナンスされていない nns779/px4_drv と異なり、新規に下記チューナーのサポートを追加しています。
- PLEX PX-M1UR
- PLEX PX-S1UR
- e-Better DTV02A-1T1S-U / Digibest ISDB2056 (Windows 版ドライバ)
- e-Better DTV02A-1T1S-U (ロット番号 2309 以降) / Digibest ISDB2056N
Windows (WinUSB) 版のドライバは、OS にチューナーを認識させるための inf ファイルと、px4_drv 専用の BonDriver、ドライバの実体でチューナー操作を司る DriverHost_PX4 から構成されています。
ビルド済みのアーカイブは こちら からダウンロードできます。
または、winusb フォルダにある build.ps1 を実行して、ご自分でビルドしたものを使うこともできます (Visual Studio 2019 が必要です) 。
Driver フォルダには、各機種ごとのドライバのインストールファイル (.inf) が配置されています。
ドライバをインストールする前に cert-install.jse を実行し、自己署名証明書をインストールしてください。
自己署名証明書をインストールして信頼することで、自己署名証明書を使用して署名されたドライバも、(自己署名証明書をアンインストールするまでは)通常の署名付きドライバと同様に信頼されるようになります。
自己署名証明書をインストールしたあとは、公式ドライバと同様の手順でインストールできると思います(公式ドライバは事前にアンインストールしてください)。
具体的には、デバイスマネージャーからチューナーデバイスを選択し、右クリックメニューの [ドライバーの更新] → [コンピューターを参照してドライバーを検索] から、inf ファイルが入っている Driver フォルダを指定してください。[ドライバーが正常に更新されました] と表示されていれば OK です。
チューナーの機種に応じた BonDriver を配置します。
BonDriver_PX4
BonDriver_PX-MLT
BonDriver_ISDB2056
BonDriver_ISDB2056N
BonDriver_PX-M1UR
BonDriver_PX-S1UR
お使いの PC に合うビット数のフォルダの中のファイルをすべて選択し、TVTest や EDCB などのソフトウェアが指定する BonDriver の配置フォルダにコピーします。
BonDriver と同じフォルダに DriverHost_PX4.exe / DriverHost_PX4.ini / it930x-firmware.bin があることを確認してください。
使用にあたり、特段 ini ファイルの設定変更などは必要ありません。ソフトウェアごとにチャンネルスキャンを行えばそのまま視聴できます。
なお、BonDriver の ini ファイル内の DisplayErrorMessage
を 1 に設定すると、オリジナル同様にエラー発生時にメッセージボックスを表示します。
[!IMPORTANT]
px4_drv を Debian パッケージや DKMS を使用してインストールする際、ファームウェアは自動的にインストールされます。
Debian パッケージや DKMS を使用してインストールを行う場合は、この手順をスキップしてください。
事前に unzip, gcc, make がインストールされている必要があります。
$ cd 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 && rm pxw3u4_BDA_ver1x64.zip
$ ./fwtool PXW3U4.sys it930x-firmware.bin && rm PXW3U4.sys
$ sudo mkdir -p /lib/firmware && sudo cp it930x-firmware.bin /lib/firmware/
$ cd ../
または、抽出済みのファームウェアを利用することもできます。
$ sudo mkdir -p /lib/firmware && sudo cp ./etc/it930x-firmware.bin /lib/firmware/
一部の Linux ディストリビューションでは、別途 udev のインストールが必要になる場合があります。
Debian パッケージを使用してインストールすると依存パッケージも自動インストールされるほか、DKMS のソースコード管理も透過的に行われます。
Ubuntu / Debian 環境では Debian パッケージを使用してインストールすることを強く推奨します。
$ wget https://github.com/tsukumijima/px4_drv/releases/download/v0.5.1/px4-drv-dkms_0.5.1_all.deb
$ sudo apt install -y ./px4-drv-dkms_0.5.1_all.deb
上記コマンドで、px4_drv の Debian パッケージをインストールできます。
[!TIP] 手動で Debian パッケージを生成することもできます。
./build_deb.sh
を実行すると、./build_deb.sh
の一つ上層のディレクトリにpx4-drv-dkms_0.5.1_all.deb
という名前の Debian パッケージが生成されます。$ ./build_deb.sh $ sudo apt install -y ../px4-drv-dkms_0.5.1_all.deb
上記コマンドで、生成した px4_drv の Debian パッケージをインストールできます。
gcc, make, カーネルソース/ヘッダ, dkms がインストールされている必要があります。
$ sudo cp -a ./ /usr/src/px4_drv-0.5.1
$ sudo dkms add px4_drv/0.5.1
$ sudo dkms install px4_drv/0.5.1
事前に gcc, make, カーネルソース/ヘッダがインストールされている必要があります。
[!WARNING]
DKMS を使用せずにインストールした場合、カーネルのアップデート時にドライバが自動で再ビルドされないため、アップデート後に再度インストールを行う必要があります。
可能な限り DKMS を使用してインストールすることをおすすめします。
$ cd driver
$ make
$ sudo make install
$ cd ../
下記のコマンドを実行し、px4_drv
から始まる行が表示されれば、カーネルモジュールが正常にロードされています。
$ lsmod | grep -e ^px4_drv
px4_drv 81920 0
何も表示されない場合は、下記のコマンドでカーネルモジュールを明示的にロードしてから、再度上記のコマンドを実行して確認を行ってください。
$ sudo modprobe px4_drv
それでもカーネルモジュールが正常にロードされない場合は、インストールから再度やり直してください。
[!IMPORTANT]
px4_drv や Linux カーネルの更新後、px4_drv は自動再ロードされない場合があります。
px4_drv や Linux カーネルを更新した際は、可能な限りすぐに PC を再起動することを強く推奨します。
すぐに再起動ができない状況では、必ずsudo modprobe px4_drv
を実行してください。
(当然ですが、録画予約のある時間帯に px4_drv や Linux カーネルを更新するべきではありません。)
インストールに成功し、カーネルモジュールがロードされた状態でデバイスが接続されると、/dev/
以下にデバイスファイルが作成されます。
下記のようなコマンドで確認できます。
$ ls /dev/px4video*
/dev/px4video0 /dev/px4video1 /dev/px4video2 /dev/px4video3
チューナーは、px4video0
から ISDB-S, ISDB-S, ISDB-T, ISDB-T というように、SとTが2つずつ交互に割り当てられます。
$ ls /dev/px4video*
/dev/px4video0 /dev/px4video2 /dev/px4video4 /dev/px4video6
/dev/px4video1 /dev/px4video3 /dev/px4video5 /dev/px4video7
チューナーは、px4video0
から ISDB-S, ISDB-S, ISDB-T, ISDB-T, ISDB-S, ISDB-S, ISDB-T, ISDB-T というように、S と T が2つずつ交互に割り当てられます。
$ ls /dev/pxmlt5video*
/dev/pxmlt5video0 /dev/pxmlt5video2 /dev/pxmlt5video4
/dev/pxmlt5video1 /dev/pxmlt5video3
すべてのチューナーにおいて、ISDB-T と ISDB-S のどちらも受信可能です。
$ ls /dev/pxmlt8video*
/dev/pxmlt8video0 /dev/pxmlt8video3 /dev/pxmlt8video6
/dev/pxmlt8video1 /dev/pxmlt8video4 /dev/pxmlt8video7
/dev/pxmlt8video2 /dev/pxmlt8video5
すべてのチューナーにおいて、ISDB-T と ISDB-S のどちらも受信可能です。
$ ls /dev/pxm1urvideo*
/dev/pxm1urvideo0
すべてのチューナーにおいて、ISDB-T と ISDB-S のどちらも受信可能です。
$ ls /dev/pxs1urvideo*
/dev/pxs1urvideo0
すべてのチューナーにおいて、ISDB-T のみ受信可能です。
$ ls /dev/isdb2056video*
/dev/isdb2056video0
すべてのチューナーにおいて、ISDB-T と ISDB-S のどちらも受信可能です。
[!NOTE]
ロット番号 2309 以降の DTV02A-1T1S-U を接続した場合も、デバイスファイル名は/dev/isdb2056video*
となります。
/dev/isdb2056nvideo*
ではないので注意してください。
$ ls /dev/isdb6014video*
/dev/isdb6014video0 /dev/isdb6014video2
/dev/isdb6014video1 /dev/isdb6014video3
すべてのチューナーにおいて、ISDB-T と ISDB-S のどちらも受信可能です。
デバイスマネージャーからチューナーデバイス( PLEX PX-W3PE5 ISDB-T/S Receiver Device (WinUSB) のような名前)を選択します。
その後、右クリックメニュー → [デバイスのアンインストール] から、[このデバイスのドライバー ソフトウェアを削除します] にチェックを入れて、ドライバをアンインストールしてください。
ドライバのインストール時にインストールした自己署名証明書をアンインストールするには、cert-uninstall.jse を実行します。アンインストールするとドライバが信頼されなくなってしまうので、十分注意してください。
$ sudo apt purge px4-drv-dkms
$ sudo dkms remove px4_drv/0.5.1 --all
$ sudo rm -rf /usr/src/px4_drv-0.5.1
$ sudo modprobe -r px4_drv
$ cd driver
$ sudo make uninstall
$ cd ../
[!NOTE]
px4_drv を Debian パッケージや DKMS を使用してインストールした場合、ファームウェアは自動的にアンインストールされます。
Debian パッケージや DKMS を使用してインストールを行った場合は、この手順はスキップしてください。
$ sudo rm /lib/firmware/it930x-firmware.bin
チューナーの機種に応じた BonDriver とその設定ファイルを配置し、TVTest や EDCB などの BonDriver に対応したソフトウェアで使用することで、TS データを受信することが可能です。
BonDriver は専用のものが必要になるため、公式 (Jacky版) BonDriver や radi-sh 氏版 BonDriver_BDA と併用することはできません。
recpt1 や BonDriverProxy_Linux 等の PT シリーズ用 chardev ドライバに対応したソフトウェアを使用することで、TS データを受信することが可能です。
recpt1 は、PLEX 社より配布されているものを使用する必要はありません。
BonDriverProxy_Linux と、PLEX PX-MLT5PE や e-Better DTV02A-1T1S-U などのデバイスファイル1つで ISDB-T と ISDB-S のどちらも受信可能なチューナーを組み合わせて使用する場合は、BonDriver として BonDriverProxy_Linux に同梱されている BonDriver_LinuxPT の代わりに、BonDriver_LinuxPTX を使用してください。
出力なしと 15V の出力のみに対応しています。デフォルトでは LNB 電源の出力を行いません。
LNB 電源の出力を行うには、recpt1 を実行する際のパラメータに --lnb 15
を追加してください。
Windows では、BonDriver_PX4-S.ini に記載の LNBPower=0
を LNBPower=1
に変更してください。
出力なしと 15V の出力のみに対応しているものと思われます。
対応していないものとされていましたが、5ch の有志により、正しく LNB 電源を出力できることが確認されています (参考)。
対応しておりません。
対応していると思われます。
このドライバは、各種対応デバイスに内蔵されているカードリーダーやリモコンの操作には対応していません。
また、今後対応を行う予定もありません。ご了承ください。
e-Better DTV02-1T1S-U は、個体によりデバイスからの応答が無くなることのある不具合が各所にて多数報告されています。そのため、このドライバでは「実験的な対応」とさせていただいております。
上記の不具合はこの非公式ドライバでも完全には解消できないと思われますので、その点は予めご了承ください。
e-better DTV02A-1T1S-U は、DTV02-1T1S-U に存在した上記の不具合がハードウェアレベルで修正されています。そのため、このドライバでは「正式な対応」とさせていただいております。
PX-W3PE4/Q3PE4/MLT5PE/MLT8PE, e-Better DTV02A-4TS-P は、電源の供給を PCIe スロットから受け、データのやり取りを USB を介して行います。
PX-W3PE5/Q3PE5 は、PX-W3PE4/Q3PE4 相当の基板に PCIe→USB ブリッジチップを追加し、USB ケーブルを不要とした構造となっています。
PX-Q3U4/Q3PE4 は、PX-W3U4/W3PE4 相当のデバイスが USB ハブを介して2つぶら下がる構造となっています。
PX-W3U4/W3PE4
PX-Q3U4/Q3PE4
PX-W3PE5
PX-Q3PE5
PX-MLT8PE は、同一基板上に PX-MLT5PE 相当のデバイスと、3チャンネル分のチューナーを持つデバイスが実装されている構造となっています。
PX-MLT5PE/MLT8PE5
PX-MLT8PE3
DTV02-1T1S-U/DTV02A-1T1S-U は、ISDB-T 側の TS シリアル出力を ISDB-S 側と共有しています。そのため、同時に受信できるチャンネル数は1チャンネルのみです。
DTV02-1T1S-U/DTV02A-1T1S-U (ロット番号 2309 以前: Digibest ISDB2056)
ロット番号 2309 (2023年9月) 以降の DTV02A-1T1S-U では、ISDB-T/S Demodulator IC が TC90532XBG (ISDB-T×1TS + ISDB-S×1TS) から TC90522XBG (ISDB-T×2TS + ISDB-S×2TS) に変更されています。(詳細)
この変更に伴い、内部名称が ISDB2056 から ISDB2056N に変更されています。
DTV02A-1T1S-U (ロット番号 2309 以降: Digibest ISDB2056N)
DTV02A-4TS-P は、PX-MLT5PE から1チャンネル分のチューナーを削減した構造となっています。
DTV02A-4TS-P (Digibest ISDB6014)
sync_byte をデバイス側で書き換え、ホスト側でその値を元にそれぞれのチューナーの TS データを振り分けるモードを使用しています。