linuxでHDUS
※実際にやって何が起きてもしらない
○ハード
・HDUS(HDUSF)一式
・ICカードリーダー SCR3310-NTTCom(linuxに対応してます)
・地デジが受信できる設備(室内アンテナ、UHFアンテナなど)
その他
recfriio HDUS対応パッチその2(up0127.zip)への改良パッチ
recfriio r4を旧基板HDUS対応にする(+UDP送信)パッチ その2
Linux用 recfriio r4 黒凡/白凡共通 + b25
SKNET_AS11Loader.sys公式にはもう無いのでこことかから落とす
一応DTV関係ツールで最新版が出ていないか確認すること
HDUSセットアップ
詳しくはLS-GLでHDUSで
簡単に説明すると各パッチを/recfriior4/recfriior4/に放り込んで
patch -p1 < recfriior4.diff
patch -p1 < recfriior4-newhdus.patch
を実行
パッチ当ての順番間違えると成功しません
でmakeします
当方の環境では色々足りずエラーが出たので以下インストール
sudo apt-get install libpcsclite-dev libboost* apache2 libusb-dev
as11loaderはhdus-recfriior4/as11loader内にあるのでそこにSKNET_AS11Loader.sysを放り込んでmake
HDUSをつないでsudo ./as11loader
これでひとまず構築完了
cdで/recfriior4/recfriior4/まで移動して
sudo ./recfriio --hdus --b25 --lockfile lock 27 10 tes.ts
27のところは物理チャンネル、10のところが秒数になる
地域や状況に合わせて変更する
物理チャンネルはでんぱでーた on Webなどでどうぞ
フォルダ内にtes.tsが出来れば大体成功
0kbになる場合は電波が十分とどいていない可能性がある
尚、この状態では
SCardCheckDaemonAvailability() PCSC Not Running
とでて
暗号化解除されていないのでvlc等で再生できない
カードリーダーセットアップ
SCR3310-NTTComを接続すると緑のランプが付く
ただ挿しただけでは動かない
sudo apt-get install pcscd pcsc-tools
B-CASを挿して
sudo /etc/init.d/pcscd start
を実行すると緑のランプが点滅し始めるはず
pcsc_scanを実行して
NTTComがどこかに有れば正しく認識されているはず
もう一度sudo ./recfriio --hdus --b25 --lockfile lock 27 10 tes.ts
を実行してみてtes.tsがvlcで再生できればおk
udevを使って固定
neroAacEncの時のように/usr/local/bin/に登録して./をなくす
さらにsudoでいちいちパスワード入力したり、再起動の度にsudo ./as11loaderを実行するのは非常に面倒なのでrecfriio server up0944.zipのヘルプに載ってたudev固定方法で固定
まずは/recfriior4/recfriior4/内のrecfriioを/usr/local/bin/にコピー
sudo cp recfriio /usr/local/bin/
続いて/recfriior4/arib25v021/arib25/src内にある/usr/local/bin/にコピー
cp b25 /usr/local/bin/
権限をsudo chmod u+s /usr/local/bin/recfriio && sudo chmod u+s /usr/local/bin/b25で変更する
(1) video グループに www-data( apache ) を登録
video グループが無ければ
$ sudo groupadd video
で作成し、
$ sudo gpasswd -a www-data video
でグループに追加。ついでに自分のアカウントも video グループに追加する
例えば自分が foo ならば
$ sudo gpasswd -a www-data foo
追加されたか確認
$ grep video /etc/group
video:x:44:foo,www-data
apache を再起動しないとグループファイルの変更が反映されないので注意 ! ( ハマった orz )
$ sudo /etc/init.d/apache2 restart
(2) recfriioが使うロックファイルのパーミッション設定
/var/lock/friiodetect
が無ければ
$ touch /var/lock/friiodetect
で作成してから
$ chmod 664 /var/lock/friiodetect
$ sudo chown
$ sudo chown www-data:video /var/lock/friiodetect
正しく設定されたか確認
$ ls -al /var/lock/friiodetect
-rw-rw-r-- 1 foo video 0 2009-01-10 14:25 /var/lock/friiodetect
(3) USBのパーミッション設定
/etc/udev/rules.d/40-permissions.rules に
# HDUS
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
ATTRS{idVendor}=="3275", ATTRS{idProduct}=="6051", \
MODE="0664", GROUP="video"
# friio
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
ATTRS{idVendor}=="7a69", ATTRS{idProduct}=="0001", \
MODE="0664", GROUP="video"
を追加する。その後HDUSかfriioを差しHDUSなら更に as11loader を実行したらパーミッションが正しく
設定されているか確認する。例えば
$ lsusb
Bus 003 Device 006: ID 3275:6051
と表示されたら /dev/bus/usb/003/006 のパーミッションを調べて
$ ls -al /dev/bus/usb/003/006
crw-rw-r-- 1 root video 189, 261 2009-01-10 12:59 /dev/bus/usb/003/006
と、グループが video となっていれば良い
40-permissions.rulesへの記載は
sudo gedit /etc/udev/rules.d/40-permissions.rules
ただし、usbの電源が完全に切断されると再度sudo ./as11loaderが必要
これを不要にする方法がrecfriio server up0944.zipのヘルプに載ってる
その他役立つ情報が多いので一通り目を通すと良い
テーマ : UNIX/Linux
ジャンル : コンピュータ



