Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

PLEX PX-W3U4, PX-W3PE4, PX-Q3U4, PX-Q3PE4 用の新しい linux ドライバを debian で試してみた

先日,「PLEX PX-W3U4, PX-W3PE4, PX-Q3U4, PX-Q3PE4 用の新しい linux ドライバ」って blog を書きましたが,新しい linux ドライバを手元の環境で試してみました.

toshi-mtk.hatenablog.com

環境としては PX-Q3PE4 + debian 9.4 という環境です.PC 本体スペックは Pentium N3700 なマシンです.

結論から言うと,数時間稼働させてみましたが問題なく動作してるみたい.良かった,良かった.

と,まぁ,これだけだと何なので,過去に書いたインストール手順を見てみたら割とばらけていたので,この際にまとめておきたいと思います.

ただし,chinachu とか mirakurn の詳細な手順はオフィシャルが一番詳しいと思っていますので省略して,このカード固有の内容に絞って詳細に書いておきます.はい.

1. plex のサイトからドライバをダウンロード

http://www.plex-net.co.jp/download/ から必要なドライバをダウンロードします.debian 9.4 の場合には http://plex-net.co.jp/plex/linux/Debian9.4_64bit_kernel4.9.0-6.zip になります.CentOSUbuntu などの場合にはそれぞれ各自の環境に適した物をダウンロードしてください.

2. ドライバのインストール

ダウンロードしたファイルを unzip で展開.含まれるファイルは ko だけですが,一応,ファイルの確認をしておきましょう.

debian の場合,

# uname -r
4.9.0-6-amd64

で表示されるバージョンと

# modinfo tty_Virtual.ko
filename: tty_Virtual.ko
license: GPL
description: tty0tty null modem driver
author: Luis Claudio Gamboa Lopes <lcgamboa@yahoo.com>
depends:
retpoline: Y
vermagic: 4.9.0-6-amd64 SMP mod_unload modversions

で表示されるバージョンが一致してることを確認しておきましょう.バージョンが違ってる場合には正常にロードできないかと思います.

で,ko ファイルのインストール.

% cp tty_Virtual.ko usb-px4.ko /lib/modules/`uname -r`/kernel/drivers/video
% depmod -a `uname -r`

した後./lib/modules/`uname -r`/modules.dep 中に

kernel/drivers/video/tty_Virtual.ko:
kernel/drivers/video/usb-px4.ko: kernel/drivers/video/tty_Virtual.ko kernel/drivers/usb/core/usbcore.ko kernel/drivers/usb/common/usb-common.ko

な感じで登録されていることを確認します.

その後,PC を再起動してから lsmod / dmesg 等でドライバが読み込まれるようになっている & 認識されていることをチェック.

手元の環境では

# lsmod
usb_px4 454656 3
tty_Virtual 24576 1 usb_px4
usbcore 253952 8 usbhid,usb_px4,xhci_pci,xhci_hcd

# dmesg
Jul xx xx:xx:xx debian kernel: [ 3.337828] REGIST - 0, 0, change RxDevice_ID = 0
Jul xx xx:xx:xx debian kernel: [ 3.337946] handle name -->> px4-DTV0
Jul xx xx:xx:xx debian kernel: [ 3.337947] REGIST - 0, 1, change RxDevice_ID = 1
Jul xx xx:xx:xx debian kernel: [ 3.338001] handle name -->> px4-DTV1
Jul xx xx:xx:xx debian kernel: [ 3.338003] REGIST - 0, 2, change RxDevice_ID = 2
Jul xx xx:xx:xx debian kernel: [ 3.338056] handle name -->> px4-DTV2
Jul xx xx:xx:xx debian kernel: [ 3.338058] REGIST - 0, 3, change RxDevice_ID = 3
Jul xx xx:xx:xx debian kernel: [ 3.338108] handle name -->> px4-DTV3
-- snip --
Jul xx xx:xx:xx debian kernel: [ 3.513138] REGIST - 0, 0, change RxDevice_ID = 4
Jul xx xx:xx:xx debian kernel: [ 3.513251] handle name -->> px4-DTV4
Jul xx xx:xx:xx debian kernel: [ 3.513253] REGIST - 0, 1, change RxDevice_ID = 5
Jul xx xx:xx:xx debian kernel: [ 3.513313] handle name -->> px4-DTV5
Jul xx xx:xx:xx debian kernel: [ 3.513315] REGIST - 0, 2, change RxDevice_ID = 6
Jul xx xx:xx:xx debian kernel: [ 3.513367] handle name -->> px4-DTV6
Jul xx xx:xx:xx debian kernel: [ 3.513369] REGIST - 0, 3, change RxDevice_ID = 7
Jul xx xx:xx:xx debian kernel: [ 3.513422] handle name -->> px4-DTV7

な感じで認識していました.

3. recpt1 コマンドのインストール

通常配布されている recpt1 のソースファイルには plex の対応コードが入っていない場合があるので,plex が配布している http://plex-net.co.jp/download/linux/Linux_Driver.zip 中に含まれている物を使ったほうがいいでしょう.Linux_Driver.zip 中には実行バイナリが含まれていますが,ソース等も含まれていますので必要があればリコンパイル等をすれば良いかと思います.

で,一応,動作確認.recpt1 コマンドを使って下記のような感じで動作確認します.

# recpt1 BS01_0 10 test.ts

上記は BS01_0 を 10 秒録画して test.ts に出力するって意味かな.その他のオプションは

# recpt1 --help

で確認してください.

ということで,正常動作することを確認してから recpt1 recpt1ctl checksignal コマンドを /usr/local/bin 辺りにコピー.自分で make した場合には make install で /usr/local/bin にインストールされるようです.

4. chinachu, mirakurun のインストール

インストール詳細は公式ドキュメント https://github.com/Chinachu/Chinachu/wiki/Gamma-Installation-V2 に従ってください.詳細は省略します.

一点,/usr/local/etc/mirakurun/tuners.yml で指定する recpt1 のデバイス名の指定方法だけ注意が必要です.

PX-Q3PE4 の場合,デバイス名は

char *bsdev[NUM_BSDEV] = {
    "/dev/px4-DTV0",
    "/dev/px4-DTV1",
    "/dev/px4-DTV4",
    "/dev/px4-DTV5"
};
char *isdb_t_dev[NUM_ISDB_T_DEV] = {
    "/dev/px4-DTV2",
    "/dev/px4-DTV3",
    "/dev/px4-DTV6",
    "/dev/px4-DTV7"
};

となるので mirakurun の tuner 設定は

- name: PX4-S1
   types:
    - BS
    - CS
   command: recpt1 --device /dev/px4-DTV0 <channel> - -
   decoder: arib-b25-stream-test
   isDisabled: false

...

- name: PX4-T1
   types:
    - GR
   command: recpt1 --device /dev/px4-DTV2 <channel> - -
   decoder: arib-b25-stream-test
   isDisabled: false

...

となります.その他のデバイスの場合には前述の Linux_Driver.zip を展開した MyRecpt1/MyRecpt1/recpt1/pt1_dev.h 中に,どのデバイスが BS なのか地デジなのかの定義が書かれているので,それらを参考に設定すれば良いかと思います.

カード固有のインストール手順はそんなところかな.

上記は適宜,各自の環境に応じて読み替えてください.また,私宛に質問頂いても基本的に返事はしないつもりです.各自の自己責任でお願いします.

以上,そんな感じかな.

PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-W3U4
PLEX
PLEX
PLEX 地上デジタル・BS・CS対応TVチューナー PX-W3PE4
PLEX
PLEX
PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-Q3U4
PLEX
PLEX
8ch同時録画・視聴 PCI-Express型地デジ・BS/CSチューナー PX-Q3PE4
PLEX
PLEX