amazon でお安かったので、PT3を購入。
事前に、CentOS6などで動かしている人を探していたので、難なくいけるだろうと思ってたのが、躓いたりしたので、備忘録。
まずは、B-CASカードを認識させる。
今回使用した、カードリーダーは「SCR3310-NTTCom」で、fedora17 あたりに入っている、pcsc-tools-ccid のパッケージだとデバイスの定義が削除されているので手動で追加が必要。
ちなみに書いている時の pcsc-tools-ccid は「pcsc-lite-ccid-1.4.6-1.fc17.x86_64」です。
とりあえず、pcsc-toolとかインストール
# yum -y install pcsc-lite pcsc-lite-ccid pcsc-lite-libs pcsc-perl pcsc-tools
デバイスIDとか調べる。
# lsusb Bus 006 Device 008: ID 04e6:511a SCM Microsystems, Inc.
次は、デバイスの定義を追加
# vim /lib64/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist <key>ifdVendorID</key>の<array>の最後に下記追加 <string>0x04E6</string> <key>ifdProductID</key>の<array>の最後に下記追加 <string>0x511A</string> <key>ifdFriendlyName</key>の<array>の最後に下記追加 <string>NTTCom SCR3310</string>
差分はこんな感じになります。
See the gist on github.僕の環境ではなぜかサービスとして pcscd を起動するとカードリーダーを見つけてくれなかったので、rc.local に書いて手動起動にします。
# chkconfig pcscd off # service pcscd stop # vim /etc/rc.d/rc.local pcscd ←を追加
スマートカードのリストを更新して、pcscd 起動して、カードリーダーのチェック
下記の様にならない場合は、なんかググって頑張る。
# wget http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt -O /root/.smartcard_list.txt # pcscd # pcsc_scan PC/SC device scanner V 1.4.17 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr> Compiled with PC/SC lite version: 1.7.4 Scanning present readers... 0: NTTCom SCR3310 [Vendor Interface] 00 00 Possibly identified card (using /root/.smartcard_list.txt): Japanese Chijou Digital B-CAS Card (pay TV)
arib25 ライブラリをmakeってインストール
# git clone git://github.com/stz2012/libarib25.git # cd libarib25 # make # make install
recpt1 をmakeってインストール(PT3なのにpt1とはこれいかに)
# git clone git://github.com/stz2012/recpt1.git # cd recpt1/recpt1 # ./autogen.sh # ./configure --enable-b25 # make clean # make # make install
pt3 のドライバー
# git clone git://github.com/m-tsudo/pt3.git # cd pt3 # make # make install # insmod /lib/modules/`uname -r`/kernel/drivers/video/pt3_drv.ko # depmod -a # modprobe pt3_drv # dmesg [ 5861.950193] PT3: PT3-pci.c: rev.81 2012-08-31 [ 5861.950245] PT3: Bus Mastering Enabled. [ 5861.950337] PT3: this FPGA version is not supported. version=0x3 [ 5861.950353] PT3-pci: probe of 0000:03:00.0 failed with error -5
おっと、FPGAの更新が必要だった。
# dmesg [ 2631.308278] PT3: free PT3 DEVICE. [ 2638.497035] PT3: PT3-pci.c: rev.81 2012-08-31 [ 2638.497088] PT3: Bus Mastering Enabled. [ 2639.258021] PT3: device[0]= (null) [ 2639.258804] PT3: card_number = 0 channel=0 [ 2639.260153] PT3: card_number = 0 channel=1 [ 2639.261490] PT3: card_number = 0 channel=2 [ 2639.262786] PT3: card_number = 0 channel=3 # ls /dev/pt3video* /dev/pt3video0 /dev/pt3video1 /dev/pt3video2 /dev/pt3video3 # recpt1 --help recpt1: error while loading shared libraries: libarib25.so.0: cannot open shared object file: No such file or directory
パス通ってなかった
# echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf # ldconfig # ldd /usr/local/bin/recpt1 linux-vdso.so.1 => (0x00007fffe05bd000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003da4600000) libm.so.6 => /lib64/libm.so.6 (0x0000003da4a00000) libarib25.so.0 => /usr/local/lib/libarib25.so.0 (0x00007f9c0c569000) libc.so.6 => /lib64/libc.so.6 (0x0000003da4200000) /lib64/ld-linux-x86-64.so.2 (0x0000003da3e00000) libpcsclite.so.1 => /lib64/libpcsclite.so.1 (0x0000003a9a600000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000003da8600000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003da6200000) librt.so.1 => /lib64/librt.so.1 (0x0000003da5200000) # recpt1 --b25 --strip 18 20 /raid/ftp/hoge.ts # ls -lh /raid/ftp/hoge.ts -rw-r--r-- 1 root root 36M 10月 22 05:59 /raid/ftp/hoge.ts
おしまい。
「fedora17 で PT3 を使う」への1件のフィードバック