広告

Raspberry Pi 3 Model B で PLEX PX-W3U4 が動くという良い話

2018-07-08

先日、PLEX から PX-W3U4 の Ubuntu 18.04 (x86_64) 向けのドライバがリリースされ、動作確認をしていたのですが、

GitHub 上で開発されている “PLEX PX-W3U4/W3PE4 Unofficial Linux driver” にも大きな進展がありました。

今年の 2 月くらいに S 側の対応がされていたのは確認していたのですが、今回、T 側も対応されたとのことです。

自分は PX-W3U4 を所有しており、せっかくの USB、これは手持ちの Raspberry Pi 3 Model B で動作確認してみよう、ということで確認してみました。OS は Raspbian です。

最新の Raspbian は、この 6 月にリリースされているようですが、自分が使用しているのは 4 月にリリースされたものです。

カーネルのバージョンは下記の通りです。

uname -a
Linux raspberrypi 4.14.34-v7+ #1110 SMP Mon Apr 16 15:18:51 BST 2018 armv7l GNU/Linux

Debian 9 ベースです。

cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Raspberry Pi 3 Model B に PX-W3U4 を挿して lsusb を実行してみます。

Bus 001 Device 007: ID 0511:083f N'Able (DataBook) Technologies, Inc.

dmesg も確認してみます。

[113567.782196] usb 1-1.4: new high-speed USB device number 7 using dwc_otg
[113567.916781] usb 1-1.4: New USB device found, idVendor=0511, idProduct=083f
[113567.916797] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[113567.916805] usb 1-1.4: Product: W3U4
[113567.916814] usb 1-1.4: Manufacturer: PLEX\xffffffcc\xffffff80
[113567.916822] usb 1-1.4: SerialNumber: 00000xxxxxxxxxx

GitHub の README にも記載されているように、ファームウェアを置いて、カーネルヘッダを入れて、ドライバをビルドしてインストールします。

git clone https://github.com/nns779/px4_drv
cd px4_drv/fwtool/
make
curl -O http://plex-net.co.jp/plex/pxw3u4/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 ../

sudo apt-get -y install raspberrypi-kernel-headers # Raspbrry Pi only
cd driver
make
sudo make install
sudo modprobe px4_drv

dmesg を確認してみます。

[116588.985543] px4_drv: px4_drv version 0.1.0
[116589.103872] px4_drv: IR mode: 5
[116592.103921] px4_drv: Firmware loaded. version: 1.4.0.0
[116596.003923] px4_drv: tsdev 0: px4video0
[116596.004207] px4_drv: tsdev 1: px4video1
[116596.004348] px4_drv: tsdev 2: px4video2
[116596.004484] px4_drv: tsdev 3: px4video3
[116596.004769] usbcore: registered new interface driver px4_drv

lsmod も確認してみます。

lsmod | grep px4
px4_drv                40960  0

/dev/ 下にデバイスが作成されています。

ls -al /dev/px4*
crw-rw-r-- 1 root video 242, 0 Jul  2 21:15 /dev/px4video0
crw-rw-r-- 1 root video 242, 1 Jul  2 21:15 /dev/px4video1
crw-rw-r-- 1 root video 242, 2 Jul  2 21:15 /dev/px4video2
crw-rw-r-- 1 root video 242, 3 Jul  2 21:15 /dev/px4video3

以前に同じドライバをインストールしていて、今回再度インストールし、/dev/ 下にデバイスが無い場合、下記を実行するとよいかもしれません。

sudo modprobe -r px4_drv
sudo modprobe px4_drv

recpt1 で使用できるか確認してみます。注意点としては、ビルド前に pt1_dev.h に PX-W3U4 のデバイス名を追加しておく必要があります。

git clone https://github.com/stz2012/recpt1.git
cd recpt1/recpt1
sed -i -e "/^char \*bsdev\[NUM_BSDEV\] = {$/a \ \ \ \ \"/dev/px4video1\",\n\ \ \ \ \"/dev/px4video0\"," pt1_dev.h
sed -i -e "/^char \*isdb_t_dev\[NUM_ISDB_T_DEV\] = {$/a \ \ \ \ \"/dev/px4video2\",\n\ \ \ \ \"/dev/px4video3\"," pt1_dev.h
./autogen.sh
./configure
make
sudo make install

PT3 は既に定価入手は困難ですし、PX-BCUD も入手が困難ですし、USB のマルチチューナーで x86_64 だけではなく、Raspberry Pi でも使用できる、ということで、Linux での選択肢が大きく広がったのではないでしょうか。

広告

PX-W3U4

Posted by admin