fedora17 で PT3 を使う

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>

差分はこんな感じになります。

僕の環境ではなぜかサービスとして 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

おしまい。

1 thought on “fedora17 で PT3 を使う

  1. ピンバック: Fedora20 カーネルバージョンアップ時のPT3ドライバRemake(DKMS管理登録) | ospryBlog

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください