CentOS 7、Ubuntu 16.04 LTS、Debian 8でPX-W3U4の設定をしたみたのでまとめる。
PX-Q3U4, PX-W3PE4, PX-Q3PE4でも同じ手順でセットアップできる。

EPELリポジトリを追加(CentOS)

CentOSはEPRLのパッケージが必要なので追加する。

$ curl -LO http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo rpm -ivh epel-release-latest-7.noarch.rpm

カーネルをアップデート(Ubuntu+Linux4.13.0-19)

配布されているモジュールに合わせたカーネルをインストールする。カーネルのアップデートはできない。

$ sudo apt-get install linux-image-4.13.0-19-generic linux-headers-4.13.0-19-generic
$ sudo reboot
$ uname -r
4.13.0-19-generic

カーネルをアップデート(Ubuntu+HWEカーネル)

モジュール書き換えることでHWEカーネルでも使用できる。
少し手間はかかるが、Ubuntu 18.04がリリースされるまでは対応したカーネルのアップデートがある。

$ sudo apt-get install linux-generic-hwe-16.04
$ sudo reboot
$ uname -r
4.13.0-26-generic

ドライバのダウンロード(CentOS)

$ mkdir -p ~/src/
$ cd ~/src/
$ sudo yum install -y unzip
$ curl -LO http://plex-net.co.jp/plex/linux/CentOS7-1708_64bit_kernel3.10.0-693.zip
$ unzip CentOS7-1708_64bit_kernel3.10.0-693.zip
$ cd CentOS7-1708_64bit_kernel3.10.0-693/

ドライバのダウンロード(Ubuntu)

$ mkdir -p ~/src/
$ cd ~/src/
$ wget http://plex-net.co.jp/plex/linux/Ubuntu17.10_64bit_Kernel4.13.0-19.zip
$ unzip Ubuntu17.10_64bit_Kernel4.13.0-19.zip
$ cd Ubuntu17.10_64bit_Kernel4.13.0-19/

ドライバのダウンロード(Debian)

$ mkdir -p ~/src/
$ cd ~/src/
$ wget http://plex-net.co.jp/plex/linux/Debian8.0.0_64bit_kernel3.16.0-4.zip
$ unzip Debian8.0.0_64bit_kernel3.16.0-4.zip
$ cd Debian8.0.0_64bit_kernel3.16.0-4/

DKMSをインストール(CentOS)

ドライバ周りの操作を自動化するためにDKMSを使用する。これでカーネルのアップデートがあった場合も自動的に適応できる。

$ sudo yum install -y dkms kernel-headers

DKMSをインストール(Ubuntu, Debian)

$ sudo apt-get install -y dkms

ドライバをインストール(CentOS, Ubuntu+Linux4.13.0-19, Debian)

モジュールをコピーするだけの設定を作る。Ubuntu+HWEカーネル以外は同じ。

$ sudo mkdir -p /usr/src/px4-1712/
$ sudo cp -v *.ko /usr/src/px4-1712/
$ sudo vi /usr/src/px4-1712/dkms.conf

$ sudo dkms install -m px4 -v 1712

ドライバをインストール(Ubuntu+HWEカーネル)

UbuntuとHWEカーネルを使う場合はモジュールのvermagicを書き換える必要がある。

$ sudo mkdir -p /usr/src/px4-1712/src/
$ sudo cp -v *.ko /usr/src/px4-1712/src/
$ sudo vi /usr/src/px4-1712/dkms.conf

$ sudo dkms install -m px4 -v 1712

udevのルールを作成(CentOS, Debian)

アップデートに備えてモジュールを強制ロードできるようにする。チューナーの接続時にmodprobeを–forceオプションを付きで実行させる。デバイスファイルのパーミッションも設定する。

$ sudo vi /etc/udev/rules.d/99-px4.rules
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0511", ATTR{product}=="*[QW]3*4", RUN+="/sbin/modprobe -f usb-px4"
KERNEL=="px4-DTV*", GROUP="video", MODE="0666"
$ sudo reboot
$ ls /dev/px4-DTV*
/dev/px4-DTV0  /dev/px4-DTV1  /dev/px4-DTV2  /dev/px4-DTV3

udevのルールを作成(Ubuntu)

Ubuntuの場合は強制ロードは必要ないので、パーミッションだけ設定する。

$ sudo vi /etc/udev/rules.d/99-px4.rules
KERNEL=="px4-DTV*", GROUP="video", MODE="0666"
$ sudo reboot
$ ls /dev/px4-DTV*
/dev/px4-DTV0  /dev/px4-DTV1  /dev/px4-DTV2  /dev/px4-DTV3

libarib25を導入(CentOS)

内蔵のカードリーダーは使えないので別途用意する。CentOSは/usr/local/libへのパスを通す。

$ cd ~/src/
$ sudo yum install -y git cmake gcc-c++ pcsc-lite pcsc-lite-devel pcsc-tools
$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25/
$ cmake .
$ make
$ sudo make install
$ sudo sh -c "echo /usr/local/lib >> /etc/ld.so.conf.d/libc.conf"
$ sudo ldconfig

libarib25を導入(Ubuntu, Debian)

$ cd ~/src/
$ sudo apt-get install -y git build-essential cmake libpcsclite1 libpcsclite-dev pcscd pcsc-tools
$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25/
$ cmake .
$ make
$ sudo make install

カードリーダーの動作確認

$ pcsc_scan | grep B-CAS
        Japanese Chijou Digital B-CAS Card (pay TV)
^C

recpt1を導入

CentOS 6のドライバに付属しているrecpt1を使う。B25を有効にするためリビルド。通常のrecpt1と区別するためリネームした。checksignalはうまく動作しない。

$ cd ~/src/
$ curl -LO http://plex-net.co.jp/download/linux/Linux_Driver.zip
$ unzip Linux_Driver.zip
$ cd Linux_Driver/MyRecpt1/MyRecpt1/recpt1/
$ sh configure --enable-b25
$ make
$ sudo install -m 755 recpt1 /usr/local/bin/recpx4
$ sudo install -m 755 recpt1ctl /usr/local/bin/recpx4ctl

録画テスト

実際に録画してみる。0,1が衛星波、2,3が地上波。チューナーが増えた場合も衛星波2、地上波2の順で繰り返される。

$ cd ~
$ recpx4 --device /dev/px4-DTV0 --lnb 15 --b25 --strip BS15_0 10 bs0.m2ts
$ recpx4 --device /dev/px4-DTV1 --lnb 15 --b25 --strip BS15_0 10 bs1.m2ts
$ recpx4 --device /dev/px4-DTV2 --b25 --strip 27 10 gr0.m2ts
$ recpx4 --device /dev/px4-DTV3 --b25 --strip 27 10 gr1.m2ts

1月 29th, 2018

Posted In: ハードウェア

タグ: , , , , , , ,

Leave a Comment

CentOS 6だけに対応していたときの覚書。今は他のディストリビューションにも対応しているので古い情報。
追記: 新しい情報はこちら

PX-W3U4のセットアップ

unzipのインストール

# yum install unzip -y

ドライバをダウンロード

# curl -LO http://plex-net.co.jp/download/linux/Linux_Driver.zip

ドライバモジュールをロード

# unzip Linux_Driver.zip
# cd  Linux_Driver/Linux_Driver/
# insmod tty_Virtual.ko
# insmod usb-px4.ko

認識されているか確認

# ls /dev/px4-DTV?
/dev/px4-DTV0  /dev/px4-DTV1  /dev/px4-DTV2  /dev/px4-DTV3

再起動すると元に戻るので自動的にロードさせる
ドライバをコピー

# cp -v tty_Virtual.ko usb-px4.ko /usr/local/lib64/
`tty_Virtual.ko' -> `/usr/local/lib/tty_Virtual.ko'
`usb-px4.ko' -> `/usr/local/lib/usb-px4.ko'

設定を追加

# vi /etc/sysconfig/modules/usb-px4.modules
#!/bin/sh
/sbin/insmod /usr/local/lib64/tty_Virtual.ko
/sbin/insmod /usr/local/lib64/usb-px4.ko

実行権限を追加

# chmod +x /etc/sysconfig/modules/usb-px4.modules

recpt1をインストール

# cd ../MyRecpt1/MyRecpt1/recpt1
# install -m 755 recpt1 /usr/local/bin/recpx4
# install -m 755 recpt1ctl /usr/local/bin/recpx4ctl

ビルドは必要ない。PT1/2/3用とややこしいのでrecpx4にリネームしておく

Mirakurunを導入

内蔵カードリーダーは使えないのでカードリーダーを別途用意する。

NodeJSをインストール

# curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
# yum install -y nodejs

arib-b25-stream-testをセットアップ(EPELの導入が必要)

# curl -LO http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm                          
# yum install gcc-c++ pcsc-lite pcsc-lite-devel pcsc-tools
# npm install arib-b25-stream-test -g --unsafe

そのままではサービスがうまく起動しないので再起動する

# reboot

カードリーダーの動作確認

$ pcsc_scan | grep B-CAS
        Japanese Chijou Digital B-CAS Card (pay TV)
^C

PM2のインストール

# npm install pm2 -g
# pm2 startup

Mirakurunのインストール

# npm install mirakurun -g --unsafe --production

Mirakurunのチューナー設定

# mirakurun config tuners

0,1が衛星波、2,3が地上波になる

Mirakurunのチャンネル設定

# mirakurun config channels

BS/CSのチャンネルだけ登録する

チャンネルスキャンで地上波のチャンネルを設定する

# mirakurun restart
$ curl -X PUT "http://localhost:40772/api/config/channels/scan"
# mirakurun restart

別のマシンからアクセスできるようにファイアウォールを設定する

# iptables -I INPUT -p tcp -m tcp --dport 40772 -j ACCEPT
# service iptables save

1月 7th, 2018

Posted In: ソフトウェア, ハードウェア

タグ: , , , , ,

Leave a Comment

環境を構築し直したので、まとめてみる。今回はUbuntu 16.04 LTSを使った。気が向いたらDebian 9(Stretch)でやる予定。

チューナーのセットアップ

PT3、PX-S1UD V2.0、PX-BCUD、KTV-FSMINIの4つをセットアップした。PT3はDVBドライバを使う。

PT3/PT2/PT1

カーネルにドライバが組み込まれているので、特に設定しなくても認識される。偶数がBS/CS、奇数が地上波と交互になる。

$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3

アンテナに電源供給が必要な場合、chardev版ドライバを導入した方がいい。今回は取り上げない。

PX-S1UD (V2.0)

何もしなくても認識されるが、ファームウェアを入れないと動作しない。

$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3  adapter4

ファームウェアをダウンロードして、インストールする。モジュールをロードし直すと有効になる。

$ 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/
$ sudo modprobe -r smsusb
$ sudo modprobe smsusb

adapterの番号を変更するには次のようにする。複数ある場合は「,」で区切る。認識できるadapterの数は8つまでなので、0~7の番号が指定できる(Linux 4.10以降は16個なので0~15)。

$ sudo modprobe -r smsdvb
$ sudo modprobe smsdvb adapter_nr=4

他のDVBデバイスと区別するため、起動時に番号を固定する。他にDVBデバイスがない場合は必要ない。

$ sudo sh -c 'echo "options smsdvb adapter_nr=4" > /etc/modprobe.d/smsdvb.conf'

PX-BCUD

LinuxカーネルにPX-BCUDのドライバが組み込まれるのは4.7以上で、標準のカーネル(4.4)ではドライバが組み込まれていない。HWEカーネルを導入する。

$ uname -r
4.4.0-83-generic
$ sudo apt install linux-generic-hwe-16.04
$ sudo reboot

$ uname -r
4.8.0-58-generic
$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3  adapter4  adapter5

adapter番号の指定

$ sudo modprobe -r em28xx-dvb
$ sudo modprobe em28xx-dvb adapter_nr=5
$ sudo sh -c 'echo "options em28xx-dvb adapter_nr=5" > /etc/modprobe.d/em28xx_dvb.conf'

KTV-FSMINI(KTV-FSUSB2/V3)

KTV-FSMINIはドライバではなくコマンドを利用する。KTVWikiにあるrecfsusb2iをダウンロードして、ビルドする。

$ sudo apt install p7zip-full
$ 7z x recfsusb2i-20160220.7z -orecfsusb2i
$ cd recfsusb2i/src/
$ make
$ sudo install recfsusb2i /usr/local/bin/

dvb-toolsをインストール

DVBデバイスをチューニングするにはdvbv5-zapが必要になる。dvbv5-zapはdvb-toolsに含まれている。

$ sudo apt install dvb-tools

チューニングに必要な設定をダウンロード

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

ICカードリーダーをセットアップ

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

$ sudo apt install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools

動作確認

$ pcsc_scan | grep B-CAS
        Japanese Chijou Digital B-CAS Card (pay TV)
^C

現行のLinuxで使えるチューナー

最後に現在も販売されているチューナーを挙げておく。

Chinachuのセットアップ

実行ユーザーの作成

Chinachuの実行ユーザー作成(既存のユーザーにする場合は不要)

$ sudo adduser chinachu

Chinachuの実行ユーザーをsudoグループに所属させる

$ sudo adduser chinachu sudo

Chinachuの実行ユーザーに切り替え

$ sudo -i -u chinachu

Mirakurunのインストール

Node.jsをインストール

$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt install -y nodejs
$ sudo npm -g i npm@latest # NPMを更新する

PM2とMirakurunをインストール

$ sudo npm install pm2 -g
$ sudo npm install mirakurun -g --unsafe --production

arib-b25-stream-testをインストール

$ sudo npm install arib-b25-stream-test -g --unsafe

Mirakurunの設定

$ sudo mirakurun config server

Mirakurunのチューナー設定

$ sudo mirakurun config tuners

設定ファイルやadapterの番号を間違えないように気を付けて編集する

Mirakurunのチャンネル設定

$ sudo mirakurun config channels

BS/CSのチャンネルだけ登録する

チャンネルスキャンで地上波のチャンネルを設定する

$ sudo mirakurun restart
$ curl -X PUT "http://localhost:40772/api/config/channels/scan"
$ sudo mirakurun restart

Chinachuのインストール

Chinachuのダウンロードとインストール

$ sudo apt install git
$ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
$ cd ~/chinachu/
u$ ./chinachu installer
Chinachu Installer Menu:
[!] These are installed under all /home/chinachu/chinachu/...
[!] Recommend the Auto installation.
1) Auto (full)          3) Node.js Environment  5) ffmpeg
2) submodule            4) Node.js Modules
what do you install? > 1

設定

$ cp config.sample.json config.json
$ vi config.json

実行ユーザーを指定する

"uid": "chinachu",

別のマシンからアクセスされるIPアドレスを指定する

"wuiOpenHost": "192.168.60.10",

空の予約ルールを作成

$ echo [] > rules.json

動作チェック

$ ./chinachu service wui execute
^C
$ ./chinachu update

サービスを登録

$ sudo pm2 start processes.json
$ sudo pm2 save

以上でインストールは完了。

ドライバはなるべく標準ドライバで対応して手間を省いた。チャンネル設定はBS/CSの設定が決まっていて、地上波はチャンネルスキャンできるので手間取らなかった。以前に比べて簡単になったものの、まだ手間がかかるように思う。

参考


7月 19th, 2017

Posted In: ハードウェア

タグ: , , , , , , ,

2 Comments

先月にDVB版PT3ドライバがLinuxカーネルに取り込まれた。PX-S1UDも今年取り込まれている。PX-S1UDのドライバは3.15以降で、PT3のDVB版ドライバは3.18以降で使えるようになる。

両方のドライバをDebianで使えるようにしてみた。

DebianでPX-S1UDを使う

PX-S1UDには3.15以降のカーネルで対応するので、Debianのカーネルをアップグレードすればいい。

PX-S1UDの接続確認

$ lsusb | grep VidzMedia
Bus 001 Device 002: ID 3275:0080 VidzMedia Pte Ltd

バックポートリポジトリの追加

$ sudo sh -c "echo 'deb http://http.debian.net/debian wheezy-backports main' > /etc/apt/sources.list.d/backports.list"
$ sudo aptitude update

カーネルのインストール

$ sudo aptitude -t wheezy-backports install linux-image-3.16-0.bpo.2-amd64

unzipのインストール

$ sudo aptitude install unzip

Windows用ドライバからファームウェアを導入

$ cd /usr/local/src/
$ 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/

再起動

$ sudo reboot

ドライバを確認

$ lsmod | grep smsusb
smsusb                 17036  0
smsmdtv                47106  2 smsdvb,smsusb
usbcore               199395  5 uhci_hcd,ehci_hcd,ehci_pci,smsusb,usbhid
$ ls /dev/dvb/
adapter0

DebianでDVB版PT3ドライバを使う

Linux3.18で対応するが、Wheezyではまだ使えないのでV4L-DVBドライバをインストールする。ビルドには3.8以降のカーネルが必要になる。カーネルのアップグレードまではPX-S1UDと共通。

PT3の確認

$ lspci | grep Multimedia
03:00.0 Multimedia controller: Altera Corporation Device 4c15 (rev 01)

バックポートリポジトリの追加

$ sudo sh -c "echo 'deb http://http.debian.net/debian wheezy-backports main' > /etc/apt/sources.list.d/backports.list"
$ sudo aptitude update

カーネルのインストール

$ sudo aptitude -t wheezy-backports install linux-image-3.16-0.bpo.2-amd64

再起動して確認

$ sudo reboot
$ uname -r
3.16-0.bpo.2-amd64

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

$ sudo aptitude install git build-essential patchutils libproc-processtable-perl linux-headers-3.16-0.bpo.2-amd64

ビルド

$ cd /usr/local/src/
$ git clone --depth=1 git://linuxtv.org/media_build.git
$ cd media_build
$ ./build

インストール

$ sudo make install

ドライバモジュールのロード

$ sudo modprobe earth-pt3

ドライバの確認

$ lsmod |grep earth_pt3
earth_pt3              21751  0
dvb_core              110088  1 earth_pt3
i2c_core               50108  4 drm,i2c_piix4,drm_kms_helper,earth_pt3
$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3

chardev版PT3ドライバを使い続ける際の注意点

Linux3.18以降を使う場合、DVB版ドライバをブラックリストに追加しておかないとDVB版ドライバが使われてしまう。PT3はearth-pt1ではなくearth-pt3を/etc/modprobe.d/blacklist.confに追加する。PT1/2を使っていない場合、earth-pt1を追加しても何の効果もない。

$ sudo sh -c "echo 'blacklist earth-pt3' >> /etc/modprobe.d/blacklist.conf

10月 26th, 2014

Posted In: ハードウェア

タグ: , , , , , , ,

One Comment

PX-S1UDをLinuxで使えるようにしたのでChinachuと組み合わせてみた。録画にはrecdvbを使う。

暗号化の解除

録画時にB25デコードをかける場合はlibarib25やFUSE_b25をインストールしておく。

recdvbのセットアップ

PT3などと同じように録画するには録画コマンドrecdvb(recpt1の改造版)をこちらからダウンロードしておく。手順はrecpt1と変わらない。

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

$ sudo aptitude install automake

ビルドとインストール

$ cd /usr/local/src/
$ wget http://www13.plala.or.jp/sat/recdvb/recdvb-1.2.0.tgz
$ tar xvzf recdvb-1.2.0.tgz
$ cd recdvb-1.2.0
$ ./autogen.sh
$ ./configure --enable-b25 #libarib25でデコードする場合
$ make
$ sudo make install

recpt1などが入っている場合checksignalが上書きされるので注意。recdvbはPT2、PT3のDVBドライバでも使えるが、衛星放送には対応していない。checksignalも形式が違うのであまり当てにならない。

録画テスト

$ recdvb --dev 0 --b25 --strip チャンネル番号 録画秒数 録画ファイル名

/dev/dvb/adapter0の場合–devに0を指定。

Chinachuのインストール

Chinachuwikiに従えば問題なくインストールできる。DVBデバイスの場合、実行ユーザーをvideoグループに所属させる必要があるので注意が必要。

必要なパッケージのインストール(wikiの記述通り)

$ sudo apt-get install build-essential curl git-core libssl-dev yasm libtool autoconf

実行ユーザー作成

$ sudo adduser chinachu
$ sudo adduser chinachu video #デバイスの操作はvideoグループにしかできないので、グループに追加
$ sudo adduser chinachu sudo #インストール・アップデートのためにsudoグループに追加

ユーザーをchinachuに切り替え

$ sudo -i -u chinachu

ソースの取得

$ git clone git://github.com/kanreisa/Chinachu.git chinachu

インストール

$ cd chinachu
$ ./chinachu installer
Chinachu Installer Menu:
[!] These are installed under all /home/chinachu/chinachu/...
[!] Recommend the Auto installation.
1) Auto (full)            5) Node.js Modules       9) libfdk-aac
2) Auto (fast)            6) epgdump              10) libogg
3) submodule              7) libx264              11) libvorbis
4) Node.js Environment    8) libvpx               12) libav
what do you install? > 1
selected: Auto (full)

サービスの登録

$ ./chinachu service operator initscript > /tmp/chinachu-operator
$ ./chinachu service wui initscript > /tmp/chinachu-wui
$ sudo chown root:root /tmp/chinachu-operator /tmp/chinachu-wui
$ sudo chmod +x /tmp/chinachu-operator /tmp/chinachu-wui
$ sudo mv /tmp/chinachu-operator /tmp/chinachu-wui /etc/init.d/
$ sudo insserv chinachu-operator
$ sudo insserv chinachu-wui

設定ファイルの作成

$ cp config.sample.json config.json #サンプルのコピー
$ sudo vi config.json

録画ファイルの保存先を設定

  "recordedDir" : "./recorded/",

ユーザーの設定

  "wuiUsers": [
    "ユーザー名:パスワード"
  ],

外部から見られないのであれば、設定そのものを削除してもいい。

ファイル名のフォーマット

"recordedFormat": "[<date:yymmdd-HHMM>][<type><channel>][<tuner>]<title>.m2ts",

フォーマットに使えるタグは/node_modules/chinachu-common/lib/chinachu-common.jsのexports.formatRecordedNameを見るとわかる。下に一覧を用意した。

チューナーの設定

  "tuners": [
    {
      "name"        : "PX-S1UD",
      "isScrambling": false,
      "types"       : [ "GR" ],
      "command"     : "recdvb --dev 0 --b25 --strip --sid <sid> <channel> - -"
    }
  ],

/dev/dvb/adapter0の場合–devに0を指定する。

チャンネル設定

  "channels": [
    { "type": "GR", "channel": "16" },
    { "type": "GR", "channel": "21" },
    { "type": "GR", "channel": "22" },
    { "type": "GR", "channel": "23" },
    { "type": "GR", "channel": "24" },
    { "type": "GR", "channel": "25" },
    { "type": "GR", "channel": "26" },
    { "type": "GR", "channel": "27" }
  ]

地域に合わせて設定する

サービスの起動

$ sudo service chinachu-operator start
$ sudo service chinachu-wui start

しばらく待つと番組表が作成される。

WUIに接続

ブラウザに"http://IPアドレス:10772/"と入力するとChinachuのWUIに接続できる。ここから予約や録画ファイルの視聴・管理が行える。ストリーミング再生を無変換以外で使うにはそれなりのスペックが必要。番組表からできるライブ視聴はエンコードが必要で信頼性がまだ低いので、予約録画して再生した方がいい。

エイリアス

他のユーザーでchinachuコマンドをそのまま使うのはまずそうなので、普段使っているユーザーで使えるようにエイリアスを追加。(次回ログインから有効)

$ echo "alias chinachu='sudo -u chinachu /home/chinachu/chinachu/chinachu'" >> ~/.bash_aliases

CLIコマンド

自動予約ルール確認

$ chinachu rules

予約済み番組の確認

$ chinachu reserves

録画中番組の確認

$ chinachu recording

録画済み番組の確認

$ chinachu reserves recorded 

Chinachuのアップデート

$ chinachu updater

番組表手動更新

$ chinachu update

番組表の作り直し

$ chinachu update -f

ロックファイルの削除

$ chinachu unlock

ファイル名のフォーマット

