PT3起動

earthsoft PT3
アースソフト PT3

引き続きPT3@ubuntu 10.04。先日書いたように、以下のエラー

PT3-pci: probe of 0000:05:00.0 failed with error -5
で行き詰まったPT3によるgt110bサーバ強化計画。

基盤のプリントをチェックしたところ2012年4月24日の日付が確認できたので、一旦Windowsマシンに移設して2012年7月4日リリースのFPGA回路更新ツール(PT3-Update-095)を適用してから再確認したところ無事認識。

yano@GT110b:~$ fgrep -i pt3 /var/log/messages
Oct 3 04:49:37 gt110b kernel: [ 9.752862] PT3: PT3-pci.c: rev.81 2012-08-31
Oct 3 04:49:37 gt110b kernel: [ 9.752912] PT3-pci 0000:0d:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Oct 3 04:49:37 gt110b kernel: [ 9.752927] PT3: Bus Mastering Enabled.
Oct 3 04:49:37 gt110b kernel: [ 9.753046] PT3: Check PTn is passed. n=3
Oct 3 04:49:37 gt110b kernel: [ 9.925383] PT3: retry init_tuner
Oct 3 04:49:37 gt110b kernel: [ 9.987749] PT3: retry init_tuner
Oct 3 04:49:37 gt110b kernel: [ 10.047702] PT3: TUNER ffff8801aeff35f8 ISDB_S Wakeup
Oct 3 04:49:37 gt110b kernel: [ 10.364528] PT3: TUNER ffff8801aeff35f8 ISDB_S Sleep
Oct 3 04:49:37 gt110b kernel: [ 10.484290] PT3: TUNER ffff8801aeff35f8 ISDB_T Wakeup
Oct 3 04:49:37 gt110b kernel: [ 10.836109] PT3: TUNER ffff8801aeff35f8 ISDB_T Sleep
Oct 3 04:49:37 gt110b kernel: [ 10.943401] PT3: TUNER ffff8801aeff3620 ISDB_S Wakeup
Oct 3 04:49:37 gt110b kernel: [ 11.245324] PT3: TUNER ffff8801aeff3620 ISDB_S Sleep
Oct 3 04:49:37 gt110b kernel: [ 11.365119] PT3: TUNER ffff8801aeff3620 ISDB_T Wakeup
Oct 3 04:49:38 gt110b kernel: [ 11.714448] PT3: TUNER ffff8801aeff3620 ISDB_T Sleep
Oct 3 04:49:38 gt110b kernel: [ 11.814233] PT3: device[0]=(null)
Oct 3 04:49:38 gt110b kernel: [ 11.815115] PT3: card_number = 0 channel=0
Oct 3 04:49:38 gt110b kernel: [ 11.816122] PT3: card_number = 0 channel=1
Oct 3 04:49:38 gt110b kernel: [ 11.817127] PT3: card_number = 0 channel=2
Oct 3 04:49:38 gt110b kernel: [ 11.818099] PT3: card_number = 0 channel=3
yano@GT110b:~$ ll /dev/pt3*
crw-rw-rw- 1 root video 250, 0 2012-10-03 04:49 /dev/pt3video0
crw-rw-rw- 1 root video 250, 1 2012-10-03 04:49 /dev/pt3video1
crw-rw-rw- 1 root video 250, 2 2012-10-03 04:49 /dev/pt3video2
crw-rw-rw- 1 root video 250, 3 2012-10-03 04:49 /dev/pt3video3
errata内容的にも初期化エラーとは関係ないと思っていたのだが、取り敢えずやるべき事はやっとけよという事だな。

続いてrecpt1のPT3対応。PT2の3,4枚目用のデバイスファイルパス(pt1video8~pt1video15)をPT3用(pt3video0~pt3video7)に置き換えるだけだ。

yano@GT110b:~$ cd /home/yano/software/tv/pt1-7662d0ecd74b/recpt1/
yano@GT110b:~/software/tv/pt1-7662d0ecd74b/recpt1$ cp -p pt1_dev.h pt1_dev.h.orig
yano@GT110b:~/software/tv/pt1-7662d0ecd74b/recpt1$ ll pt1_dev.h*
-rw-r--r-- 1 yano family 12592 2012-10-03 06:50 pt1_dev.h
-rw-r--r-- 1 yano family 12596 2011-10-01 17:28 pt1_dev.h.orig
yano@GT110b:~/software/tv/pt1-7662d0ecd74b/recpt1$ diff -bc pt1_dev.h.orig pt1_dev.h | nkf -w
*** pt1_dev.h.orig 2011-10-01 17:28:45.000000000 +0900
--- pt1_dev.h 2012-10-03 06:50:56.384950424 +0900
***************
*** 7,26 ****
"/dev/pt1video0",
"/dev/pt1video5",
"/dev/pt1video4",
! "/dev/pt1video9",
! "/dev/pt1video8",
! "/dev/pt1video13",
! "/dev/pt1video12"
};
char *isdb_t_dev[NUM_ISDB_T_DEV] = {
"/dev/pt1video2",
"/dev/pt1video3",
"/dev/pt1video6",
"/dev/pt1video7",
! "/dev/pt1video10",
! "/dev/pt1video11",
! "/dev/pt1video14",
! "/dev/pt1video15"
};

// 変換テーブル(ISDB-T用)
--- 7,26 ----
"/dev/pt1video0",
"/dev/pt1video5",
"/dev/pt1video4",
! "/dev/pt3video1",
! "/dev/pt3video0",
! "/dev/pt3video5",
! "/dev/pt3video4",
};
char *isdb_t_dev[NUM_ISDB_T_DEV] = {
"/dev/pt1video2",
"/dev/pt1video3",
"/dev/pt1video6",
"/dev/pt1video7",
! "/dev/pt3video2",
! "/dev/pt3video3",
! "/dev/pt3video6",
! "/dev/pt3video7",
};

// 変換テーブル(ISDB-T用)

yano@GT110b:~/software/tv/pt1-7662d0ecd74b/recpt1$ ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...
yano@GT110b:~/software/tv/pt1-7662d0ecd74b/recpt1$ ./configure --enable-b25
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
yano@GT110b:~/software/tv/pt1-7662d0ecd74b/recpt1$ make && sudo make install;
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin
yano@GT110b:~/software/tv/pt1-7662d0ecd74b/recpt1$