DD Max M4をUbuntu 18.04で動かしたメモ

[参考]
Build and install the dddvb driver under Linux (DVB)

 Digital Devices社(独)から販売されている Max M4をUbuntuで使えたので忘れないようにメモ。
 記事作成時点だとLinuxに入っているデフォルトのカーネルドライバ(ddbridge)が古くてMax M4は動かないため、手動で新しいバージョンのドライバを入れてMirakurunに設定するところまで書いておく。
 あと面倒なのでBCASカードとかそこらへんは割愛してPT3やPLEX系から切り替える感じの手順。
 カーネルをアップグレードするとドライバの再インストールが必要になるため注意。個人的にはそのうちにデフォルトドライバで使えるようになって解決する問題だと思ってるので放置してる。

確認環境

  • Ubuntu 18.04.1

必要パッケージとかのインストール

必要パッケージのインストール

sudo apt install build-essential git dvb-tools

DVB用の周波数設定をインストール

cd /usr/local
sudo git clone https://github.com/Chinachu/dvbconf-for-isdb.git

#Max M4はどのチューナーでも地上/衛星どちらも受信できるので設定ファイルを一つで参照できるようまとめる
cd /usr/local/dvbconf-for-isdb/conf/
cat dvbv5_channels_isdbs.conf dvbv5_channels_isdbt.conf | sudo tee -a dvbv5_channels_isdb.conf

ドライバをインストール

先にPCIスロットへ刺したMax M4を認識しているか確認

lspci |grep Multi

#多分こんなのが表示される
06:00.0 Multimedia controller: Digital Devices GmbH Device 000a

makeしてインストール

cd /usr/local/src
git clone https://github.com/DigitalDevices/dddvb.git
cd dddvb

make clean && make
sudo make install

必要性がわからないけど参考元にあった呪文
たぶんデフォルトの古いドライバより新しく入れたものを優先させるための設定

sudo mkdir -p /etc/depmod.d
echo 'search extra updates built-in' | sudo tee /etc/depmod.d/extra.conf
sudo depmod -a

ドライバをロードして再起動

sudo modprobe ddbridge
sudo reboot

DVBデバイスとして見えるか確認

ls /dev/dvb/

#こんな感じに見えるはず
adapter0  adapter1  adapter2  adapter3

受信動作確認

アンテナを繋いだら実際に受信できるか確認

sudo dvbv5-zap -a 0 -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf -r -P 14

#各オプションのざっくりした説明
# -a 使用するDVBデバイスの番号 0なら「/dev/dvb/adapter0」
# -c 周波数の設定ファイル指定
# -r DVBデバイスを録画できるようセットアップ
# -P チャンネル名(チャンネル名は周波数設定から参照)
# 地デジのチャンネルは地方によって変わるので注意、例は山形のNHK総合のつもり

実際に実行するとこうなるはず
「Lock」と出ていれば録画できる程度の感度が確保できてるみたい

$ sudo dvbv5-zap -a 0 -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf -r -P 14
using demux 'dvb0.demux0'
reading channels from file '/usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf'
tuning to 479142857 Hz
pass all PID's to TS
  dvb_set_pesfilter 8192
       (0x00) Signal= -25.63dBm C/N= 0.00dB UCB= 0
Lock   (0x1f) Signal= -32.93dBm C/N= 32.77dB UCB= 0
Lock   (0x1f) Signal= -32.93dBm C/N= 32.67dB UCB= 0
DVR interface '/dev/dvb/adapter6/dvr0' can now be opened
Lock   (0x1f) Signal= -33.31dBm C/N= 32.67dB UCB= 0 preBER= 0
^CLock   (0x1f) Signal= -33.31dBm C/N= 32.87dB UCB= 0 preBER= 0

受信できてない場合はこんな感じ

$ sudo dvbv5-zap -a 0 -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf -r -P 62
using demux 'dvb0.demux0'
reading channels from file '/usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf'
tuning to 767142857 Hz
pass all PID's to TS
  dvb_set_pesfilter 8192
       (0x00) Signal= -82.70dBm C/N= 0.00dB UCB= 0
       (0x00) Signal= -82.32dBm C/N= 0.00dB UCB= 0
       (0x00) Signal= -82.32dBm C/N= 0.00dB UCB= 0

Mirakurunの設定

インストール方法は割愛

設定を呼び出す

sudo mirakurun config tuners

以下のように書き換え

- name: MaxM4
  types:
    - GR
    - BS
    - CS
  command: dvbv5-zap -a 0 -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf -r -P <channel>
  dvbDevicePath: /dev/dvb/adapter0/dvr0
  decoder: arib-b25-stream-test
  isDisabled: false

- name: MaxM4
  types:
    - GR
    - BS
    - CS
  command: dvbv5-zap -a 1 -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf -r -P <channel>
  dvbDevicePath: /dev/dvb/adapter1/dvr0
  decoder: arib-b25-stream-test
  isDisabled: false

- name: MaxM4
  types:
    - GR
    - BS
    - CS
  command: dvbv5-zap -a 2 -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf -r -P <channel>
  dvbDevicePath: /dev/dvb/adapter2/dvr0
  decoder: arib-b25-stream-test
  isDisabled: false

- name: MaxM4
  types:
    - GR
    - BS
    - CS
  command: dvbv5-zap -a 3 -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdb.conf -r -P <channel>
  dvbDevicePath: /dev/dvb/adapter3/dvr0
  decoder: arib-b25-stream-test
  isDisabled: false

Mirakurunを再起動

sudo mirakurun restart

あとは適当に動くか確認して使う

(おまけ)DVBデバイス番号の固定

他のチューナデバイスと共存する時にデバイスの割当番号が変わって慌てないように固定しておくための設定

cat <<'EOF' | sudo tee -a /etc/modprobe.d/ddbridge.conf
options ddbridge adapter_nr=4,5,6,7
EOF

#設定を反映するための再起動
sudo reboot

上記の設定だとadapter4~7になる

$ ls /dev/dvb/
adapter4  adapter5  adapter6  adapter7

コメント