Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 24.04 で DVB デバイスの環境だと OS再起動後にチューナーを開けない #126

Open
naa0yama opened this issue Jan 12, 2025 · 2 comments

Comments

@naa0yama
Copy link

naa0yama commented Jan 12, 2025

概要

まず、このようなソフトウェアを公開くださりありがとうございます。
README に記載がある通り、 dvbv5-zap など状況に激しく同意します。

長年 Ubuntu 22.04 で dvbv5-zap を利用していましたが、v1.2.0 で DVB にサポートされたとのことで
リプレイスを実施していたところ、チューナーを開けなく事象を確認したためご相談させてください。

大変お手数おかけしますが、ご確認頂けますと幸いです。

Install

README のとおり

# x86_64 環境
wget https://github.com/kazuki0824/recisdb-rs/releases/download/1.2.2/recisdb_1.2.2-1_amd64.deb
sudo apt install ./recisdb_1.2.2-1_amd64.deb
rm ./recisdb_1.2.2-1_amd64.deb

# arm64 環境
wget https://github.com/kazuki0824/recisdb-rs/releases/download/1.2.2/recisdb_1.2.2-1_arm64.deb
sudo apt install ./recisdb_1.2.2-1_arm64.deb
rm ./recisdb_1.2.2-1_arm64.deb

Version

> cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

> sudo apt info recisdb
Package: recisdb
Version: 1.2.2-1
Status: install ok installed
Priority: optional
Section: utility
Maintainer: Kazuki Kuroda <[email protected]>
Installed-Size: 2,812 kB
Depends: libdvbv5-0 (>= 1.4.0), libpcsclite1, libc6 (>= 2.29), libpcsclite1 (>= 1.0.0), libstdc++6 (>= 5)
Vcs-Browser: https://github.com/kazuki0824/recisdb-rs.git
Vcs-Git: https://github.com/kazuki0824/recisdb-rs.git
Download-Size: unknown
APT-Manual-Installed: yes
APT-Sources: /var/lib/dpkg/status
Description: recisdb can read both Unix chardev-based and BonDriver-based TV sources.
 A simple command for ISDB-T / ISDB-S character device.
 recisdb can read both Unix chardev-based and BonDriver-based TV sources.

> dpkg -l | grep -E '(recisdb|libdvbv5-0|libpcsclite1|libc6|libpcsclite1|libstdc++6)'
ii  libc6:amd64                          2.39-0ubuntu8.3                         amd64        GNU C Library: Shared libraries
ii  libc6-dev:amd64                      2.39-0ubuntu8.3                         amd64        GNU C Library: Development Libraries and Header Files
ii  libdvbv5-0t64:amd64                  1.26.1-4build3                          amd64        Libraries to control, scan and zap on Digital TV channels
ii  libpcsclite1:amd64                   2.0.3-1build1                           amd64        Middleware to access a smart card using PC/SC (library)
ii  recisdb                              1.2.2-1                                 amd64        recisdb can read both Unix chardev-based and BonDriver-based TV sources.

使用機材

動作詳細

Digital Devices Max M4 を利用しており、ドライバーなどの組み込みは問題なくできております。その結果として旧来の方法である dvbv5-zap -a 3 -c /app-config/dvbv5_channels_isdb.conf -r -P 27 では問題なくシグナルの受信ができてますが、 recisdb を利用すると下記のように ERROR となり受信することができません。

> sudo recisdb checksignal --device /dev/dvb/adapter3/frontend0 --channel T27
[2025/01/12 10:31:31] INFO:     recisdb version 1.2.2
[2025/01/12 10:31:31] INFO:     Tuner: /dev/dvb/adapter3/frontend0
[2025/01/12 10:31:31] INFO:     Channel: T27 / Terrestrial: 27
[2025/01/12 10:31:31] ERROR:    The specified channel is invalid.

そして不可解な状況として旧来の dvbv5-zap -a 3 -c /app-config/dvbv5_channels_isdb.conf -r -P 27 で一度チューナーを開いた後であれば、OS再起動するまでは問題なくシグナルの受信、録画ができる状態のようです。

> dvbv5-zap -a 3 -c /app-config/dvbv5_channels_isdb.conf -r -P 27

# を実行した後の結果
> sudo recisdb checksignal --device /dev/dvb/adapter3/frontend0 --channel T27
[2025/01/12 10:50:10] INFO:     recisdb version 1.2.2
[2025/01/12 10:50:10] INFO:     Tuner: /dev/dvb/adapter3/frontend0
[2025/01/12 10:50:10] INFO:     Channel: T27 / Terrestrial: 27
[2025/01/12 10:50:11] INFO:     Checking for the frontend lock...
^C.12dB

debug ログの採取方法がわからなかったため strace の 成功/失敗 を念の為添付いたします。

  • 成功 recisdb_open_pass.log
    • sudo strace recisdb checksignal --device /dev/dvb/adapter3/frontend0 --channel T27 2>&1 | tee recisdb_open_pass.log
  • 失敗 recisdb_open_fail.log
    • sudo strace recisdb checksignal --device /dev/dvb/adapter3/frontend0 --channel T27 2>&1 | tee recisdb_open_fail.log
@kounoike
Copy link
Contributor

ちょうど余らせていたPT3を復活させるついでに調べてみました。
PT3のDVBドライバでは再現しませんでした。

Ubuntu 24.04 serverをセットアップ、dvb-tools build-essential libclang-dev cmake libdvbv5-dev libpcsclite-dev libudev-dev pkg-config pcscd pcsc-toolsを入れた程度の環境で、再起動直後であってもchecksignal/tuneともに動作しました。

@naa0yama 比較にはdvbv5-zap実行時のstraceがあると良いかもしれません。現象からしてdvbv5-zapにはある初期化処理の何かが抜けてて動作しない状態になっているのだろうと思います。

@naa0yama
Copy link
Author

@kounoike PT3 での動作確認ありがとうございます。
そうですね、 dvbv5-zap にはあって recisdb にない初期化実装があるかもしれませんね。

dvbv5-zap での再起動後初めてチューナーを開くときの strace を採取したのでお送りします。

  • sudo strace dvbv5-zap -a 3 -c dvbv5_channels_isdb.conf -r -P 27 2>&1 | tee dvbv5_open_pass_1.log

dvbv5_open_pass.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants