PX-BCUD PX-S1UD Raspberry Pi

PX-S1UD V2.0 と PX-BCUD を Raspberry Pi 3 Model B で使う件

投稿日:2017-02-12 更新日:

Raspberry Pi 3 Model B で PX-S1UD V2.0 を使用できるというのは過去に確認していたのですが、PX-BCUD も使用できるようになっていました。

なんとか両方一緒に Raspberry Pi に接続することも可能です。
rpi-s1ud-bcud

Raspberry Pi 3 Model B

OS は Raspbian を使用しました。

https://www.raspberrypi.org/downloads/raspbian/

RASPBIAN JESSIE WITH PIXEL
Version:January 2017
Release date:2017-01-11
Kernel version:4.4

しかし、Raspbian をインストールした Raspberry Pi 3 Model B に、ただ PX-S1UD V2.0, PX-BCUD を接続しただけでは使用できません。

PX-S1UD V2.0

px-s1ud

PX-S1UD V2.0 には過去のポストもありますが、再まとめ。

過去のポスト
PX-S1UD V2.0 を Raspberry Pi 3 Model B で使う件

PX-S1UD V2.0 を実際に接続してみます。

lsusb

Bus 001 Device 006: ID 3275:0080 VidzMedia Pte Ltd

dmesg を確認してみると、ファームウェア?でエラーが出ています。

[ 1564.058796] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
[ 1564.159656] usb 1-1.3: New USB device found, idVendor=3275, idProduct=0080
[ 1564.159679] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1564.159708] usb 1-1.3: Product: PX-S1UD Digital TV Tuner
[ 1564.159722] usb 1-1.3: Manufacturer: PLEX Digital TV Tuner
[ 1565.226726] smsusb:smsusb_probe: board id=18, interface number 0
[ 1565.229014] usb 1-1.3: Direct firmware load for isdbt_rio.inp failed with error -2
[ 1565.229039] smsmdtv:smscore_load_firmware_from_file: failed to open firmware file 'isdbt_rio.inp'
[ 1565.229385] smsmdtv:smscore_init_ir: IR port has not been detected
[ 1565.229402] smsusb:smsusb_probe: Device initialized with return code 0
[ 1565.252015] DVB: registering new adapter (Siano Rio Digital Receiver)
[ 1565.252784] usb 1-1.3: DVB: registering adapter 0 frontend 0 (Siano Mobile Digital MDTV Receiver)...
[ 1565.253059] smsdvb:smsdvb_hotplug: DVB interface registered.
[ 1565.258432] usbcore: registered new interface driver smsusb

そのため、ファームウェアを入れ換えてみます。

cd /tmp && \
    wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip && \
    unzip PX-S1UD_driver_Ver.1.0.1.zip && \
    sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/

OS を再起動し、再度 dmesg を確認してみるとファームウェアのエラーは無くなっています。

[  141.438821] usb 1-1.3: new high-speed USB device number 15 using dwc_otg
[  141.539463] usb 1-1.3: New USB device found, idVendor=3275, idProduct=0080
[  141.539475] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  141.539481] usb 1-1.3: Product: PX-S1UD Digital TV Tuner
[  141.539488] usb 1-1.3: Manufacturer: PLEX Digital TV Tuner
[  141.540083] smsusb:smsusb_probe: board id=18, interface number 0
[  141.999146] DVB: registering new adapter (Siano Rio Digital Receiver)
[  141.999566] usb 1-1.3: DVB: registering adapter 0 frontend 0 (Siano Mobile Digital MDTV Receiver)...
[  141.999676] smsdvb:smsdvb_hotplug: DVB interface registered.
[  141.999685] smsmdtv:smscore_init_ir: IR port has not been detected
[  141.999692] smsusb:smsusb_probe: Device initialized with return code 0

PX-BCUD

px-bcud

PX-BUCD を実際に接続してみます。

lsusb

Bus 001 Device 007: ID 3275:0085 VidzMedia Pte Ltd

dmesg を確認してみると、DVB のデバイスとして認識されていません。というのも、2017-01-11 の Raspbian のカーネル 4.4 では、そもそも PX-BCUD をサポートしていません。

[ 1763.258807] usb 1-1.2: new high-speed USB device number 7 using dwc_otg
[ 1763.359698] usb 1-1.2: New USB device found, idVendor=3275, idProduct=0085
[ 1763.359721] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[ 1763.359734] usb 1-1.2: Product: PX-BCUD
[ 1763.359746] usb 1-1.2: SerialNumber: 0

PX-BCUD をサポートするパッチは、2016年5月に Accept されたようです。

[media] em28xx_dvb: add support for PLEX PX-BCUD (ISDB-S usb dongle)login
https://patchwork.linuxtv.org/patch/34157/

本家 Linux の GitHub のプロジェクトでは、

[media] em28xx: add support for PLEX PX-BCUD (ISDB-S)
https://github.com/torvalds/linux/commit/ab4d14528fdf946dfa7177b53e64f78bf8cce03a

Raspberry Pi の GitHub のプロジェクトでは、

[media] em28xx: add support for PLEX PX-BCUD (ISDB-S)
https://github.com/raspberrypi/linux/commit/ab4d14528fdf946dfa7177b53e64f78bf8cce03a

で、Raspberry Pi の Linux リポジトリを見てみると、カーネル 4.7 以降で PX-BCUD に対応しているようです。

というわけで、2017-01-11 Raspbian のカーネルを強制的に 4.4 から次の next に上げてみます。Raspbian 的には next は 4.9 で、LTS のようです。

Moving Linux kernel to 4.9
https://www.raspberrypi.org/forums/viewtopic.php?t=167934

sudo BRANCH=next rpi-update

カーネルをアップデート後、バージョンを確認してみると 4.9 になっていました。

name -a
Linux raspberrypi 4.9.9-v7+ #963 SMP Fri Feb 10 18:14:48 GMT 2017 armv7l GNU/Linux

そして dmesg を確認してみると、DVB のデバイスとして認識されていました。

[   86.685250] usb 1-1.2: new high-speed USB device number 7 using dwc_otg
[   86.816230] usb 1-1.2: New USB device found, idVendor=3275, idProduct=0085
[   86.816248] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[   86.816257] usb 1-1.2: Product: PX-BCUD
[   86.816264] usb 1-1.2: SerialNumber: 0
[   86.817331] em28xx: New device  PX-BCUD @ 480 Mbps (3275:0085, interface 0, class 0)
[   86.817342] em28xx: DVB interface 0 found: isoc
[   86.817518] em28xx: chip ID is em28178
[   88.288936] em28178 #0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x705ac8db
[   88.288946] em28178 #0: EEPROM info:
[   88.288952] em28178 #0: 	microcode start address = 0x0004, boot configuration = 0x01
[   88.312551] em28178 #0: 	AC97 audio (5 sample rates)
[   88.312558] em28178 #0: 	500mA max power
[   88.312567] em28178 #0: 	Table at offset 0x24, strings=0x106a, 0x047a, 0x0000
[   88.313038] em28178 #0: Identified as PLEX PX-BCUD (card=98)
[   88.313046] em28178 #0: dvb set to isoc mode.
[   88.313172] em28178 #0: Binding DVB extension
[   88.321512] tc90522 4-0015: Toshiba TC90522 attached.
[   88.327411] qm1d1c0042 5-0061: Sharp QM1D1C0042 attached.
[   88.749713] DVB: registering new adapter (em28178 #0)
[   88.749745] usb 1-1.2: DVB: registering adapter 1 frontend 0 (Toshiba TC90522 ISDB-S module)...
[   88.751444] em28178 #0: DVB extension successfully initialized

recdvb

PX-S1UD V2.0, PX-BCUD のための録画用ソフトウェアとして recdvb が公開されています。

recdvb
https://github.com/dogeel/recdvb

必要と思われるパッケージをインストールした後、recdvb をビルドしてインストールします。

sudo gpasswd -a $USER video
sudo reboot

sudo touch /etc/ld.so.conf.d/local.conf
sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf"
sudo apt-get -y install autoconf libpcsclite-dev pcsc-tools pcscd cmake libasound2-dev
cd /tmp && \
    git clone https://github.com/dogeel/recdvb && \
    cd recdvb && \
    chmod a+x autogen.sh && \
    ./autogen.sh && \
    ./configure && \
    make && \
    sudo make install

recdvb の実際の使い方としては、

PX-S1UD V2.0 のデバイス名が /dev/dvb/adapter0 とすると、

recdvb <ch> 30 out.ts

PX-BCUD のデバイス名が /dev/dvb/adapter1 とすると、

recdvb --dev 1 <ch> 30 out.ts

-PX-BCUD, PX-S1UD, Raspberry Pi

Copyright© hirooka.pro , 2013-2018 All Rights Reserved.