12/07/18 21:45:03.44 cRpV/l7P
>>48乙です Ubuntu 12.04 32bit
[ 72.268211] pt3-pci.c: 0.0.1 2012-07-07
[ 72.268271] pt3-pci 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 72.268277] Revision check passed. revision=0x1
[ 72.268282] Bus Mastering Enabled.
[ 72.268287] request_mem_resion success. mmio_start=0xd0001000 mmio_len=4096
[ 72.268307] io_remap success. f80f4000
[ 72.268311] request_mem_resion success. mmio_start=0xd0000000 mmio_len=4096
[ 72.268320] io_remap success. f8432000
[ 72.268324] Check PTn is passed. n=3
[ 72.268326] Check FPGA version is passed. version=0x4
[ 72.268330] can_transport_ts = 1
[ 72.268332] dma_descriptor_page_size = 20
[ 72.701372] tuner_power_on
[ 72.713342] set_tuner_sleep isdb=0 tuner_no=0 sleep=0 status=0x0
[ 72.713346] set_freq isdb=0 tuner_no=0 channel=0 offset=0
[ 72.729344] frequency 1048980 Khz
[ 72.733328] channel=0 index=0 sd=0x38fae1 N=0xd A=0x5
[ 72.845201] set_tuner_sleep isdb=0 tuner_no=0 sleep=1 status=0x0
[ 72.909065] set_tuner_sleep isdb=1 tuner_no=0 sleep=0 status=0x0
[ 72.909069] set_freq isdb=1 tuner_no=0 channel=70 offset=0
[ 73.024976] set_tuner_sleep isdb=1 tuner_no=0 sleep=1 status=0x0
[ 73.036966] set_tuner_sleep isdb=0 tuner_no=1 sleep=0 status=0x0
[ 73.036972] set_freq isdb=0 tuner_no=1 channel=0 offset=0
[ 73.052890] frequency 1049980 Khz
[ 73.056943] channel=0 index=1 sd=0x39fae1 N=0xd A=0x5
[ 73.168805] set_tuner_sleep isdb=0 tuner_no=1 sleep=1 status=0x0
[ 73.232678] set_tuner_sleep isdb=1 tuner_no=1 sleep=0 status=0x0
[ 73.232682] set_freq isdb=1 tuner_no=1 channel=71 offset=0
[ 73.348578] set_tuner_sleep isdb=1 tuner_no=1 sleep=1 status=0x0
[ 73.348584] PT3:device[0]= (null)
[ 73.362332] PT3:card_number = 0
51:22
12/07/18 21:59:56.19 cRpV/l7P
続いて Ubuntu 12.04 64bit
diff 取ってみてログがほぼ同じだったので、差分点だけ書き込みます。
desc_info overflowは64bitのみ出ます。
「PT3:card_number = 0」はどちらも4行出ていましたが、
>>50では改行が多いと怒られたで削ってます。
~先頭から差分無し~
[ 212.580988] request_mem_resion success. mmio_start=0xd0001000 mmio_len=4096
[ 212.581006] io_remap success. ffffc9000167e000
[ 212.581008] request_mem_resion success. mmio_start=0xd0000000 mmio_len=4096
[ 212.581012] io_remap success. ffffc9000170a000
~しばらく差分無し~
[ 213.660740] PT3:device[0]= (null)
[ 213.674387] desc_info overflow max=59 curr=59
[ 213.674393] PT3:card_number = 0
[ 213.689041] desc_info overflow max=59 curr=59
[ 213.689045] PT3:card_number = 0
[ 213.702722] desc_info overflow max=59 curr=59
[ 213.702726] PT3:card_number = 0
[ 213.716435] desc_info overflow max=59 curr=59
[ 213.716438] PT3:card_number = 0
52:login:Penguin
12/07/18 22:35:24.33 3rbsP2zK
>>50-51
なんどもありがとうございます。
32bitの方は想定通りですね。
64bitの方は失敗してますね、なんだろう。
32bitと同じ処理のはずなんですが、32bitと64bitでなにが変わるのかよくわかってません
>>49
謎のアドレス0x1000と0x17faの実行で初期化されてるという淡い期待と共に
動けばラッキーくらいの気持ちなのです
ただ、>>49さんのおっしゃる事ももっともで、これ以上お付き合い願うのは
心苦しく思いますのでソースのアップは進展があったときに行おうと思います。
お手間を取らせるだけになってしまい申し訳ありませんでした。
32bitの方でしたら”td/td”が動くはずです。
テストモード(LFSR)でDMA転送を行うx4チャンネル
チューナーのチャンネル設定をしてDMA転送するx2チャンネル
というコードになってます。
チューナーのチャンネル設定してDMAの方は先にも書きましたが
0x47で始まるTSパケットっぽいなにかが取れる事もありますし、
空っぽのファイルになることもあります
中途半端な現状ですが、遊んでいただけたらと思います
53:login:Penguin
12/07/18 23:28:33.73 cRpV/l7P
>>52
何となく構造体のパディングとか、
無宣言の関数の型の食い違い
あたりがありがちかなぁとかなんとなく思ってます。
週末ちょっと見てみます。
オモチャをつっつける状態になってる旨了解です。
54:login:Penguin
12/07/19 21:26:45.82 LowodA98
recpt1 epgrec epgdumpを使っているときCSのSIDが変わらずチャンネルが変わったときは、config.phpを直すだけで大丈夫?
55:login:Penguin
12/07/19 22:50:31.85 xoK+pqri
つdb更新
56:tomy ◆CfWlfzSGyg
12/07/19 23:15:46.11 Uucnh6+g
とりあえず取れたところまで。
デコーダー間違っているかもう一度チェックしてみるけど。。。
*I_ENDまでが1シーケンス。
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221e10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)260301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)261e10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)200140(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)201c10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)240140(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241c10(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241ed9(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221c15(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221f04(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)261c15(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)261f04(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)201d01(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241d01(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_SLEEP)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6011c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec600 ここは特殊?
57:tomy ◆CfWlfzSGyg
12/07/19 23:16:25.95 Uucnh6+g
その2
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec7(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_SLEEP)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630621(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f63008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630150(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630188(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f63025e(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f6302e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630310(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630399(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630403(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630480(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630500(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630580(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630621(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f6308ff(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630979(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630980(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630a15(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
58:tomy ◆CfWlfzSGyg
12/07/19 23:17:30.98 Uucnh6+g
その3
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630ab2(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630b53(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630bc3(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630c46(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630ce7(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630d5c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630df8(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630e54(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630ef9(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f630f44(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630f80(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f63008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)117f6302e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)917f630188(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0010c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_SLEEP)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec0011c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec000
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)26fec1(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)27(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_SLEEP)
59:tomy ◆CfWlfzSGyg
12/07/19 23:18:44.83 Uucnh6+g
その4
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600621(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f60008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600150(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600188(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f60025e(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f6002e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600310(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600399(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600403(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600480(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600500(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600580(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600621(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f6008ff(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600979(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600980(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600a15(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600ab2(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600b53(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600bc3(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
60:tomy ◆CfWlfzSGyg
12/07/19 23:19:53.02 Uucnh6+g
その5
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600c46(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600ce7(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600d5c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600df8(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600e54(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600ef9(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f600f44(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600f80(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f60008e(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)137f6002e2(I_DATA_L)(I_CLOCK_H)(I_DATA_H)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)937f600188(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)241edd(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221700(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6011c(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec605c5(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220a00(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)2210b0(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)221100(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60270(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec6060d(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60735(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
61:tomy ◆CfWlfzSGyg
12/07/19 23:20:39.97 Uucnh6+g
その6(最後)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60802(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60938(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60afa(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60be1(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60c03(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60cc3(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60809(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec61320(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec60d(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)22fec7(I_DATA_H)
(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
62:login:Penguin
12/07/19 23:24:32.67 Uucnh6+g
I2Cのアドレスが
0x11,0x13,0x10,0x12は判るんだけど、
0x41とか0x08とか…この辺りが疑問かな。
特に
917f63008eあたりがREADなんだけど、何も読んでいないっていうのが???な部分。
63:login:Penguin
12/07/20 15:38:54.07 2E+mvotn
>>54
ダメでしょ
64:login:Penguin
12/07/20 16:18:08.77 BmNXFxLA
PT3
65:login:Penguin
12/07/20 20:05:45.29 1v0oO0fD
>>54
だめだったorz
あとは何を直せばいいの?
epgdumpのどこか?
66:login:Penguin
12/07/20 20:34:07.98 2jRA8nsn
>>56-62
SDKとすり合わせて見ました。ほぼPT_Device.hのInitTunerと合致してますね。
ただ、//LPF Tuning Onのところから関数が終わるまで(91,11,93,13で始まるやつ)
SLEEPあるはずの場所にSLEEPが無い点がSDKと違うようです
以下前提条件
(START) = (I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)
(STOP) = (I_DATA_L)(I_CLOCK_H)(I_DATA_H)
tc_addr : S0 => 0x22, S1 => 0x26, T0 => 0x20, t1 => 0x24
tuner_addr : S0 => 0xc6, S1 => 0xc0, T0 => 0xc4 t1 => 0xc2
SDK的にはI2Cは以下の6パターン
Write : (START), tc_addr, addr, data * size (STOP)
WriteTuner : (START), tc_addr, 0xfe, tuner_addr , addr, data * size (STOP)
WriteTunerWithoutAddress: (START), tc_addr, 0xfe, tuner_addr , data * size (STOP)
Read : (START), tc_addr, addr, (START) , tc_addr | 1, [(READ) * 8, (LNOP)or(HNOP)] * size, (STOP)
ReadTuner : (START), tc_addr, 0xfe, addr , (START) , tc_addr , 0xfe, tuner_addr | 1, (START), tc_addr | 1, [(READ) * 8, (LNOP)or(HNOP)] * size, (STOP)
ReadTunerWithoutAddress : (START), tc_addr, 0xfe, tuner_addr | 1, (START) , tc_addr | 1, [(READ) * 8, (LNOP)or(HNOP)] * size, (STOP)
67:login:Penguin
12/07/20 20:35:11.87 2jRA8nsn
その1
// TunerPowerOn
TC_S0->Init()
(START)220301(STOP)(I_END)
(START)221e10(STOP)(I_END)
TC_S1->Init()
(START)260301(STOP)(I_END)
(START)261e10(STOP)(I_END)
TC_T0->Init()
(START)200140(STOP)(I_END)
(START)201c10(STOP)(I_END)
TC_T1->Init()
(START)240140(STOP)(I_END)
(START)241c10(STOP)(I_END)
TC_T1->SetPowers()
(START)241ed9(STOP)(I_END)
TC_S0->SetTsPinsMode()
(START)221c15(STOP)(I_END)
(START)221f04(STOP)(I_END)
TC_S1->SetTsPinsMode()
(START)261c15(STOP)(I_END)
(START)261f04(STOP)(I_END)
68:login:Penguin
12/07/20 20:36:49.12 2jRA8nsn
その2
TC_S1->SetTsPinsMode()
(START)261c15(STOP)(I_END)
(START)261f04(STOP)(I_END)
TC_T0->SetTsPinsMode()
(START)201d01(STOP)(I_END)
TC_T1->SetTsPinsMode()
(START)241d01(STOP)(I_END)
TC_S0 : QM->DummyReset()
(START)22fec6010c(STOP)(START)22fec6010c(STOP)(I_END)
TC_S0 : QM->Init()
(START)22fec6010c(STOP)
(I_SLEEP)
(START)22fec6011c(STOP)
(START)22fec600(START)22fec7(START)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(STOP)
// LPF Tuning On
(I_SLEEP)
(START)917f630621(STOP)
(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)
// QM1D1C0042.h 164行目かな?
(START)917f63008e(STOP)
(START)117f630150(STOP)
中略
(START)917f630f80(STOP)
QM->SetSleepMode() ?
(START)117f63008e(STOP)
(START)117f6302e2(STOP)
QM->SetSearchMode() ?
(START)917f630188(STOP)(I_END)
69:login:Penguin
12/07/20 20:37:30.11 2jRA8nsn
その3
TC_S1 : QM->DummyReset()
(START)26fec0010c(STOP)
(START)26fec0010c(STOP)(I_END)
TC_S1 : QM->Init()
(START)26fec0010c(STOP)
(I_SLEEP)
(START)26fec0011c(STOP)
(START)26fec000
(START)26fec1(START)27(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(STOP)
(I_SLEEP)
(START)937f600621(STOP)
(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)(I_SLEEP)
// QM1D1C0042.h 164行目かな?
(START)937f60008e(STOP)
(START)137f600150(STOP)
中略
(START)137f600f44(STOP)
(START)937f600f80(STOP)
QM->SetSleepMode() ?
(START)137f60008e(STOP)
(START)137f6002e2(STOP)
QM->SetSearchMode() ?
(START)937f600188(STOP)(I_END)
70:login:Penguin
12/07/20 20:38:16.68 2jRA8nsn
その4
TC_T1 : SetPowers()
(START)241edd(STOP)(I_END)
TC_S0 : QM->SetSleep()
TC_S0 : TC->SetSleep()
(START)221700(STOP)(I_END)
TC_S0 : QM->SetSleepMode
(START)22fec6011c(STOP)(I_END)
(START)22fec605c5(STOP)(I_END)
// QM->SetFrequency()
TC_S0 : SetAGC()
(START)220a00(STOP)(I_END)
(START)2210b0(STOP)(I_END)
(START)221100(STOP)(I_END)
TC_S0 : Write_pskmsrst
(START)220301(STOP)(I_END)
// TC_S0: QM->LocalLpfTuning()
TC_S0: QM->Tuning()
(START)22fec60270(STOP)(I_END)
(START)22fec6060d(STOP)(I_END)
(START)22fec60735(STOP)(I_END)
(START)22fec60802(STOP)(I_END)
(START)22fec60938(STOP)(I_END)
(START)22fec60afa(STOP)(I_END)
(START)22fec60be1(STOP)(I_END)
(START)22fec60c03(STOP)(I_END)
(START)22fec60cc3(STOP)(I_END)
// SLEEPあるはず?
(START)22fec60809(STOP)(I_END) // LPF_FC
(START)22fec61320(STOP)(I_END) // CSEL_Offset
TC_S0: QM->GetLockStatus
(START)22fec60d(START)22fec7(START)23(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(I_DATA_H_READ)(STOP)(I_END)
71:tomy ◆CfWlfzSGyg
12/07/20 22:26:08.02 eE97wBL4
>>66
//LPF Tuning On
の部分ってどこなんだろう?SDKの6パターンに属さないんだよね。
I2Cの仕組みからすると、0x91ってREADだし、
>>tc_addr : S0 => 0x22, S1 => 0x26, T0 => 0x20, t1 => 0x24
>>tuner_addr : S0 => 0xc6, S1 => 0xc0, T0 => 0xc4 t1 => 0xc2
にも属さないI2C以外のデバイスかな?
72:login:Penguin
12/07/20 23:06:00.50 2jRA8nsn
>>71
QM1D1C0042.hの157行目から177行目だと思うんだけど
その辺は全部WriteTunerなんですよね。
その後はSDK通りになってるので不思議です。
命令の数は一致してるのでデコードの間違いを疑ったんですが、
見直されてどうでしたでしょうか?
やはりまったく別のデバイスを制御してるんですかね。
73:tomy ◆CfWlfzSGyg
12/07/20 23:06:40.37 eE97wBL4
>>66
>>I2Cの仕組みからすると、0x91ってREADだし、
ってところは私の勘違い。
qemuのデコーダーのコードを読んだら、
READのI_DATA_H_NOPを数えていたからそんなアドレスになっていただけだね。
なので、READ時はI_DATA_H_NOPがNACKでI_DATA_L_NOPがACKだね。
それを踏まえてデコーダーを入れてみる。
74:tomy ◆CfWlfzSGyg
12/07/21 00:03:20.79 VZJBPEPv
という訳でまだ精査出来ていないが、初期化データ(その1)
22:03:01
22:1e:10
26:03:01
26:1e:10
20:01:40
20:1c:10
24:01:40
24:1c:10
24:1e:d9
22:1c:15
22:1f:04
26:1c:15
26:1f:04
20:1d:01
24:1d:01
22:fe:c6:01:0c
22:fe:c6:01:0c
22:fe:c6:01:0c
22:fe:c6:01:1c
22:fe:c6:00(Tuner R:1)
22:fe:c6:0c:43
22:fe:c6:01:1c
22:fe:c6:02:a0
22:fe:c6:03:10
22:fe:c6:04:bc
22:fe:c6:05:c5
22:fe:c6:06:20
22:fe:c6:07:33
75:tomy ◆CfWlfzSGyg
12/07/21 00:04:17.27 VZJBPEPv
その2
22:fe:c6:08:06
22:fe:c6:09:00
22:fe:c6:0a:00
22:fe:c6:0b:00
22:fe:c6:0c:43
22:fe:c6:11:ff
22:fe:c6:12:f3
22:fe:c6:13:00
22:fe:c6:14:2a
22:fe:c6:15:64
22:fe:c6:16:a6
22:fe:c6:17:86
22:fe:c6:18:8c
22:fe:c6:19:cf
22:fe:c6:1a:b8
22:fe:c6:1b:f1
22:fe:c6:1c:a8
22:fe:c6:1d:f2
22:fe:c6:1e:89
22:fe:c6:1f:00
22:fe:c6:01:1c
22:fe:c6:05:c5
22:fe:c6:03:10
76:tomy ◆CfWlfzSGyg
12/07/21 00:04:55.25 VZJBPEPv
その3
26:fe:c0:01:0c
26:fe:c0:01:0c
26:fe:c0:01:0c
26:fe:c0:01:1c
26:fe:c0:00 (Tuner R:1)
26:fe:c0:0c:43
26:fe:c0:01:1c
26:fe:c0:02:a0
26:fe:c0:03:10
26:fe:c0:04:bc
26:fe:c0:05:c5
26:fe:c0:06:20
26:fe:c0:07:33
26:fe:c0:08:06
26:fe:c0:09:00
26:fe:c0:0a:00
26:fe:c0:0b:00
26:fe:c0:0c:43
26:fe:c0:11:ff
26:fe:c0:12:f3
26:fe:c0:13:00
77:tomy ◆CfWlfzSGyg
12/07/21 00:05:31.65 VZJBPEPv
その4
26:fe:c0:14:2a
26:fe:c0:15:64
26:fe:c0:16:a6
26:fe:c0:17:86
26:fe:c0:18:8c
26:fe:c0:19:cf
26:fe:c0:1a:b8
26:fe:c0:1b:f1
26:fe:c0:1c:a8
26:fe:c0:1d:f2
26:fe:c0:1e:89
26:fe:c0:1f:00
26:fe:c0:01:1c
26:fe:c0:05:c5
26:fe:c0:03:10
24:1e:dd
22:17:00
22:fe:c6:01:1c
22:fe:c6:05:c5
22:0a;00
22:10;b0
22:11;00
22:03;01
78:tomy ◆CfWlfzSGyg
12/07/21 00:06:05.53 VZJBPEPv
その5
22:fe:c6:02:70
22:fe:c6:06:0d
22:fe:c6:07:35
22:fe:c6:08:02
22:fe:c6:09:38
22:fe:c6:0a:fa
22:fe:c6:0b:e1
22:fe:c6:0c:03
22:fe:c6:0c:c3
22:fe:c6:08:09
22:fe:c6:13:20
22:fe:c6:0d (Tuner R:1)
79:tomy ◆CfWlfzSGyg
12/07/21 00:08:02.03 VZJBPEPv
注意事項:
Tuner Read時は20msec待たなければならない。
>>66
ソースを読み込んでいないんで聞きたいけど、
Tuner Readの値は何を期待しているのかは読めてる?
もしくは実機でどんな値が読める?
80:login:Penguin
12/07/21 07:39:00.44 HlmTCoVv
>>74
22:fe:c6:00(Tuner R:1)はQM1D1C0042.hの149行目で期待値は0x48
26:fe:c0:00 (Tuner R:1)も同上
ただし、初期化時は値のチェックをしてないようです。
22:fe:c6:0d (Tuner R:1)はQM1D1C0042.hの527行目で期待値は
読んだ値Aに対して(A & 0x40)が0でないです。
81:login:Penguin
12/07/21 07:56:31.66 HlmTCoVv
連投失礼
>>79
MX側(T0,T1)のReadは
1つ目(MxL301RF 343行目)が読んだ値Aに対して(A & 0x0c)が0でない
2つ目(MxL301RF 357行目)が(A & 0x03)が0でないです。
この1つ目、2つ目は同じレジスタの値を読んでるようなので
0x0Fを期待しているようです。
82:tomy ◆CfWlfzSGyg
12/07/22 21:50:20.02 1MqHo+zK
>>81
BSはTSIDのロックをしていなさそうなんで、動かないけど、
もしかしてこのドライバ地デジだったら動く?
BSは
td/td.c
を見て疑問だったんだけど、rec_open()で渡しているチャネルが違う気がする。
見間違いじゃなければSDKのEARTH_PT3.hのch.を渡しているんだよね?
関東にいる人であれば77あたり(NHK)でテスト出来る?
83:login:Penguin
12/07/23 12:00:20.31 rSB5bAEF
>>82
TSID,TMCCを理解してなかったです。
#SDKに出てくるレイヤーも意味わかってません
TMCCからTSID取得して設定するようにしたところBSで
エラーパケットなく受信できるようになりました。
私は関東じゃないのでチャンネル番号違いますが、NHKに合わせたところ
地デジの方もエラーパケットなく受信できました。
ただし、私の受信環境が悪いのかエラーパケットが出ることもあります。
URLリンク(www1.axfc.net)
84:login:Penguin
12/07/23 20:52:01.47 VLxEK967
関東在住です。0723版試してみました。
BSの試験は現状出来ません。
td/td.c で以下のとおり割り当ててみました。
pt3video2に78(放送大学)
pt3video3に77(NHK)
rec : /dev/pt3video2
status = 0x47400000
status = 0x47400000
ts error packet = 0
status = 0x00d0002d
status = 0x47c0002d
ts error packet = 2080
status = 0x47d00004
rec : /dev/pt3video3
status = 0x47d00000
status = 0x47600000
ts error packet = 0
status = 0x4750002d
status = 0x4750002d
ts error packet = 7
status = 0x47500004
ts_error_packet の数だけ見ると、
取れてるっぽいですね。
次にffmpegに食わせた結果を張り付けます。
85:login:Penguin
12/07/23 20:56:02.62 VLxEK967
◆/dev/pt3video2:ffmpegが解釈できず。
◆/dev/pt3video3:最後の行32行に収まらないので切ってます
Input #0, mpegts, from 'rec3_dec.ts':
Duration: 00:00:00.44, start: 32711.314511, bitrate: 11080 kb/s
Program 1024
Stream #0.0[0x100]: Video: mpeg2video, 29.97 tbr, 90k tbn, 90k tbc
Stream #0.1[0x110]: Audio: aac, 48000 Hz, stereo, s16, 254 kb/s
Stream #0.2[0x138]: Data: [6][0][0][0] / 0x0006
Stream #0.3[0x140]: Data: [13][0][0][0] / 0x000D
Stream #0.4[0x160]: Data: [13][0][0][0] / 0x000D
Stream #0.5[0x161]: Data: [13][0][0][0] / 0x000D
Stream #0.6[0x162]: Data: [13][0][0][0] / 0x000D
Stream #0.7[0x170]: Data: [13][0][0][0] / 0x000D
Stream #0.8[0x171]: Data: [13][0][0][0] / 0x000D
Stream #0.9[0x172]: Data: [13][0][0][0] / 0x000D
Program 1025
Stream #0.0[0x100]: Video: mpeg2video, 29.97 tbr, 90k tbn, 90k tbc
Stream #0.1[0x110]: Audio: aac, 48000 Hz, stereo, s16, 254 kb/s
Stream #0.2[0x138]: Data: [6][0][0][0] / 0x0006
Stream #0.3[0x140]: Data: [13][0][0][0] / 0x000D
Stream #0.4[0x160]: Data: [13][0][0][0] / 0x000D
Stream #0.5[0x161]: Data: [13][0][0][0] / 0x000D
Stream #0.6[0x162]: Data: [13][0][0][0] / 0x000D
Stream #0.7[0x170]: Data: [13][0][0][0] / 0x000D
Stream #0.8[0x171]: Data: [13][0][0][0] / 0x000D
Stream #0.9[0x172]: Data: [13][0][0][0] / 0x000D
Program 1408
Stream #0.11[0x580]: Data: [13][0][0][0] / 0x000D
Stream #0.10[0x581]: Video: h264 (Constrained Baseline), yuv420p, 320x180, 5.25 tbr, 90k tbn, 14.99 tbc
Stream #0.12[0x583]: Audio: aac, 48000 Hz, stereo, s16, 51 kb/s
Stream #0.13[0x589]: Data: [13][0][0][0] / 0x000D
Stream #0.14[0x58a]: Data: [13][0][0][0] / 0x000D
86:83
12/07/23 21:29:12.05 8LCgeLyW
64bitでエラーになる原因見つけました
これで治るといいな。。。
パッチファイルだけど微妙に文字数足りないのでアップローダで
URLリンク(www1.axfc.net)
87:login:Penguin
12/07/23 21:39:19.92 8LCgeLyW
>>84-85
どうもです
ffmpegのログの見方が分からないんですが
NHKの方はOKって事なのかな
エラーパケットが少ないけどあるのが気になりますね
まだ手順が足りないのかな(アンプの設定?)
88:login:Penguin
12/07/23 21:39:53.25 VLxEK967
>>86
64bitでロードできました。
$ sudo insmod ./pt3_drv.ko
$ dmesg | tail
[ 355.364285] channel=0 index=1 sd=0x39fae1 N=0xd A=0x5
[ 355.476150] set_tuner_sleep isdb=0 tuner_no=1 sleep=1 status=0x0
[ 355.540099] set_tuner_sleep isdb=1 tuner_no=1 sleep=0 status=0x0
[ 355.540103] set_freq isdb=1 tuner_no=1 channel=71 offset=0
[ 355.655925] set_tuner_sleep isdb=1 tuner_no=1 sleep=1 status=0x0
[ 355.655931] PT3:device[0]= (null)
[ 355.669637] PT3:card_number = 0
[ 355.684033] PT3:card_number = 0
[ 355.697703] PT3:card_number = 0
[ 355.711382] PT3:card_number = 0
$ uname -a
Linux hanage-pt3 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
89:login:Penguin
12/07/23 21:50:35.08 VLxEK967
>>87
32bit版の地デジNHKは録画できているように見えます。
ffmpegのログ的にはOKです。
MPEG2デコーダに食わせるほどデータ取ってないので、
再生できるかどうかは不明です。(後でやってみます)。
64bit版は td がうまく動作せず。
rec : /dev/pt3video2
status = 0x47c00000
status = 0x47500000
ts error packet = 0
status = 0x0050002d
status = 0x4750000c
ts error packet = 2116
status = 0x4750000c
rec : /dev/pt3video3
status = 0x47d00000
status = 0x47d00000
ts error packet = 0
status = 0x47c0002d
status = 0x4740000c
ts error packet = 40
status = 0x4740000c
$ ls -l rec[23].ts
-rw-r--r-- 1 Penguin Penguin 0 7月 23 21:42 rec2.ts
-rw-r--r-- 1 Penguin Penguin 0 7月 23 21:42 rec3.ts
サイズが0です。ログメッセージ的には32bitとほぼ同じ感じでした。
(/dev/pt3video3で多少エラーパケットが出ている)
90:login:Penguin
12/07/23 22:07:37.57 VLxEK967
連投失礼
>>87
vlcで地デジNHKの再生OKです。
td/td.c の for ループを単純に100から10000に変更して
60MBのファイルを作りました。
91:tomy ◆CfWlfzSGyg
12/07/23 23:53:09.59 69j/JEb8
>>83
32Bit版はOKっぽいんで、
recpt1がそのまま動く様に
可能だったらpt1と同じFREQUENCYにしてくれるとうれしいかも。
後はファームの書き込みと、64bit版が動けばになるかな。
92:login:Penguin
12/07/24 00:04:32.20 wWpKM/s3
BSもBS1-BS23みたいなチャンネル選択ってできないのかな。
recpt1の再コンパイルとかが不要にできるようになったらいい希ガス。
pt1のドライバ側も更新必要だろうけど。
93:login:Penguin
12/07/24 00:52:28.66 mgrasbZy
BSはスロットもあるからなあ
94:login:Penguin
12/07/24 01:27:47.38 oEQoLySX
pt1_tuner_data.c の1067行目がtypoってる気がする
1066 {{&bs_21_step1, &bs_com_step2, &bs_21_step3}},
1067 {{&bs_23_step1, &bs_com_step2, &bs_21_step3}},
95:login:Penguin
12/07/24 01:54:04.21 oEQoLySX
>>94は前スレ897で報告済みでした
スレ汚しごめん
96:login:Penguin
12/07/24 20:04:59.41 J0qN6EPL
>>90
まいどどうもです
私もmplayerで再生確認できました
>>91
recpt1で利用できるようにしました
変更点:
64bitでDMAに失敗するのを修正(ご指摘の通り構造体のアライメントでした^^;)
FREQUENCYをpt1に合わせる、ただし地上波側のslot(offset)には未対応(無視します)
電波強度取得のioctl追加、ただし、ダミー実装(すべて0が返ります)
正常系のログを縮小
注意点:
lnbはまったくテストしてません
地上波のoffsetなんですが、
SDKのMxL301RF.h 74行目 realFrequency = (7*frequency+1+offset)*1000000.0/7.0;
をドライバではoffset無視してテーブル化してるんですが、(pt3_mx.c 382行目)
offsetを有効にする方法が思いつきません。
offset利用してる人いるのかな?
URLリンク(www1.axfc.net)
97:login:Penguin
12/07/24 20:07:29.35 q7DEz8Ir
全国の首をながぁ~くして待ってる良い子たちを代表してお聞きします。
PT-3@linux、今どのあたり?
98:login:Penguin
12/07/24 20:33:01.16 P8X6dSJS
>>96
64bit版で動作確認できました。おつかれさまです。
recpt1で遊んでみようと思います。
99:tomy ◆CfWlfzSGyg
12/07/24 21:34:41.22 PS4koYMv
>>92
isdb_t_conv_table[]の最後の"151"
を自分の好きに変えればOK。
>>93
isdb_t_conv_table[]を外出しのconfigファイルかなにかにすれば可能だけど?
そもそもスロットある程度固定になっているはず。
>>96
了解です。
地上波のoffsetはどうなんでしょ?
使っている人~
100:96
12/07/24 21:53:35.73 J0qN6EPL
>>97
recpt1で動作確認できる程度にはなってきてます
CSだとカーネル->ユーザ空間へのコピーが間に合わなくてDMAがコピーを追い越すみたい
以下修正パッチ。
diff --git a/pt3_dma.c b/pt3_dma.c
index ac89c1c..0b07755 100644
--- a/pt3_dma.c
+++ b/pt3_dma.c
@@ -307,7 +307,7 @@ pt3_dma_copy(PT3_DMA *dma, char __user *buf, size_t size, lo
ff_t *ppos, int look
if (dma->ts_pos >= dma->ts_count)
dma->ts_pos = 0;
}
- schedule_timeout_interruptible(msecs_to_jiffies(1));
+ schedule_timeout_interruptible(msecs_to_jiffies(0));
}
mutex_unlock(&dma->lock);
101:login:Penguin
12/07/24 22:11:51.20 TtupOqPY
>>99
トランスポートストリームIDからノードとスロットが算出できるのでrecpt1で正式に定義してもらうと
フロントエンドでBS・CSの局編成再編に追従できるようになります。
102:login:Penguin
12/07/24 23:55:39.53 GA1fnDTB
>>96
乙です。
地デジのみの環境でrecpt1使ってみたけど、かなり
"dma buffer overflow."
が出てきますね。。
ただ、ちゃんと視聴はできました。
103:login:Penguin
12/07/25 07:34:15.31 6H9qaAPa
すげえ、もうrecpt1で確認できるレベルになってるのか
104:login:Penguin
12/07/25 12:29:22.23 lVL9zqQ7
ドロップしてるわけではないのに大体10秒間隔で周期的に音が途切れ絵がブロックになります。
tsselectで確認してみたところ以下のになりましたので一応報告。
ゴースト 天国からのささやき シーズン1#6【二】_20120725_090000_tss.ts
pid=0x0000, total= 36053, d=304, e= 0, scrambling=0, offset=113552
pid=0x0401, total= 36058, d=292, e= 0, scrambling=0, offset=134420
pid=0x0601, total= 37053, d= 20, e= 0, scrambling=0, offset=186684
pid=0x0a01, total= 54597, d= 0, e= 0, scrambling=0, offset=113364
pid=0x1001, total=36269159, d=2382, e= 0, scrambling=0, offset=0
pid=0x1041, total= 480784, d=2137, e= 0, scrambling=0, offset=7332
pid=0x1051, total= 480777, d=2137, e= 0, scrambling=0, offset=7144
pid=0x1c06, total= 8889, d= 63, e= 0, scrambling=0, offset=533168
4時間前の録画は正常でした。前スレでも出てましたが時々このようなTSが生成されます。
105:104
12/07/25 12:40:36.20 lVL9zqQ7
環境書くの忘れてた。
PT2
Ubuntu10.10
通常版のrecpt1
マウントしたWDC WD20EARS(ext4)に記録。
106:login:Penguin
12/07/25 14:39:29.09 D58CRNbd
>>105
映像も音声も多数Dropしているように見えます。
まず環境を見直してみては?
107:login:Penguin
12/07/25 14:48:53.96 IRry9uVR
>>104
PT"3" じゃなくて PT2?
同じような状況がPT3な私の環境でも起こってて、原因を探そうと思ってます。
108:login:Penguin
12/07/25 18:09:43.96 b3DCw7qZ
PT3試してみました
Fedora16 (3.2.10-3.fc16.x86_64)
tdのfor文で各デバイスで99まで回して受信できるチャンネルはひと通りb25も通るみたいです
BSCSはrecpt1でも確認できました
rec_open(DEV0, "rec0.ts", 5);
rec_open(DEV1, "rec1.ts", 19);
rec_open(DEV2, "rec2.ts", 72);
rec_open(DEV3, "rec3.ts", 75);
みたいのもOKでした
チャンネル指定がよくわからないけど動作はOKみたいですがログに
fail get_tmcc_t status=0x100
がたくさん出てました
109:login:Penguin
12/07/25 19:50:22.46 FzV+bn45
>>93
スロット必須ならBS1_0,BS1_1~みたいな感じにしておかないとダメそうですね。
CSはスロット追加が必要になったりしないのかな。
一番いいのはBS1で151,161が取れるのがいいと思うんだけど。
110:login:Penguin
12/07/25 20:35:28.62 BiDZEoJE
>>107
"dma buffer overflow"でてませんか?
>>108
"fail get tmcc_t"は受信できない地上波チャンネルに設定すると出るはずです
受信できるはずのチャンネルで出てたら教えてください。
tmccのロック待ちが足りないのかも
>>102
カーネル空間->ユーザ空間の処理に手を入れてみました。
CPU使用率が高くなったけどこれでどうかな。
#PT1,2のrecpt1でCPU使用率ってどのくらいなんでしょう?
URLリンク(www1.axfc.net)
111:login:Penguin
12/07/25 20:59:02.94 1hg6oDEA
Linux上でのファームの書き込みを、何とぞよろしくお願いします。
112:login:Penguin
12/07/25 21:13:30.29 P6bRFAIs
ファームの更新みたいな滅多にやらない上に、失敗したら危なげなものは、
素直にWinでやった方がいいと思うけどなぁ。
113:login:Penguin
12/07/25 21:23:58.33 Od68ifs7
たとえ普段は使ってなくても、こういうので十分だと思うしね。
URLリンク(technet.microsoft.com)
114:login:Penguin
12/07/25 21:48:00.71 I24tI4P4
>>112に同意。
ファーム絡みだとテストも気軽にできないんでない。。。
115:login:Penguin
12/07/25 22:11:48.14 1ZzrFAeM
>>111
何が目的か立ち位置を明確にしないと
GNU 真理教であるなら、ファームウェアそれ自身もGPLであるべきだ
116:login:Penguin
12/07/25 22:26:40.69 b3DCw7qZ
>>110
fail get tmcc_tは確かに受信できない場合に出てるだけでした
0725版でrecpt1でも地上波動作するようになりました
CPU使用率は高くなって録画だとわからないのですが、
udp使ってlocalhostでリアルタイムで受けて再生するとかなりきつくなります。
あとスリープからの復帰で動作しないので一旦アンロードしないとダメでした
117:login:Penguin
12/07/25 22:56:29.00 WNi6HuS1
初心者質問ですまない。
recpt1 --udp --strip --b25 26 - /dev/null
recpt1でリアルタイム配信する場合に、解像度を縮小する方法はない?
素のTS解像度だと通信が重すぎて。
せめて、1/2、1/4, 1/8などと大雑把な解像度変更ができるだけでいいのだけれども。
118:117
12/07/25 23:11:36.28 WNi6HuS1
書き込んでしばらくして気がついた。
--sid 1segとかできるのね。失礼しました。
119:login:Penguin
12/07/25 23:12:31.86 BiDZEoJE
>>110
どうも
pt3_dma.c 308行目のコメント外すと少しだけCPU使用率下がるはずです
0を大きな値に変えればさらに下がりますが"dma buffer overflow"が出やすくなります
スリープは自分が使わないので後回しにして忘れてましたw
ちょっとpt1参考に見てみます
120:login:Penguin
12/07/25 23:15:02.81 tFYw4d0m
皆さんのご尽力には感謝雨あられですね。
ところで、
アースのサイトにPT3ドライバの1.0が上がりましたね。
履歴を見る限り、技術的な変更は無いもよう。
URLリンク(earthsoft.jp)
> [1.0]
> ・Vista よりも前の OS (XP などが該当) に限り、インストールするドライバの
> デジタル署名の有無を選択できるように変更
121:login:Penguin
12/07/26 02:28:23.93 VnqosSQb
>>112
それは確かにそうなんだけど、いかんせんノートPCにしかWindowsがないもんで
122:login:Penguin
12/07/26 07:22:14.64 2httKydr
>>121
>>113
123:login:Penguin
12/07/26 20:30:33.36 ycrtc4GW
>>110
レジューム、サスペンドをe1000ドライバ参考に見てみましたが、
知識不足&調べる時間があまりないでプライオリティ低いです。
モジュールのアンロード、ロードで運用してください^^;
ユーザ空間でバッファ待ちを期待して実装してましたが、
(バッファが溜まってなければすぐにユーザ空間に帰る)
recpt1はカーネル空間でのバッファ待ちを期待している様なので
そのように変更しました。
これでCPU使用率大幅に減少しました。
その他、チャンネルチューニング失敗時にrecpt1でエラーになるようにioctlの返値を修正
これでとりあえず使い物になるかな
URLリンク(www1.axfc.net)
124:login:Penguin
12/07/26 21:24:15.24 G6XdAY6m
オリンピック開会式までに間に合えば金メダルを
閉会式までに間に合えば銀メダルを
8月中に完成すれば銅メダルを
諦めなければ入賞を
125:login:Penguin
12/07/26 22:18:40.26 epFZuk//
負荷がなくなりました
すごくいい感じです
今はrecpt1にpt3video*デバイス加えただけだけど
ちゃんと手を入れればCNとかも取れるようになるのかな
126:login:Penguin
12/07/26 22:35:09.93 ycrtc4GW
>>125
CNはSDKでは不動小数点演算使ってるんですが
Linuxのカーネル空間では不動小数点がつかえないのでドライバ側で計算できません。
pt1はrecpt1側で計算してるようですがpt3と式が違うようです。
この辺りどうしようかなってところです。
127:tomy ◆CfWlfzSGyg
12/07/26 23:11:24.36 aC19kIVX
>>123
乙です。
>>ユーザ空間でバッファ待ちを期待して実装してましたが、
ユーザ空間ではどの程度バッファがたまっているか判らないからpt1でもread()で実装してます。
>>121
FPGAの書き換えはアースソフトが出してくれないと無理かも。
ちなみに下のが読み出しを表しているらいしいんだけど、
レジスタの値が何をさしているのかがさっぱり判らん。
addr=00000020 value=10
addr=00000020 value=10
addr=00000020 value=10
addr=00000020 value=10
addr=00000020 value=11
addr=00000020 value=11
addr=00000020 value=11
addr=00000020 value=11
*値は10と11以外にも44や80,20,22という値が見えている。
128:login:Penguin
12/07/26 23:32:25.24 ycrtc4GW
>>125
CN取得してみました。
私の見間違いだったのかそれらしい値が取れますね。
#地上波側は同じ計算してるはず。BS側はよくわかんない
>>127
普段readして0byteだったら待つって事してたのでその乗りで実装してましたw
URLリンク(www1.axfc.net)
小出しで申し訳ない
129:login:Penguin
12/07/27 00:11:41.89 Pdbc2seJ
>>128
乙です。
最新のドライバで試してみましたが、やっぱり
"dma buffer overflow."
が大量に吐き出されます。。。
マシンのスペックにもよるのでしょうか?
130:login:Penguin
12/07/27 06:34:08.40 XmyZrPvp
PT3って今
131:login:Penguin
12/07/27 15:14:57.00 DdwnljoO
recpt1 --b25 --strip --udp --addr 127.0.0.1 151 - - >/dev/null
して12時間以上放置して今見たところ特にエラーもなく動いていたようです。
CNがchecksignalでも動作するようになりましたPT1より気持ち感度が良いようですね
132:login:Penguin
12/07/27 20:12:39.45 octm7VXf
>>128
さすがです。
ちなみに、ソースはどこかのリポジトリで管理する予定ですか?
SourceForgeとかGitHubとか。
133:login:Penguin
12/07/27 20:25:24.51 DdwnljoO
foltiaの中の人も首長だろう
134:login:Penguin
12/07/27 20:50:18.73 FWjZqWRS
foltiaの中の人は、ALにはノータッチじゃなかったけ?
135:login:Penguin
12/07/27 21:24:44.65 0ND8QqzT
>>129
よほどCPUに余裕がないとかじゃないと大量には出ないはずなんですが
他にも出てる方いますか?
よかったらスペック教えてください
>>128
githubのアカウント取ってみました。
git勉強中なんで変なところあるかもですが
URLリンク(github.com)
0726版からの変更点:
特定のBSチャンネル設定できない事があるバグを修正
dma buffer overflow時のメッセージに追加情報入れました(デバッグ用)
136:login:Penguin
12/07/27 21:40:07.26 oYkuPwmm
>>135
Great Job
137:login:Penguin
12/07/27 21:48:59.14 wxJL5EgV
>>135
ライセンスってどうするつもり?
138:login:Penguin
12/07/27 22:06:44.00 0ND8QqzT
>>137
pt1を元にしてるのでそっちに従う形です。
なのでgplのつもり
139:login:Penguin
12/07/27 22:14:54.41 DdwnljoO
そういえばb25はどうなるんだろ
やっぱヤバイ系のブツになんのか
140:login:Penguin
12/07/27 22:40:45.80 ToZc70eR
>>135
神ですか?
141:129
12/07/27 22:47:22.40 Pdbc2seJ
>>135
HP ProLiant MicroServer (AMD Turion II Neo 1.5GHz) です
# やっぱりこのスペックじゃ無理かなぁ
デバッグ用のメッセージ追加ありがとうございます。
時間ができ次第、テストしてみるます。
142:login:Penguin
12/07/27 23:03:21.43 UI6Arfgp
>>141
TSの読み込み程度でいっぱいいっぱいになるスペックでもないと個人的に思う
vmstat とか sar とかで統計情報取ってみたら?
CPU, Memory, IOのアタリぐらいつくと思うけど
143:login:Penguin
12/07/27 23:30:27.48 oYkuPwmm
>>139
10月以降は触れないことが無難と思われ
144:login:Penguin
12/07/28 00:08:25.00 5CH590fT
日経Linuxのハイエナ記者さん、どうせここ見てるんでしょー?
んでまた記事にするつもりでしょー?
このスレの神々に、せめて王将のお食事券ぐらい渡しなよ
145:login:Penguin
12/07/28 00:10:00.14 0r1pi1Ix
あーあの記事って中の人が書いたんじゃないのか。
てっきり本人かと思ってた。
146:login:Penguin
12/07/28 00:14:39.59 zZceddds
B25はまず問題ないだろうけど、10月以降の一発目を日経さんにやってもらえばWINWINでしょ
個人じゃ到底戦えないんだし、こういうときこそ「言論」の出番だよ
147:login:Penguin
12/07/28 01:19:07.39 hBWn6hsg
個人のみせしめみたいのは十分あり得ると思う
148:login:Penguin
12/07/28 03:44:11.81 5zUYsvpI
>>138
できればライセンスは明記してくれたほうがうれしい。手間かかるのはわかるんだけど、後々のためにちょう大事。
149:login:Penguin
12/07/28 07:20:59.35 oVOEUCyv
>>148
pt3_pci.cの中に
MODULE_LICENSE("GPL");
って入れてるんだけどこれじゃ不十分かな
pt1もこれだけのようなんでそうしたんですが。
ライセンスがらみは疎いんでアドバイスもらえるとうれしいです
150:login:Penguin
12/07/28 09:03:38.66 hUwLLu+f
COPYING をアーカイブに同梱するのと、
URLリンク(git.kernel.org)
各ソースの先頭に↓みたいな説明書きが必要なはず・・・
URLリンク(git.kernel.org)
誰か補足おながいします
151:login:Penguin
12/07/28 09:23:23.36 RMlGMODl
>>149
乙。ここの説明が分かりやすいです。
URLリンク(www.opensource.jp)
>そのためには、プログラムに以下のような表示を添付してください。その場合、
>保証が排除されているということを最も効果的に伝えるために、それぞれの
>ソー スファイルの冒頭に表示を添付すれば最も安全です。少なくとも、
>「著作権表示」という行と全文がある場所へのポインタだけは各ファイルに
>含めて置いて ください。
152:login:Penguin
12/07/28 09:24:38.55 RQSLSWi+
Windows 7/Vista/XP 32bit/64bit ドライバ COMING SOON
Linux ドライバ COMING SOON
URLリンク(www.plex-net.co.jp)
URLリンク(www.plex-net.co.jp)
153:login:Penguin
12/07/28 09:35:45.81 leQjAJxA
ライセンスの話が急に沸いてきたのは、商用2次利用したい匂いがぷんぷんするお
154:login:Penguin
12/07/28 09:48:48.68 RMlGMODl
>>153
GPLのドライバを商用2次利用するシチュエーションが思いつかん
誰かがVectorにPT3のシェアウエア版ドライバを上げるとか?
しかも、ソースコード付きでwww
155:login:Penguin
12/07/28 10:09:45.51 VKHd+6J8
>>154
URLリンク(foltia.com)
これじゃないの? ドライバ込みのソフトも売っているようだし
156:login:Penguin
12/07/28 10:22:00.16 RMlGMODl
>>155
マジですか~、こんなのあったんだ。知りませんですた
しかし、こんなのあるんだとするとライセンスの話はやっぱり重要ってことだね
157:login:Penguin
12/07/28 11:15:54.76 VzFUYiWd
>>155
ドライバーは、形だけでもユーザー自身がダウンロードしてきてコンパイルするようになってるはず
PT2は、そうなってる
まあPT3対応をうたいながらドライバーを自社開発せず、あまつさえ Ver2.0 リリース予定をPT3の発売とかぶせてきたことが顰蹙を買ったんだろうね
158:login:Penguin
12/07/28 11:58:17.09 yJ34te/8
>>157
本家foltia由来のコード使ってるんなら、GPLでコード請求できると思うんだけど、
どこまでがその適用範囲になるのかよくわからん(´・ω・`)
GUIとか綺麗だからOSS版としてパッケージ化できると嬉しいんだがね。
159:login:Penguin
12/07/28 11:59:19.54 RQSLSWi+
foltaは堂々と今までどおりb25扱うつもりなのかな
160:login:Penguin
12/07/28 12:09:34.62 VzFUYiWd
>>159
本家とは区別するためにちゃんと正式名称で書こうよ
"foltia ANIME LOCKER"がめんどうなら"foltia AL"とかでもいいし
161:login:Penguin
12/07/28 12:40:41.33 oVOEUCyv
>>150
>>151
ありがとう
ライセンス文など追加しました
162:login:Penguin
12/07/28 13:41:10.98 IJ+uv5aE
GPL3と親和性のいいアフェロGPL(AGPL)なんてのもあるね
あれはサービスとして動作させる時も商用不可という嫌儲ライセンス
163:login:Penguin
12/07/28 14:36:13.87 YAs4G2KX
ライセンス明示は大事ですよ。商用利用云々だけでなく、
類似ソフトウェアを開発する際にコードの再利用可否の判断につながる。
GPL同士だからソースまるごとコピーしておkとか判断できる。
164:login:Penguin
12/07/28 16:10:12.48 YAs4G2KX
何も考えずにpt3ドライバをrecpt1.oyamaのリポジトリに突っ込んでみました。
configure する際に git rebase する形(MPlayerのまねっこ)なので、
ドライバの更新に対応できる形です。
165:login:Penguin
12/07/28 16:49:34.50 VKHd+6J8
>>164
おお、すごいです!
うちのマシンはずっとこんな状況ですけど・・・
PT3-pci.c: r140:faa0bc5fc2f5 2012-07-28
Attempting to enable Bus Mastering
fail i2c run_code status 0x32
fail init_all_tuner. 0x308
PT3:device[0]= (null)
modprobe: page allocation failure: order:9, mode:0x8020
Pid: 596, comm: modprobe Tainted: P O 3.4.6 #5
Call Trace:
[<ffffffff81144aaa>] warn_alloc_failed+0x171/0x19b
:
(省略)
;
fail allocate consistent. 6
PT3: fail create dma.
PT3-pci: probe of 0000:03:00.0 failed with error -5
# uname -a
Linux localhost 3.4.6 #5 SMP PREEMPT Sat Jul 28 09:39:46 JST 2012 x86_64 Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz GenuineIntel GNU/Linux
166:login:Penguin
12/07/28 17:32:35.15 oVOEUCyv
>>165
fail i2c run_code status 0x32
fail init_all_tuner. 0x308
はPT3の初期化の失敗で私の環境でもたまになります。
PC起動直後に失敗して、1度成功するとその後は失敗しないので
PT3のパワーオンリセット後の動作が関係してるのかなと思ってます。
#パワーオンリセットがそんなに長いとも思えないので怪しいですが
modprobe: page allocation failure: order:9, mode:0x8020
から下のエラーはDMA用のバッファ確保しようとして失敗してます。
各チャンネルに1ブロック4096*47*8byteのバッファを32本取るようになってます。
1ブロックは連続した物理メモリを確保するので大きいと失敗しやすいです。
pt3_dma.cの50行目,51行目の BLOCK_COUNT, BLOCK_SIZEを変えて見てください。
ただし、BLOCK_SIZEは4096*47の倍数を想定してますので8を小さい数字に変えてみてください。
167:login:Penguin
12/07/28 20:54:52.73 VKHd+6J8
>>166
ありがとうございます!
pt3_dma.c の該当箇所を
#define BLOCK_COUNT (8)
#define BLOCK_SIZE (DMA_PAGE_SIZE * 47 * 4)
に変更したらBSが録画出来ました!!
168:167
12/07/28 23:50:44.00 VKHd+6J8
BSの方は問題なく見れるのですが、
地上波のチャンネルを指定すると
fail get_tmcc_t status=0x100
がいっぱい出ますね・・・
東京なので27chでNHKが受信出来るチャンネルのはずなんですが
>>110のtmccのロック待ちが足りない件なのでしょうか・・・
169:login:Penguin
12/07/29 01:08:55.78 tRvLsHFM
>>161
GPL v3 にしたの?
v3 はいろいろと議論があって,いずれカーネルにマージするのを想定しているなら
v2 にしておいた方が無難.
170:login:Penguin
12/07/29 01:43:45.30 l5M8TmAq
>>169
char dev 版は今までカーネルに統合されてないから別にいいんでないの?
参考にして作られる(かもしれない) DVB 版にコードのコピーを許可する予定なら、
GPL 2+(GPL2 or any later versionってヤツ) あたりに落としておくのもベター。
GPL 2+ なら、GPL3 として読むこともできるし、GPL3として読むことも出来る。
171:login:Penguin
12/07/29 01:47:35.62 l5M8TmAq
最後の行でTypo...orz...
GPL 2+ なら、GPL2 として読むこともできるし、GPL3として読むことも出来る。
今出てないGPL4としても読める。(補足)
172:login:Penguin
12/07/29 08:08:13.80 rQs0tC2Q
>>169
char dev版がカーネルにマージされる未来は無いからその心配は無用
173:login:Penguin
12/07/29 09:02:45.62 L5QLGwae
>>168
>>110以後にロック待ちにマージンを持たせたんですが、足りないのかな
pt3_pci.cの618行目の1000を大きくするか、
619行目の1を大きくしてみてください
それでもダメなら一度アンテナ、ケーブル、分波器等を確認してみてください
>>169-171
元のpt1がGPLv3なのでv3にしました。
v3のソースを参考にしたらv3じゃないとダメだと認識してます。
SDKをそのままコピーしてるのでLinux文化的な書き方じゃないです。
カーネルにマージされることはまずないでしょうし、
DVB版作るにしても私のコードはコピーしないと思います。
自分でもこれは無いなってところが多数ありますが
とりあえず動かすのが目的なので出きるだけ安直にorSDK通り(Windows的?)に実装してます。
#earthsoftの社長さんにlinux版ドライバの配布についてお伺いのメールだしてます。
#SDKのライセンスってどこかに書いてある?
174:login:Penguin
12/07/29 09:25:41.43 rD2lx6Ux
CSの番組のSIDではなくて番組のチャンネルそのものが変わったときってどこを修正すればいいんですか?
175:168
12/07/29 10:10:47.74 6RirG4dY
>>173
git://github.com/m-tsudo/pt3
のソースを持ってきて下記の箇所を1→2に変更したら地上波も問題なく見れるようになりました!!
ありがとうございます!!!
diff -cr pt3.orig//pt3_pci.c pt3//pt3_pci.c
*** pt3.orig//pt3_pci.c 2012-07-29 09:35:27.723512884 +0900
--- pt3//pt3_pci.c 2012-07-29 09:45:48.623551951 +0900
***************
*** 592,598 ****
break;
case PT3_ISDB_T :
for (i = 0; i < 1000; i++) {
! schedule_timeout_interruptible(msecs_to_jiffies(1));
status = get_tmcc_t(channel->tuner, &tmcc_t);
if (!status)
break;
--- 592,598 ----
break;
case PT3_ISDB_T :
for (i = 0; i < 1000; i++) {
! schedule_timeout_interruptible(msecs_to_jiffies(2));
status = get_tmcc_t(channel->tuner, &tmcc_t);
if (!status)
break;
176:173
12/07/29 12:45:09.59 L5QLGwae
DMAのバッファ待ちでコーディングミスがありました
"dma buffer overflow"が直るかもしれません
その他エラー処理の見直しとDMAのバッファサイズを縮小しました
177:login:Penguin
12/07/29 14:06:16.68 SQUp0T9y
おかげでやたら安定したみたい
udpで別PCで受けて破棄(破損)されてたパケットが無くなった感じです
178:login:Penguin
12/07/30 01:09:15.41 ioI8Rtuu
>>174
チャンネルを選択しているところ
179:login:Penguin
12/07/30 12:49:19.07 z8C4y+Gc
>>107
ドライバ開発乙です!
ドロップですがひょっとして、スカイツリーの関係かもしれないですね
URLリンク(www.soumu.go.jp)
180:login:Penguin
12/07/30 12:52:52.38 z8C4y+Gc
>>126
固定小数点演算ではダメですか?
32bit以上の整数で、小数点以下を16bit(も取れば十分だろう)とるとか…
後、PT2のドライバでどういう形でCN比を出してるか読みなおしてみるとか
181:login:Penguin
12/07/30 12:58:02.52 z8C4y+Gc
>>165-166
・メインメモリが足りない
もしくは、
・modprobeするタイミングが遅くてlow領域の物理メモリが確保できない
どちらかですねー。
PT2と同時に使うと起こりやすいかもしれない(起らないかもしれない)
1チャンクのバッファサイズの最適化とかそういう辺りかなぁ?
182:login:Penguin
12/07/30 13:02:05.61 z8C4y+Gc
>>169
禿同。
chardev版がカーネルにマージされることがないとしても、DVB版ドライバにコードの一部が流用される可能性があるので、
GPLv2辺りにしておいたほうが無難だと思います。
v3だと流用困難と判定されかねないです(特にDebianのようにライセンス管理がうるさいディストリだとこの手の問題はシビアに見られる)
183:login:Penguin
12/07/30 21:15:50.54 R6sWaoHj
GPLv3の理由が、GPLv3のpt1ドライバのコードを一部流用したから、
ってことなので、仕方ないんじゃないの?
ユーザとしては、オープンソースならなにか不具合が出た時に修正できるし、
GPLv3でも特に問題無いわ。
詳しくは知らんけど、DVB版のドライバは(pt1の時と同じようなノウハウで)
普通に一から作られると思うから、何も心配しなくていいと思う。
184:login:Penguin
12/07/30 23:19:18.27 37AeCwYa
あれ?
うちの環境ではコンパイル通らなくなってた
バージョンをgitから取るのはナイスだと思います
diff --git a/Makefile b/Makefile
index 89ebc92..01a636c 100644
--- a/Makefile
+++ b/Makefile
@@ -21,7 +21,7 @@ clean-files := *.o *.ko *.mod.[co] *~ version.h
version.h:
revh="#define DRV_VERSION \"rev.`git rev-list HEAD | wc -l 2> /dev/null`\"\n#define DRV_RELDATE \"`git s
if [ -n "$$revh" ] ; then \
- echo "$$revh" > $@; \
+ echo -e "$$revh" > $@; \
else \
printf "#define DRV_VERSION \"$(REL_VERSION)\"\n#define DRV_RELDATE \"$(REL_DATE)\"\n" > $@; \
fi
185:login:Penguin
12/07/30 23:30:52.98 eNFnU5pF
>>184
さんきゅー
あとで直しときます
一応確認して上げてるんだけど環境の差がでるね
186:login:Penguin
12/07/31 00:54:55.05 E3QXLY8C
>>185
修正確認しました。的確な修正ですね。
ところで、
盛り上がってるPT3のドライバには直接関係ないんですが、
recpt1側のtssplitter_lite.hの中で宣言されてる
_splitbuf_tが
> typedef struct _splitbuf_t
> {
> int size;
> u_char buffer[1024*1024];
> } splitbuf_t;
で1MB固定なんですが、b25_decode()が返すdbufは1MBに収まる
保証はどこにもないのでサイズチェック&必要に応じてrealloc
しなきゃいけない気がするのですが、どなたかこの辺に詳しい方
いますでしょうか?
recpt1がコアを吐く原因を探しててここがちょ~怪しかったんで
reallocするようにしてからコア吐かないようになった気が…
ちゃんとgdbとかで調べればいいんでしょうが、面倒なので
おまじないとしてそれ以降realloc入れちゃってます。
187:login:Penguin
12/07/31 01:57:51.23 NepGwret
>>186
ずいぶん前に指摘されてた気がするけど、言われてみるとまだ直ってないね。
実際オーバーフローするのは頭の方でPAT/PMT/ECMが来ないときぐらいなんで、
もうちょっと大きめに確保しておくだけでほぼ問題ないような気もする。
32Mなら最悪ECMが来なくてもその前にb25がエラーを返してくれるね。
もちろん動的にバッファを増やす方が望ましいだろうけど。
188:login:Penguin
12/07/31 08:39:52.14 E3QXLY8C
>>187
やっぱりそうでしたか。おまじないは効いてたわけですねwww
初期サイズオーバーしたらreallocするようにするのが良いと思いますが、
コードの修正量も結構多いので、とりあえずはバッファを32MBにしちゃえば
良いってことですね。
recpt1のリポジトリで拾ってくれることを期待しましょう。
189:login:Penguin
12/07/31 23:22:24.57 xhlVOKuO
初期化失敗時のリトライ追加、不要なwaitの削除
の更新がなかなかいい!!
190:login:Penguin
12/08/01 01:13:38.39 2N9SXnKm
7月24日のチャンネル変更以降、キッズステーションの番組表が epgdumpr2 で
とれなくなりました。
# ND8→ND12 CS330 HD キッズステーション 1045.ontvjapan.com
xmldata.c を次のように変更してみたましたが、あいかわらず番組表をとることができません。
{ "キッズステーションHD", "1045.ontvjapan.com", 28864, 7, 330}
xmldata.c の変更方法がまずいのでしょうか?
191:login:Penguin
12/08/01 01:27:26.81 6V+7ze4s
>>190
epgdump.c も同じように変更した?
192:login:Penguin
12/08/01 01:46:13.85 2N9SXnKm
>>191
ありがとうございます。
epgdump.c も変更したらうまくいきました。
193:login:Penguin
12/08/01 18:33:11.23 Z9y2DrLQ
本日のチャンネル変更完了
次は9/1か
194:login:Penguin
12/08/01 20:38:13.87 3YOZx+Od
recpt1でPT3を使うのに、recpt1側のソースでいじる必要のあるところってありますか
195:login:Penguin
12/08/01 21:14:29.45 Hhuehbrx
pt1_dev.h
196:login:Penguin
12/08/01 21:48:50.93 e6qEG+Bj
PT3の不具合報告ないけど安定してるのかな?
まだ利用者すくないだけ?
197:login:Penguin
12/08/01 22:17:20.45 SftwNuU3
>>194
先駆者に感謝!
とりあえず、pt1_dev.hとrecpt1.hだな
URLリンク(hg.honeyplanet.jp)
>>196
俺はやっとFPGAアップデートする環境が揃いそうwww
198:pt1.oyama
12/08/01 23:24:14.37 YUFmbq2d
>>188
とりあえず修正してみました
199:login:Penguin
12/08/02 02:57:02.92 xpHg7+yK
>>198
乙、さすがエレガント!
ところで、PT3のドライバって、
> KERNEL=="pt3video*" GROUP="video", MODE="0660"
って0660のパーミッションでデバイスファイル作るから(PT2は0666ですよね)、
rootかvideoグループに所属してないとデバイス読み書きできない気がするけど
これってそういう意図でわざと変えたって理解で正しいですか?
200:login:Penguin
12/08/02 09:47:49.41 zzBp+5by
有志のみなさんありがと、PT3動作報告
Fedora10
Linux localhost 2.6.31.3-fc10.x86_64 #1 SMP Wed Jul 6 17:28:45 JST 2011 x86_64 x86_64 x86_64 GNU/Linux
ただし、 vzalloc は vmalloc & memset に変更
>>194
ln 張れば recpt1 を変更する必要はないですけど、
ln をどっかに書いとかないといけないので労力は変わらんか。
201:login:Penguin
12/08/02 16:39:34.39 xpHg7+yK
俺も今週末にはPT3の動作検証に本格参入したいのだけど…
とりあえず、最新バージョンをgithubからcheckoutした状態で
modprobeしたら、
> PT3: fail i2c run_code status 0x32
出ました。rmmod&再度modprobeしたら出ない。
初期化リトライコードは入ってる。
でも、まだ何かあるみたい。
Fedora17
Linux localhost.localdomain 3.4.6-2.fc17.x86_64 #1 SMP Thu Jul 19 22:54:16 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
202:login:Penguin
12/08/02 17:28:50.60 FKUuEQDI
Fedora16で
fail i2c run_code status 0x32
が出てもそのまま動く時と動かない時があるみたい
203:login:Penguin
12/08/02 18:31:16.11 B68Aps8m
>>199
最初の頃にテスト用に変えてそのまま忘れてました
特に意味はないです。実用しだすと不便なんで0666に戻します。
>>201-202
"fail i2c run_code status 0x32"はリトライ中のも表示されるので表示される=失敗じゃないです。
キャラクタデバイスできてればリトライで成功したって感じ。
分かりにくいので表示方法考えます。
204:login:Penguin
12/08/03 13:22:52.69 UONBEzyW
最近ドロップするようになってきた
205:login:Penguin
12/08/03 19:42:56.11 rO3lCFfv
PT2の新しいsdk来たね
206:login:Penguin
12/08/03 21:51:31.57 OHVbIAWc
今更PT2!?と思ったけどデジタル署名付けたのね
207:login:Penguin
12/08/05 05:10:48.43 RqrdZbN9
新規にPT3の環境を作っているんですが、
PT3は、GitHubのものを使うとして、
epgdumpは、どれを使うのがベストですか。
また、録画システムはどれがお勧めですか?
epgrec
foltia
rec10
torec
Chinachu
208:login:Penguin
12/08/05 08:36:42.46 41hzz0D/
>>207
お勧めはMythTV
209:login:Penguin
12/08/05 09:04:34.71 dpGxjtlL
>>207
枯れて安定してるのはepgrecなんだけど、iPhoneだと操作しにくいんだよな
スマホ向けにも画面が最適化されるのが欲しい
しかしLinuxerなら自分で実装せねば
そういや7月終わったけど、PT3対応予定のfoltiaどうなった
210:login:Penguin
12/08/05 10:56:17.93 l7mI07US
URLリンク(w3.quake3.jp)
こんなのがあってよさそう。
211:login:Penguin
12/08/05 11:00:20.24 x+jzNq5X
recpt1をpt3専用にコンパイルし直して評価してますが、
今のところ何も問題無いです。>開発者、乙!
一点だけ、気になった点
PT2だと録画開始時と終了時にsyslogにメッセージ吐いてて
終了時にはドロップ数とかオーバーフロー数とかわかって
何気に便利だったのでPT3でもあったらいいと思います。
Fedora17
Linux 3.5.0-2.fc17.x86_64 #1 SMP Mon Jul 30 14:48:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
212:login:Penguin
12/08/05 14:23:10.52 3a38bOUT
>>211
>今のところ何も問題無いです。>開発者、乙!
ありがとう
PT1,2は持ってないんで確認できないんだけど
開始時のメッセージってどんなのでしょう。
ソース読んでみたんだけどよくわからなかった。
終了時はPT1のようなドロップ数やオーバーフロー数は出せなくて
PT3側のエラーパケット数なら出せるんだけどそれでいいかな?
213:login:Penguin
12/08/05 15:37:22.37 3a38bOUT
>>209
foltia AL版ドライバが出るの期待してるんだけどどうなるんだろうね
まさか他力本願で対応予定とか言ってるわけじゃないだろうし
FPGAアップデートどうするのかとか興味わくよね
214:login:Penguin
12/08/05 16:02:14.35 uiL89qvX
今までが他力本願だったからgitのドライバがそのまま取り込まれるとと思いますよん
215:login:Penguin
12/08/05 16:34:00.59 x+jzNq5X
>>212
乙です。
PT3が十分安定してるのでPT2との2枚刺しでの運用に切り替えましたが
これまた安定稼働してます。PT3もっと買ってこようかなwww
PT2のsyslogメッセージは、
開始時:
> PT1:ISDB-S Wakeup
> used bs tuners on ffff8803e4a05000 = 1
> PT1:LNB on 0V
終了時:
> used bs tuners on ffff8803e4a05000 = 1
> PT1:LNB off
> (250:1)Drop=00000000:00000000:00000000:00000000
> PT1:ISDB-S Sleep
みたいな感じです。「ISDB-S」は地デジだと「ISDB-T」になります。
当然ハードが違うので出せる情報に違いはあると思うので、
内容は出せるものでいいと思います。動作確認的にはWakeupとか
Sleepの行だけでも十分重宝します。
216:login:Penguin
12/08/05 16:49:19.69 4V/ll1bL
私はそれがたくさん出て邪魔だったのでprintkコメントして出なくしてました
217:login:Penguin
12/08/05 17:11:04.48 3a38bOUT
>>212
さんきゅー
>>216
私もどちらかというと出て欲しくないのでモジュールパラメータで制御できるようにしてみます。
デフォルトは出ない方向で。
218:login:Penguin
12/08/05 19:29:54.87 3a38bOUT
githubへpushしました
モジュールパラメータ debug でメッセージの表示が切り替えられます。
0 : 出来るだけ表示しない
1 : 今までと同じ程度の表示
7 : デバッグ用などいろいろ表示
219:login:Penguin
12/08/05 21:11:31.42 JuO5mXyc
>>218
乙であります
220:login:Penguin
12/08/05 21:45:22.49 x+jzNq5X
>>218
乙です
至れり尽くせりですね
221:login:Penguin
12/08/06 14:22:59.43 hnqXQbDf
最近PT3手に入れたんだが、
FPGA回路更新って、Windows上でやるものなの?
222:login:Penguin
12/08/06 14:40:50.63 3jzZZ6g1
>>221
Yes。いまのところWindowsでしかできない
Linux版PT3ドライバはFPGA回路バージョン0x04必須
223:login:Penguin
12/08/06 15:18:28.72 hnqXQbDf
>>222
レスありがトン。
多少面倒だけど(Windows機のOSもSSDに入れなおそうと思っていて)
丁度いい機会だからやってみるよ。
224:login:Penguin
12/08/06 19:50:54.31 K7SWbMBB
PT3の最新ドライバでもkernel: dma buffer overflowが時々でるんだけど対処
法ってある?
225:login:Penguin
12/08/06 20:24:30.39 UDiHqdlA
>>218
debug=1で評価してると
>PT3:(248:3) error count 30
とかたま~に出ますね。これってどこまで深刻なんでしょう?
初期化が遅れて頭がエラーになったのか、途中が欠けたのかで
深刻度も違うように思えますよね。出るのは今のところ複数
TS録画してる時に限られているようです。
ちなみに、ハードは無駄にウルトラハイスペックですwww
226:login:Penguin
12/08/06 20:25:16.27 7f0INJsR
出た事無いなー
マシンとか環境を変えて試してみてはどうだろう
227:login:Penguin
12/08/06 21:42:51.80 zCNfoCBL
>>224
dma buffer overflowは実はオーバーフローするかもってメッセージなんで
オーバーフローしてない場合もあります。
読んでるバッファブロック(1ブロック188KBx17本)の1本前のブロック先頭がDMAで上書きされてた場合に出ます。
対処法はpt3_dma.cの46行目の1を0に変えるとバッファを大きくとるので出にくくなります。
デバッグしようと思ってるけど実害があまりないっぽくて放置中です
>>218
error countはPT3側(FPGA)がカウントアップしてる数字で
TSパケットのエラーフラグがたってるものをカウントアップしてるみたい。
ドライバ側で問題あるとするとチューニング周波数の計算ミスかなと思う半面
>>226さんのように出ない人は出ないっぽいので環境依存なのかなって気もします。
私の環境でも地上波は同時録画じゃなくてもたまに出るけどBSは出たことないです。
複数同時録画でなるのはチューナーが干渉しあってるのかもしれないですね
もともと放送波のエラーフラグが立ってるって事もあるのかな?
228:login:Penguin
12/08/06 23:00:44.75 co7y01Ts
>>227
乙です。
ID変わってるかもしれませんが225です。
error countはFPGAがカウントしてるんだとすると純粋に変調前のノイズの
影響ってのが一番怪しいですね。うちは地上波もBS/CSも共同受信だから、
余計なノイズが乗ってる可能性は否定できないです。まあ、しばらく
様子見てみます。
>>226
変える環境が無いので、とりあえずアンテナケーブルの引き回しを
変えてみましたwww
229:224
12/08/07 08:22:32.51 UfMmN7E0
>>227 ドライバ作者の方?サンクスです。 オラみたいなアホな子が質問しまくると大変でしょうから READMEに 小技情報追加した方が良いかも!
230:login:Penguin
12/08/07 22:46:48.14 YwVeqmqO
>>229
そういうヤツらに限って読まないから
どこかに同じこと書くんだけどなw
231:login:Penguin
12/08/08 01:18:38.72 bV/CHICt
頻度低いですがerror countは出ますね。
ただ、5分録画しても2時間録画しても出るのは最大30count前後。
録画中ずっと定常的に出てるわけではないっぽい。
出たからといってデコードもsplitも失敗しないし、ノイズも
乗らない。結論としては「気にすんな」ってことかも。
232:login:Penguin
12/08/08 12:49:09.13 bV/CHICt
うお、PT3でchecksignalしたら今までに見たこと無い
> error count 35438
が出た。直後にrecpt1で録画してもerror countはゼロ。
再度checksignalしたらまた
> error count 32038
checksignalとrecpt1て何が違うんですか?>詳しい人
233:login:Penguin
12/08/08 20:36:48.11 L9BJ5IF2
>>232
checksignalだとDMA転送しないのが原因ですね。
error countのリセットが、DMA転送するか、それようのレジスタに書き込むかなんで
現状のドライバだとリセットされないです。
チャンネル設定時にリセットするように変更しました。
ついでに"dma buffer overflow"が大雑把な判定であまり意味がないので
表示レベルをデバッグに変更しました
その他微調整
234:login:Penguin
12/08/08 21:37:55.61 JdX6aAYg
>>233
乙です
着実に完成度上がってますね
素晴らしい
235:login:Penguin
12/08/09 04:13:01.29 GTddxUiK
キタ━━━(゚∀゚)━━━ !!!!!
236:login:Penguin
12/08/09 11:30:57.16 CPrHM+Ch
試しにchecksignalやってみたけどTが必ずC/N = 38.288134dBで変化ないんだけどそんなもん?
Sはちゃんと変動するみたいだけど
237:login:Penguin
12/08/09 13:37:13.02 q0KZ2LoV
低レベルな質問ですみません
8月に入ってからepgrecでBSの番組表が取れなくなったのですが
原因としては何が考えられますか?
epgdumpとrecpt1はsourceforgeの2011年10月の新BS対応版を使ってます
238:login:Penguin
12/08/09 14:01:02.68 BaiHz/ge
>>236 アンテナケーブル半分抜いてみるとかでも変わらない?
239:237
12/08/09 14:27:24.67 q0KZ2LoV
追記です
recpt1での録画はできて、epgdumpにts食わせるとチャンネル名だけのxmlができます
240:login:Penguin
12/08/09 14:28:47.69 I9gYPhFi
>>236
CATVとかで安定してるとかじゃね。
引っこ抜いて0になれば大丈夫
241:login:Penguin
12/08/09 15:54:35.98 CPrHM+Ch
抜くとちゃんと
No signal. Still trying: /dev/pt3video2
になるけど緩めてみたりしてもかわらないなー
同じ分配器からつないでる別PCのPT2だと
device = /dev/pt1video2
C/N = 30.124196dB
242:login:Penguin
12/08/09 17:00:06.08 BaiHz/ge
>>241
No signalはチャンネル設定できない時のエラーなんで
シグナル強度取れてるかどうか試すなら
checksignal実行してC/N値が出てる時にチューナーケーブル抜かないとだめだよ
243:login:Penguin
12/08/09 17:08:03.78 CPrHM+Ch
途中で抜いても変わらないみたいよ
みなさん出来てるとするとうちの環境の問題なんだろうけど
244:login:Penguin
12/08/09 19:11:31.93 BaiHz/ge
>>243
試してくれてありがとう。仕事中で試せなかったもので。
CN取得でtypoしてました。
修正してpushしたんで取り直してみてください
245:login:Penguin
12/08/09 19:54:38.45 n/Dxe7h+
pushマダー(AA略
246:login:Penguin
12/08/09 20:13:35.81 CPrHM+Ch
まだpushされてないみたい、とりあえず
tuner->tc_t, NULL, cn
に修正したらちゃんと動きました
ありがとうございました
247:login:Penguin
12/08/09 20:15:57.78 BaiHz/ge
やばいな、完全にpushしたつもりになってた。
今度こそpushしたよ
248:login:Penguin
12/08/09 20:29:20.16 wjJmbl+I
>>210
これいいな
ありがとう
見てるかわからんが乙です>作者どの
249:login:Penguin
12/08/09 20:31:50.50 an8AybQe
>>247
乙です。
今気付いたんですがmodprobeした時に
>PT3-pci.c: rev.XX 2012-08-09
が出る時と出ない時がある気がするんですが、
これはこういうもんなんですかね?
250:login:Penguin
12/08/09 20:55:50.50 BaiHz/ge
>>247
モジュール初期化で真っ先に表示するので必ず出るはず。
初期化ルーチン走らないモジュールロードはないと思うんで
syslog側で無視するパターンがあるのかも?
いまさらだけどPT3-pciじゃなくてPT3-pcieのがよかったな・・・
251:login:Penguin
12/08/09 20:57:04.11 BaiHz/ge
>>247 ×
>>249 ○
なぜだろう。よく間違えて自分にレスする
252:login:Penguin
12/08/09 21:09:35.86 an8AybQe
>>251
出なかったのは/var/log/messagesの方で、dmesgの方は
>[390693.091978] free PT3 DEVICE.<6>[390707.582985] PT3-pci.c: rev.71 2012-08-09
みたいになぜか改行されずに2行混ざって出てた。
(「<6>」ってなんだろ?)
こうなると/var/log/messagesには出ないみたい。
気になるのは、rmmodした時に、dmesgに
>free PT3 DEVICE.
が出ないことがあるってことの方かも。
カーネル側のバグ?
Fedora17 3.5.0-2.fc17.x86_64
253:login:Penguin
12/08/09 21:10:10.39 lvUB9byK
syslogdは設定によって同じログメッセージを束ねる機能がある
何度も連続してmodprobeしたりしてる?
254:login:Penguin
12/08/09 21:33:48.77 an8AybQe
もしかしてprintkの最後に改行が抜けてるせいで
バッファがフラッシュされてないのでは?
255:login:Penguin
12/08/09 21:40:30.60 an8AybQe
やっぱりprintkに改行付けたら直ったよー
256:login:Penguin
12/08/09 22:03:17.40 BaiHz/ge
>>255
さんきゅー
何箇所か改行してないところあったんで一緒に直しました
257:login:Penguin
12/08/09 22:20:52.24 b3kqi3L8
>>237
答えてやりたいとこだが、
その情報だけでは何とも・・・。
取れないのはBSの全チャンネル?
258:login:Penguin
12/08/09 22:27:37.88 an8AybQe
>>256
乙です
うー pt3_pci_init()のversion表示の行に改行が2つあるみたい
259:login:Penguin
12/08/09 22:49:26.63 CPrHM+Ch
これでいいかな
diff --git a/pt3_pci.c b/pt3_pci.c
index c00b26d..f138cdf 100644
--- a/pt3_pci.c
+++ b/pt3_pci.c
@@ -1131,7 +1131,7 @@ static struct pci_driver pt3_driver = {
static int __init
pt3_pci_init(void)
{
- printk(KERN_INFO "%s\n", version);
+ printk(KERN_INFO "%s", version);
pt3video_class = class_create(THIS_MODULE, DRIVERNAME);
if (IS_ERR(pt3video_class))
return PTR_ERR(pt3video_class);
260:login:Penguin
12/08/09 22:57:23.93 BaiHz/ge
>>259
ども
録画中でテストしないでアップしたら凡ミスを。。
しかも、こっそり直そうと思ったら失敗した。
変なコミットあるけど気にしないでね^^
261:login:Penguin
12/08/09 22:59:53.58 an8AybQe
>>259
乙です
良いと思います
262:login:Penguin
12/08/09 23:38:22.52 qWDHkqBY
debian squeezeだとコンパイルエラーになるんだけど、vzallocをvmalloc + memsetに置き換えても良い?
263:login:Penguin
12/08/10 07:03:36.40 h6H+nrJR
>>262
大丈夫
vzallocっていつから増えたんだろう
264:login:Penguin
12/08/10 11:25:55.51 h6H+nrJR
>>262
vzallocない場合に対応したつもり
これでいけるかな?
265:login:Penguin
12/08/10 11:49:47.09 T2dv+zsZ
>>257
ありがとうございます
取れないのは全チャンネルです
$ recpt1 --b25 --strip --sid hd 211 120 /tmp/test.ts
は正常に録画できますが、
$ epgdump /BS /tmp/test.ts /tmp/test.xml
とすると、
<channel id="4101.epgdata.ontvjapan">
<display-name lang="ja_JP">NHK BS1</display-name>
</channel>
といったものが並んだだけのxmlができます
266:login:Penguin
12/08/10 12:02:28.49 h6H+nrJR
sid指定しちゃダメなんじゃないっけ
267:login:Penguin
12/08/10 12:19:31.12 T2dv+zsZ
>>266
sid指定なくしたら取れました。ありがとうございます
ということはdo-record.shをいじったのが問題だったわけですね
1か月ほどは問題なく取れてたのが謎ですが
268:login:Penguin
12/08/10 22:41:01.86 Jb+uTI9Z
>>267
tssplitter_lite ではなく、libavformat 版でやらないか?
(まだ作ってる最中で絶賛ヌルポ状態です...orz...
269:login:Penguin
12/08/11 01:08:17.56 Yg0FEIbN
>>268
たぶんテンパってんだろうけどレスの流れぐらい理解しろw
あと libavformat版がんばれ
270:login:Penguin
12/08/11 05:19:36.88 9thcECEG
>>267
epgrec UNA版のrecpt1パッチ適用して、getepg.phpで--sid epgを指定するようにすれば
--sidも使えてHDD負担も減るよ
271:login:Penguin
12/08/11 05:34:18.92 pkCOvjbg
>> 264
どもども。うまくいったです。
272:login:Penguin
12/08/11 14:11:15.31 h00C1j64
>>270
getepgの出力先はtmpfsにしとくのが精神衛生上もいいやね
273:login:Penguin
12/08/12 11:50:17.60 Yg2pLF9E
PT3って今どこらへん?
274:login:Penguin
12/08/12 13:05:48.60 HanvIEDQ
伝票番号がわかれば配送業者のサイトで調べられるよ
275:login:Penguin
12/08/12 15:44:26.20 Js1a1Moq
調べられないよ
276:login:Penguin
12/08/13 20:07:11.99 oIpqxrV+
PT2とPT3混ぜて運用してるけど、もうPT2は引退させてもいい感じ
277:login:Penguin
12/08/13 20:54:30.74 OLjkzJv/
もうそんなに安定したレベルになってるん?
こりゃドライバ作者さんにインタビュー依頼来るんじゃねw
278:login:Penguin
12/08/14 16:09:57.89 rywkhpCY
>>225
うちでもそこそこ大きな(2000~3000程度の) error count がでるけどチャンネル依存のようだ。
殆どのチャンネルでは、count=0 か出てもせいぜい20程度だが
放送大学 (東京で28CH)でchecksignalすると、いつも2200程度のerrorがでる。
因みにC/Nはども34dB程度で放送大学が特に悪いわけではない。
長い時間checksignalかけていても増えないので、頭の部分エラーで出ているのかもしれない。
ところで、地デジチャンネルでchecksignalすると必ず最初は
C/N = -nandB
って表示になるけど皆もなる?
279:login:Penguin
12/08/14 17:55:44.71 NO/M9IUo
初めの1ループ分って感じ
280:278
12/08/14 19:26:50.21 rywkhpCY
ううむ、 error が出まくってうまく録画できないときがある。
状況としては >>278 に書いたのと変わらないのだけれど、通常、count=0 になるようなチャンネルでも、
長時間録画しようとすると途中で録画が止まってしまうのがある。
そのときの error count を見てみると、恐ろしいことに 1000万(8桁)を超えるエラーが出ていた。
エラーから抜けられなくなっていてデータ転送ができないように見える。 (segfaultとかは無い)
一緒に差してるPT2だと大丈夫なので、PT3を差すスロットを変えたり、アンテナケーブルを
PT2のものと交換したりしてみたけど変化無いのだけど同じような症状の人居る?
環境やPCとの相性なのかな
281:login:Penguin
12/08/14 19:30:59.90 Yf0nHzB+
>>278
>>279
あくまで予測の範疇だけど。
チューナーロック前のバッファ(エラーフラグ立ってる)がクリアされてないっぽくて
チューナーロック後にバッファが埋まるまでウェイト入れてから
エラーカウントリセットすればエラーカウント0になるみたい。
だからデータ量の少ないチャンネル(放送大学?)だとロック前のバッファが多く残る
BS/CSみたにデータ量の多いチャンネルだとすぐにバッファが上書きされるって感じ。
どの程度待てば十分なのかがはっきりしない&実害無いので放置してたけど
適当にウェイト入れてみます。ウェイト足りないようだったら教えて
282:login:Penguin
12/08/14 19:32:05.49 WBCEmeca
>>280
デバッグモードにしてログを貼り付ければ何か進展するかもしれん
283:login:Penguin
12/08/14 20:18:21.19 Yf0nHzB+
>>280
突然の豪雨で受信レベル低下とかない?
PT2と同時録画でPT3だけ失敗するのかな?
284:login:Penguin
12/08/15 12:21:04.17 XcQ2pouT
printk のメッセージの頭にひと通り PT3: を入れていただけると
grepできてありがたいなんて思ったりしますがどんなもんでしょう
285:login:Penguin
12/08/15 13:10:43.25 eMNV4epg
>>284
いれたよー
# patch作ってくれるとうれしいな
286:login:Penguin
12/08/15 18:43:06.24 XcQ2pouT
どうもありがとうございます
パッチはPT3_PRINTKになってなかった所が何かあるのかなと不安でした
287:login:Penguin
12/08/15 21:20:27.47 /rp+ad8O
>>285
IDがepg
288:278
12/08/16 22:16:25.18 JPsIczZV
>>281
新しいドライバを入れてみたところ、>>278の症状は全て無くなり、どのチャンネルでも最初は
Error Count=0になるようになった。 ありがとう。
ところで、やはり >>280 の症状は収まらず、相変わらず録画失敗が多発する。
但し、失敗するのはBSのみで、地上波で失敗することは無いようだ。
この状況から、ドライバが原因とは考えにくい。
PT2とPT3で同じBS番組を録画してPT3のみ失敗することがあるので、やはりPT3の問題かも。
同じような症状の人は居ないみたいだし困ったなぁ
289:login:Penguin
12/08/16 22:27:41.84 +gS6ORHD
>>288
Windows8 RP あたり入れて、ハード故障か切り分けてみたら?
290:login:Penguin
12/08/16 22:58:53.74 Z/weZhdr
>>288
BSだけってなるとLNBが怪しいな
291:login:Penguin
12/08/17 00:22:06.96 bHmwaPKB
>>290
LNB電源がカードからきちんとでてるかどうか調べてみるとか
292:278
12/08/17 00:58:50.48 7e3ajYw7
>>290
>>291
ぅうむ・・・LNBですか。 どうなんだろう。
>>288に書いている通り、PT2とPT3とを同時に両方ともLNB ON にして同じ番組を録画して、PT3だけ失敗した。
アンテナ電源の問題だとすると、PT3で失敗した時点でPT2でも失敗するはずなので考えにくいかなと思うがどうかな。
あと、PT3で失敗する時でも最初のうちは録画できていて、途中で止まり、そのまま回復しないという症状は手掛かりにならないですかね。
即ち、途中一度でもerror countが上がり始める(=パケットエラー?)と、設定した録画終了時間まで2度と復活しないのだけど、でも、
このとき、同時に録画進行しているPT3のもう片方のBSチューナーはちゃんと生き続けていて録画継続できている。
なんか、一度Syncが外れると最後まで復活しないような症状なんですが、ドライバ側でなんかWorkAroundが出来ないでしょうかね・・
などと勝手な事を妄想してみたりしています。
293:278
12/08/17 01:04:15.08 7e3ajYw7
WorkAround -> Walk Around (恥・・・
294:login:Penguin
12/08/17 01:35:57.32 2dkJoMvR
すみません、レベルの低い質問で申し訳ないですが、教えてください。
epgrecでBSの新しい放送局やCSの一部の番組表が歯抜けになってます。
config.phpとepgdump.cとxmldate.c
すべて、チャンネル変更をしたのですが同じです。
あと、LaLaTVを録画すると、ムービープラスHDで放送されている番組が録画されます。
ファイルはちゃんと、LaLaTVのタイトルになってます。
ムービープラスHDで録画すると、ちゃんと番組表通りに録画されてます。
変更の仕方がマズイのでしょうか?
上で190の人がレスされてる仕方と同じなんですが。。
わからないのは、NDというのはどこで変更すればいいのでしょうか?
295:login:Penguin
12/08/17 01:43:59.10 TAm5i5yE
簡単なのはデータベースを一旦全て削除すればいいよ
でなかったらmysqlを直接コマンドで修正
296:login:Penguin
12/08/17 02:36:31.33 ibXLnIQp
>>292
ますますLNBクサいけど切り分けきる?
297:login:Penguin
12/08/17 03:07:04.70 pJVEjesQ
>>294
CSはチャンネルの設定でSIDを手で指定して、
録画モードでSIDによるフィルタリングが有効なモードにするか、
Full TSで録画して再生アプリ側でプログラムを指定するかする必要があります。
298:login:Penguin
12/08/17 03:48:14.72 3w4uwq6+
>>294
番組表の上の方のチャンネル名が書いてある行、
チャンネル名が書いてあるセル(?)をクリックすると
チャンネル情報
視聴しない:
サービスID:
ってポップアップが出てくるので、
LaLaTVならサービスID:314
と入れて更新を押します。
299:login:Penguin
12/08/17 08:20:41.85 4SutgWV4
>>292
ドライバ側でやってるのはDMA転送されたデータのバッファリングと
そのバッファをユーザ空間へコピーしてるだけなんで、
正常なパケットだろうがエラーのあるパケットだろうが止まることはない。
ただしバッファは各チャンネルに1ブロック188KBx17ブロックあるんだけど、
ブロックの先頭がSyncバイト(0x47)でない場合、("PT3: invalid sync byte...."が出る)
そのブロックはユーザ空間へコピーされない
PT3が正常に復調してDMAが止まらなければ、そのうち上書きされて正常状態に戻るはずです。
うちの環境で
録画開始→アンテナはずす→アンテナ戻す→録画停止
やってみたら、途中に再生できない部分があるけど最後のほうはちゃんと再生できるTSができたんで、
アンテナレベル低下でDMA止まらない&ドライバ側も止まってない
ちなみに復調できなくてもSyncバイトは固定みたいで"PT3:invalid sync byte..."はでなかった。
現状の話を聞くと途中から最後まで復調に失敗してるんじゃないかな
300:299
12/08/17 08:36:43.54 4SutgWV4
>>292
ごめんなさい、お答えになってなかったですね。
途中から復調に失敗したまま復帰しないとなると
チューナーのPLLロックが途中から外れるということなのでハードの問題じゃないかと思います。
301:login:Penguin
12/08/17 11:23:09.47 Bo7QWR50
recfriio/recfsusb2nとepgrec/epgdumpの組み合わせで、
番組表をTSファイルから自動取得できるようしています。
(主にCSのチャンネル変更への自動追従用)
URLリンク(github.com)
URLリンク(github.com)
同じようにrecpt1にも対応できたらと考えています。
CSはCS2,CS4,・・・CS24と指定すれば良いのはソースから判断できたのですが、
BSはネットに転がっているソースによりマチマチで、101chだったり101だったりするので
recpt1に関してはどれが最新ソースなのか教えて頂ければ助かります。
>>294みたいな事態が起こりにくくなると思いますので。
302:login:Penguin
12/08/17 14:00:54.09 HOfg/4Il
>>301
URLリンク(hg.honeyplanet.jp)
URLリンク(hg.honeyplanet.jp)
よく使われているのは上の2つ辺りでしょうか
303:login:Penguin
12/08/17 14:27:59.51 07CiTaj3
>>302
情報ありがとうございます。
やはり本家そこっぽいですよね。
recpt1って、ドライバーはpt1/pt2/pt3用とそれぞれ別れていて
recpt1自体は同じもので動くという認識で良いのでしょうか?
いかんせん、実機持って無いので勝手が分からずすいません。