<date:日付フォーマット>
日時。dateformatが使われる。
<id>
番組ID
<type>
放送波の種類
<channel>
チャンネル番号
<channel-id>
チャンネルID
<channel-sid>
SID
<channel-name>
チャンネル名
<tuner>
チューナー名
<title>
タイトル
<fulltitle>
EPGで受信したタイトル
<subtitle>
サブタイトル
<episode>
話数
<category>
ジャンル

3月 23rd, 2014

Posted In: ソフトウェア, ハードウェア

タグ: , , , , , , , , , , ,

Leave a Comment

PLEXのUSBチューナーPX-S1UDがLinuxで使えるというので試してみた。標準ドライバに少し手を加えて使えるようにする。環境はDebian(wheezy)。

追記:ドライバがカーネルに組み込まれたのでこちらを参照。PX-S1UDとPT3のDVBドライバがLinux標準に – 底辺迷走

カーネルのアップグレード

Debian(wheezy)に導入されているカーネル3.2に含まれているドライバはPX-S1UDに使えないので、新しいカーネルを導入しておく。カーネル3.10以降であればアップグレードは不要。

使われているカーネルを確認

$ uname -r
3.2.0-4-amd64

Backportsリポジトリを追加

$ sudo sh -c "echo 'deb http://ftp.debian.org/debian/ wheezy-backports main' > /etc/apt/sources.list.d/wheezy-backports.list"
$ sudo aptitude update

カーネルのインストール

$ sudo aptitude -t wheezy-backports install linux-image-3.12-0.bpo.1-amd64

カーネルを入れ替えるために再起動

$ sudo reboot

カーネルを確認

$ uname -r
3.12-0.bpo.1-amd64

ドライバのビルド

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

$ sudo aptitude install build-essential linux-source-3.12 linux-headers-3.12-0.bpo.1-amd64

カーネルソースの展開

$ cd /usr/local/src/
$ tar xvJf /usr/src/linux-source-3.12.tar.xz

ビルドの準備

$ cd linux-source-3.12/
$ cp /boot/config-`uname -r` .config
$ make oldconfig
$ make modules_prepare
$ cp /lib/modules/`uname -r`/build/Module.symvers .

ドライバの階層に移動

$ cd drivers/media/usb/siano/

ソースを修正する

$ vi smsusb.c

usb_device_id smsusb_id_tableに次の2行を追加

        { USB_DEVICE(0x3275, 0x0080),
                .driver_info = SMS1XXX_BOARD_SIANO_RIO },

変更内容

$ diff -u smsusb.c{.org,}
--- smsusb.c.org        2014-01-26 02:18:00.000000000 +0900
+++ smsusb.c    2014-03-21 19:59:07.922682492 +0900
@@ -634,6 +634,8 @@
                .driver_info = SMS1XXX_BOARD_ZTE_DVB_DATA_CARD },
        { USB_DEVICE(0x19D2, 0x0078),
                .driver_info = SMS1XXX_BOARD_ONDA_MDTV_DATA_CARD },
+       { USB_DEVICE(0x3275, 0x0080),
+               .driver_info = SMS1XXX_BOARD_SIANO_RIO },
        { } /* Terminating entry */
        };

ドライバモジュールのビルド

$ make -C /usr/local/src/linux-source-3.12 M=`pwd` modules

ドライバのインストール

"make modules_install"ではうまくインストール出来ないのでcpでインストールする。Windows用ドライバに含まれるファームウェアも必要なので導入しておく。

元のモジュールを上書きするので、バックアップする

$ sudo mv /lib/modules/`uname -r`/kernel/drivers/media/usb/siano/smsusb.ko{,.org}

ドライバモジュールのインストール

$ sudo cp smsusb.ko /lib/modules/`uname -r`/kernel/drivers/media/usb/siano/
unzipのインストール
$ sudo aptitude install unzip

Windows用ドライバからファームウェアを導入

$ cd /usr/local/src/
$ 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/

ドライバのロード

PX-S1UDの接続確認

$ lsusb |grep VidzMedia
Bus 002 Device 002: ID 3275:0080 VidzMedia Pte Ltd

ドライバモジュールのロード

$ sudo modprobe smsusb

デバイスの確認

$ ls /dev/dvb/
adapter0

ドライバモジュールを自動で読み込ませる

$ sudo sh -c "echo smsusb >> /etc/modules"

DVBデバイスとして認識されるので他のDVBデバイス同様に扱える。FUSE_b25を使えばMythTVでも使える。

参考:


3月 21st, 2014

Posted In: ハードウェア

タグ: , , , , , , , , ,

Leave a Comment

Philipsのディスプレイ234E5QHSB/11を2台購入した。それまでDVIで接続していたが、このディスプレイにはDVIポートがなく、HDMIポートに接続することになる。HDMIに変更するついでに音声もHDMIに乗せることにした。ディスプレイにはスピーカーをつないでいる。

環境はP5K-PRO+GeForce 9600GT GE。DVIをHDMIに変換して使う。GeForce 400シリーズより前のNVIDIAのビデオカードはサウンドチップを搭載していないので、音声を乗せるにはマザーボードのS/PDIF出力に接続する必要がある。

ケーブルを探す

接続用の2pinケーブルが付属品にはなかったので探してみたが、見つからなかった。PCショップで聞いてみた所、最近のものには必要ないのでもう売ってないという。仕方なく、似たようなケーブルを探してみたところ、ヨドバシTK-CD4というケーブルを見つけた。CD-ROM用とあるが、調べてみるとS/PDIFのケーブルらしい。これを購入して接続することにした。

ケーブルの接続

マザーボードとビデオカードのS/PDIFを接続する。接続方法はELZAの接続ガイドを見るとわかりやすい。ASUS製の接続例を見て接続した。

ディスプレイから出力するには再生デバイスの既定値をデジタル出力に設定する。
hdmi_spdif_000

スリープで音が出なくなる

起動直後は音声が出力されるが、スリープすると音が出なくなった。ドライバを入れ直したり、ディスプレイを接続し直したりしても改善しない。

NVIDIAコントロールパネルを見ると音声出力がオフになっていた。スリープから復帰したときのこの設定が適用されたらしい。設定を変更すると音声が出力されるようになった。

hdmi_spdif_0001
hdmi_spdif_002
hdmi_spdif_003

アナログ出力と違ってデジタル出力はノイズが乗りにくいので、今まであったPC内部のノイズがなくなって快適になった。


3月 15th, 2014

Posted In: ハードウェア

タグ: ,

Leave a Comment

DVB版ドライバがないPT3ではMythTVは使えなかった。最近DVB版PT3ドライバが公開されたので、導入してみる。環境はいつも通りDebianの安定版(wheezy)。

カーネルのアップグレード

Debian(wheezy)に導入されているカーネル3.2ではビルドできないので、新しいカーネルを導入しておく。3.5でビルドできないことと3.8以降でビルドできることを確認している。新しいカーネルはbackportsリポジトリを使うと簡単に導入できる。

使われているカーネルを確認

$ uname -r
3.2.0-4-amd64

Backportsリポジトリを追加

$ sudo sh -c "echo 'deb http://ftp.debian.org/debian/ wheezy-backports main' > /etc/apt/sources.list.d/wheezy-backports.list"
$ sudo aptitude update

カーネルのインストール

$ sudo aptitude -t wheezy-backports install linux-image-3.10-0.bpo.3-amd64

カーネルを入れ替えるために再起動

$ sudo reboot

カーネルを確認

$ uname -r
3.10-0.bpo.3-amd64

V4L-DVBドライバの導入

PT3ドライバのビルドに必要なV4L-DVBドライバを導入する。ビルドには少し時間がかかる。

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

$ sudo aptitude install build-essential patchutils libproc-processtable-perl l linux-headers-3.10-0.bpo.3-amd64

ビルド

$ cd /usr/local/src/
$ git clone git://linuxtv.org/media_build.git
$ cd media_build
$ ./build

インストール

$ sudo make install
$ sudo make kernel-links #ヘッダーのインストール

DVB版PT3ドライバをインストール

事前準備は済んだのでドライバをインストールする。

ソースの取得

$ cd /usr/local/src/
$ git clone https://github.com/knight-rider/ptx.git
$ cd ptx/pt3_dvb/

V4L-DVBからModule.symversをコピー

$ cp /usr/local/src/media_build/v4l/Module.symvers .

ビルド

$ make

インストール

$ sudo make install

ドライバモジュールのロード

$ sudo modprobe pt3_dvb

デバイスファイルの確認

$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3

PT2との違い

PT2のDVB版ドライバと同じように使えるが、デバイス番号が異なる。0,1が衛星波、2,3が地上波と、順番はChardev版と同じになる。

DVBアプリのビルド

tuneコマンドやs2scanが付属しているのでビルドする。

tune.cのDTV_STREAM_IDをDTV_ISDBS_TS_IDに書き換える

$ vi tune.c
$ git diff tune.c
diff --git a/dvb_apps/cmds/tune.c b/dvb_apps/cmds/tune.c
index 20178d0..a45ee08 100644
--- a/dvb_apps/cmds/tune.c
+++ b/dvb_apps/cmds/tune.c
@@ -100,7 +100,7 @@ static int search(int adapter_nr, int channel_id)

        prop[0].cmd = DTV_FREQUENCY;
        prop[0].u.data = channel->frequency;
-       prop[1].cmd = DTV_STREAM_ID;
+       prop[1].cmd = DTV_ISDBS_TS_ID;
        prop[1].u.data = channel->ts_id;
        prop[2].cmd = DTV_TUNE;

ビルド

$ make
$ find . -perm +111
.
./restamp
./nitdump
./ptsdump
./tune
./dumpts
./dumpeid
./s2scan
./dumpts2

コマンドが生成される。コマンドの使い方やDVB版の使い方は以前の記事を参照。

予約機能が良くても、BSに対応できないとMythTVは導入できない。

