ITサポーターズの仲間たち    mushi

IT関連のサポートに携わる変人が微弱な電波を発してます。
ビビビビビッ!

URL変更のお知らせとお願い 当サイトのドメインが変更となりました
http://zxvf.homeip.net から http://zxvf.stzo.net に変更となりました。
当サイトにリンクしていただいている方々にはご面倒ですが変更をお願いいたします。(2014/4/7)

Linux(debian Etch)でfriio


Linux(debian Etch)でfriio せっかくなんでやってみた。



せっかくなんでやってみた。
いつもアナログLCDでテレビちょこっと見るくらいしかfriioを使ってないんだけど、
先日買ったサーバでも録画できるようにしてみた。
HDDからCFカードに変えて、サーバのHDDをnfsでマウントすれば録画サーバとしても立派に使えるね。
録画時の負荷も全然ない。


使ったファイル
up0465.zip recfriio r2
up0404.zip arib25v021 tsselectv014r2

適当なとこに解凍しとく。

準備
# aptitude install g++ libboost-filesystem-dev libboost-thread-dev libglib2.0-dev libpcsclite-dev libccid libglib2.0-dev libpcsclite-dev libccid pcscd libboost-regex-dev pcsc-tools


念のため /etc/libccid_Info.plist のオリジナルを/etc/libccid_Info.plist.org とかして保存しておく。
arib25v021/libccid_Info.plist を /etc/libccid_Info.plist に置き換える。
さらにこのファイルはライブラリのバージョンが違うので修正。
arib25v021付属が1.3.1でdebian Etch でインストールされるのが1.1.0

# vi /etc/libccid_Info.plist

して開いた状態で
:1,$s/1.3.1/1.1.0/g

と入力して置き換える。

まあ別の方法としてファイルはそのままにして
pushd /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux

xxxx:/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux# ln -s libccid.so.1.1.0 libccid.so.1.3.1

とかしてやってもいいかも

同じような手順で
marumolinuxr3/arib25v021/smartcard_list.txt

/usr/share/pcsc/smartcard_list.txt
を入れ替える。

最新のドライバをそのまま使いたい場合はdebianのパッケージは使わずに
http://pcsclite.alioth.debian.org/から
CCID driver
PCSC-Lite
を入れて動かしてやる。そうすれば上のファイル入れ替えの手順は必要ない。

さて、それではmakeしよう。
arib25/ に降りて make
すると src に b25 ができている。
同じように
tsselectv014r2/tsselect/
に降りてmakeしておけば
src に tsselect が出来てるからいつか使うかも。

次に recfriio だ。
ちょっとやっかい。そのままだと make できない。

recfriio.cpp:29:29: error: linux/usb/ch9.h: ばーかそのようなファイルやディレクトリはねー
とか言って怒られる。
なので
$ vi recfriio.cpp

29行目の
#include <linux/usb/ch9.h> これを 
#include <linux/usb_ch9.h> に修正
次に
649行目の
    std::cout << "Search friios from dir: " << base_dir << std::endl;
の先頭を // してコメントアウト。
//   std::cout << "Search friios from dir: " << base_dir << std::endl;

次に Makefile の9行目の
-lboost_thread-mt
というところを
-lboost_thread
に変えてやる。

それで make するとやっと recfriio ができあがる。

udevの修正をしてやる
readme.txtに書いてあるように
/etc/udev/permissions.rules
にfriioの項目を追加してやる。

これで準備は整った。
/etc/init.d/pcscd restart

してから

tail -f /var/log/messages

しながら friio をUSBに挿入しよう。
カードとfriioが認識されていればOK。

それではあとは録画するだけ。
# ./recfriio 25 10 test1.ts

(recfriio チャンネル 録画秒数 録画ファイル名)
devices file: /proc/bus/usb/devices
1 friios found:
/dev/bus/usb/004/007: use this friio.
device: /dev/bus/usb/004/007
Signal level: 5.395410
Signal level: 1.901780
Signal level: 26.498058
Output ts file.
done.
Rec time: 9.034874 sec.
Signal level: 27.157158

このままだとまだ暗号化されてるので
# ./b25 test1.ts test.ts

processing: finish
no EMM receiving request

これでできたtest.ts はvlcなどでそのまま見れるし、regzaだとそのままさらに綺麗に見れるのだ。

あとは使い方次第だけど、デバイスファイルのパーミッションの問題があるから
実行ユーザーがusbデバイスを使えるようにしておいてあげないといけない。
rootなら大丈夫だけどね。

とりあえず
# cp recfriio /usr/local/bin/
# cp b25 /usr/local/bin/
してコピーしておいてsuidをセットしちまおう
# chmod u+s /usr/local/bin/recfriio

これで /usr/local/bin/ から利用出来る。


追記:
困ったことに recfriio は白と黒の判定をカードリーダーでしている。
それが最近のロットは黒と同じリーダーになったらしく、普通にビルドすると白が黒と判定されてしまう。
そこでrecfriio.cppの修正がさらに必要になった。

そんな僕も追加でもう一個買ったんだけどそのままでは新しい方が使えない。
使えなくてはどうしょもないので、その対策を追加しておこう。
新しいロットで黒と判定されて困っている人は
(ただし黒を持っていない人のみ)
これを見てくださいね。friiocard.txt

▼ この記事へのコメント ▼


< 過去の記事 [ 12月の 全てのトピック リスト ] 新しい記事 >
via IPv4

twitter

●→ トップページ

12/14(Fri) 05:52:19

サイト内検索

 

トピックのカテゴリー

全てのトピック
今日の思考回路
趣味について
ニュース!
Technical
Linux
OSX
その他いろいろ

みんなのリンク

全てのリンク
ニュース
アミューズメント
生活
Tools
Windows
OS X
Technical
その他のリンク
MACアドレスで位置情報検索


Archives




新しいトピック
最新:05/08 18:22


Valid XHTML 1.0 Transitional

Syndicate this site(XML)

RSS1.0(RDF)

RSS2.0(RSS)

SpecialThanks
011602718

....   

Copyright (C) 2005-2018 Amato. All rights reserved.