PT3といえば、chardev版PT3の導入記事に/etc/modprobe.d/blacklist.confにearth-pt1を追加するように書いてあるのが気になる。earth-pt1はPT3には対応していないので、PT1/2を導入していない環境では効果が無い。

参考:


11月 24th, 2013

Posted In: ハードウェア

タグ: , , , , , , ,

Leave a Comment

一人暮らしを始める際にPT3を導入した。そのままではカーネル更新時にドライバが使えなくなってしまうのでPT3にもDKMSを導入してみた。dkms.confがソースに導入されているので、思いの外簡単に設定できた。環境はDebian(Wheezy)

DKMSのインストール

$ sudo aptitude install dkms

/usr/src/以下にPT3ドライバのソースを取得

$ cd /usr/src/
$ sudo git clone git://github.com/m-tsudo/pt3.git pt3_drv-0.0.1
Cloning into 'pt3_drv-0.0.1'...
remote: Counting objects: 541, done.
remote: Compressing objects: 100% (150/150), done.
remote: Total 541 (delta 390), reused 535 (delta 384)
Receiving objects: 100% (541/541), 133.67 KiB | 136 KiB/s, done.
Resolving deltas: 100% (390/390), done.

dkms.confに書かれているPACKAGE_NAMEとPACKAGE_VERSIONの通りにパスやコマンドを指定する。

DKMSにPT3ドライバのソースを追加

$ sudo dkms add -m pt3_drv -v 0.0.1

Creating symlink /var/lib/dkms/pt3_drv/0.0.1/source ->
                 /usr/src/pt3_drv-0.0.1

DKMS: add completed.

自動インストールの動作を確認(build,install未実行時)

$ sudo /usr/lib/dkms/dkms_autoinstaller start
[....] dkms: running auto installation service for kernel 3.2.0-4-amd64:
Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.2.0-4-amd64 KVER=3.2.0-4-amd64.....
cleaning build area....

DKMS: build completed.

pt3_drv.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.2.0-4-amd64/updates/dkms/

depmod....

DKMS: install completed.
. ok

ここまでで、導入は完了。手動で実行する場合や削除する場合は下記のコマンドを使う。

ドライバモジュールのビルド

$ sudo dkms build -m pt3_drv -v 0.0.1

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.2.0-4-amd64 KVER=3.2.0-4-amd64.....
cleaning build area....

DKMS: build completed.

ドライバモジュールのインストール

$ sudo dkms install -m pt3_drv -v 0.0.1

pt3_drv:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.2.0-4-amd64/updates/dkms/

depmod....

DKMS: install completed.

ドライバモジュールのアンインストール(動かない?)

$ sudo dkms uninstall -m pt3_drv -v 0.0.1 

ソースパッケージの登録削除

$ sudo dkms remove -m pt3_drv -v 0.0.1 --all

-------- Uninstall Beginning --------
Module:  pt3_drv
Version: 0.0.1
Kernel:  3.2.0-4-amd64 (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

pt3_drv.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.2.0-4-amd64/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 0.0.1
completely from the DKMS tree.
------------------------------
Done.

7月 31st, 2013

Posted In: ソフトウェア, ハードウェア

タグ: , , , ,

Leave a Comment

3月に、仕事に就けたのを機会にP-07AからELUGA X(P-02E)に機種変更した。

P-02E

LTE+クアッドコアを条件に考えていたら、ハードキーや片手操作が好みだったのでこの機種にした。前の機種を選んだ理由もプッシュオープンやWオープンだったり外面の機能で選ぶ傾向がある。結果、P505i→P902is→P906i→P-07AとPanasonicの端末しか使ったことがない。全く期待していなかっただけに、スマートフォンまでPanasonicを選ぶとは思わなかった。

不具合はディスプレイに縦縞が出てフリーズするのとカメラの起動失敗があったが、どちらもアップデートで修正されて現在は快適。USBホストや有線での外部ディスプレイは使えないが、あまり使わない機能なので問題ない(USBホストは置くだけ充電と相性がよさそうだが)。標準のフィットホームもフィットキーも悪くない。ドロワーはその場で表示されて最低限の機能しか持たないので使いやすい(カテゴリ整理のランチャーを使ったら面倒になった)。

HTC J butterflyを借りてみたら、USBカバーが開けにくかったり、通知領域にトグルがなかったり、ELUGA Xの方が使いやすいように感じた。TPUケースをつけたら持ちにくい上に、端が押せなくて全面に細かい傷がついたので使うのをやめた。クリップ付きの紐ストラップをつけたので、落下はまだない。

他人のを設定した経験から、特に迷うことなく使えて小型PCとしか思ってなかったので、PC同様に環境構築して満足してしまった。

dビデオを契約させられたので、3月末にdtabも注文した。

入社2ヶ月で、転職がすでに決まってる。何が起こるかわからない。


5月 12th, 2013

Posted In: ハードウェア, 雑記

タグ: , , ,

Leave a Comment

次ページへ »