【視聴・録画】Linuxでテレビ総合7【デジタル/アナログ】
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2012/07/15(日) 18:14:10.25ID:OJrUKUSQ【関連スレ】
【自家製】MythTV Part.3【HDDビデオ】
http://engawa.2ch.net/test/read.cgi/linux/1223721998/
【BT878】Linuxでのキャプチャを語るスレ
http://engawa.2ch.net/test/read.cgi/linux/1017186805/
Linuxでfriio
http://pc11.2ch.net/test/read.cgi/linux/1213378360/
【前スレ】
【視聴・録画】Linuxでテレビ総合6【デジタル/アナログ】
http://engawa.2ch.net/test/read.cgi/linux/1326804531/
【過去スレ】
【視聴・録画】Linuxでテレビ総合5【デジタル/アナログ】
http://engawa.2ch.net/test/read.cgi/linux/1309182037/
【視聴・録画】Linuxでテレビ総合4【デジタル/アナログ】
http://hibari.2ch.net/test/read.cgi/linux/1293388638/
【視聴・録画】Linuxでテレビ総合3【デジタル/アナログ】
http://hibari.2ch.net/test/read.cgi/linux/1269999876/
【視聴・録画】Linuxでテレビ総合2【デジタル/アナログ】
http://pc11.2ch.net/test/read.cgi/linux/1253880711/
【視聴・録画】Linuxでテレビ総合【デジタル/アナログ】
http://pc11.2ch.net/test/read.cgi/linux/1231189481/
Linuxでテレビを見る
http://pc11.2ch.net/test/read.cgi/linux/1013649811/
0002login:Penguin
2012/07/15(日) 18:22:53.72ID:OJrUKUSQhttp://hg.honeyplanet.jp/pt1/
http://hg.honeyplanet.jp/pt1.oyama/
http://sourceforge.jp/projects/pt1dvr/
v4l-dvb (pt1 driver dvb)
http://www.linuxtv.org/hg/v4l-dvb
Linux用DVBアプリ集、等々(閉鎖)
http://2sen.dip.jp/dtv/
ミラー?
http://www3.wazoku.net/2sen/
2sen関連はこちらでどうぞ
【閉鎖】2sen補完計画【逃げ出した後】
http://toro.2ch.net/test/read.cgi/avi/1341202581/
2senの代わりを・・・
http://toro.2ch.net/test/read.cgi/avi/1340518755/
epgrec
http://www.mda.or.jp/epgrec/
http://sourceforge.jp/projects/epgrec/
foltia
http://www.dcc-jpl.com/soft/foltia/
rec10
http://www.rec10.org/xoops/
torec
https://github.com/k-k1/torec/
Chinachu
http://akkar.in/projects/chinachu/
https://github.com/kanreisa/Chinachu/
0003login:Penguin
2012/07/15(日) 18:35:22.18ID:Ih4Jgftx0004login:Penguin
2012/07/15(日) 18:37:40.49ID:OJrUKUSQepgrec assist
http://w3.quake3.jp/osamu/epgrec_assist/
http://sourceforge.jp/users/trumphouse/pf/epgrec_assist/scm/
[PT2] recpt1ctl --channel に対する recpt1 の動作を改良
http://d.hatena.ne.jp/eagletmt/20110328/1301326078
Piro77/epgdump ・ GitHub
https://github.com/Piro77/epgdump
有限会社アースソフト
http://earthsoft.jp/index.html
開発者が自ら語る,「あのPT1」Linuxドライバ作成秘話
http://itpro.nikkeibp.co.jp/article/COLUMN/20090804/335060/
Linux/テレビ関連/PT2
http://baalzephon.dyndns.org/tech/index.php?Linux%2F%E3%83%86%E3%83%AC%E3%83%93%E9%96%A2%E9%80%A3%2FPT2
テンプレ長いけどこんな感じで良かったですか。
0005login:Penguin
2012/07/15(日) 18:38:27.23ID:Ih4Jgftxはい。問題ありません。
0006login:Penguin
2012/07/15(日) 20:41:48.33ID:gxNLnTkn乙です
0007login:Penguin
2012/07/16(月) 00:40:06.07ID:98eF9WTk(ドライバつくれない自分が言うのもなんだけど)
まあPT2でまったく問題ないからいいけど新規はWindows鯖買えってことだねえ
0008login:Penguin
2012/07/16(月) 01:05:33.11ID:9tk/ab5u0009login:Penguin
2012/07/16(月) 01:51:54.07ID:yCicOYRmドライバを作る過程でやったことを
公開して欲しい。
0010login:Penguin
2012/07/16(月) 01:56:47.46ID:1yowMHLZ0011login:Penguin
2012/07/16(月) 02:02:43.06ID:98eF9WTk0012login:Penguin
2012/07/16(月) 02:04:58.47ID:1yowMHLZよしよしw
0013login:Penguin
2012/07/16(月) 03:03:19.97ID:98eF9WTk0014login:Penguin
2012/07/16(月) 06:23:55.95ID:wyYT4kLI0015login:Penguin
2012/07/16(月) 08:16:14.77ID:VIs4rRmOやったこと:
SDKをCに焼き直しとLinux用に翻訳
現状:
FPGAのレジスタ読んでバージョンチェックなどはできる
テストモードでPT3->PCへDMA転送できる
チューナーの初期化処理はタイミングの問題なのかうまくいくときといかないときがある
チューナーのPLLがロックしない
I2Cの命令領域とデータ領域があるように書いてあるけど
ソース読むとデータ領域に命令書いてるように読める
だれか分かる人教えて
PT1のMakefileなど使いまわさせてもらってます。感謝
http://www1.axfc.net/uploader/Sc/so/362623
0016login:Penguin
2012/07/16(月) 10:15:32.42ID:XvZMbo4g罵倒してないで、自分が何をしたか言ってごらんよ。
0017login:Penguin
2012/07/16(月) 11:39:31.18ID:0TJnGGO90018login:Penguin
2012/07/16(月) 11:39:38.17ID:bu+f+Xt20019login:Penguin
2012/07/16(月) 13:21:56.57ID:CSuii1D1卑屈でひねくれた性格の人は、そういうおねだりの仕方をする。
0020login:Penguin
2012/07/16(月) 13:54:06.60ID:xtdT1Nk70021login:Penguin
2012/07/16(月) 17:55:42.09ID:kMfCiuX5そんな昔のやつがまだ在庫であるなんて在庫管理がめちゃくちゃなんじゃないの?
データベース使ってんの、使ってないでしょ。
今時データベースも使ってないなんて。自転車操業でしょ。
そんな管理体制だからクソ業者って言われんだよ。
人を呪わば穴二つ。チョンチョン、
0022login:Penguin
2012/07/16(月) 20:30:37.47ID:RJZOFPFb[ 115.400244] pt3-pci.c: 0.0.1 2012-07-07
[ 115.400289] pt3-pci 0000:05:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 115.400294] Revision check passed. revision=0x1
[ 115.400297] Bus Mastering Enabled.
[ 115.400301] request_mem_resion success. mmio_start=0xd0001000 mmio_len=4096
[ 115.400313] io_remap success. ffffc9000167e000
[ 115.400314] request_mem_resion success. mmio_start=0xd0000000 mmio_len=4096
[ 115.400318] io_remap success. ffffc9000173c000
[ 115.400320] Check PTn is passed. n=3
[ 115.400321] Check FPGA version is passed. version=0x4
[ 115.400325] can_transport_ts = 1
[ 115.400325] dma_descriptor_page_size = 20
[ 115.989677] bus read data=0x48
[ 116.021621] bus read data=0x48
[ 116.025620] tuner_power_on
[ 116.037594] set_tuner_sleep isdb=0 tuner_no=0 sleep=0 status=0x0
[ 116.037598] set_freq isdb=0 tuner_no=0 channel=0 offset=0
[ 116.053524] frequency 1048980 Khz
[ 116.057566] channel=0 index=0 sd=0x38fae1 N=0xd A=0x5
[ 116.125397] bus read data=0x01
[ 116.125404] qm_read addr=0x0d data=0x01
〜〜〜〜〜〜略〜〜〜〜〜〜
[ 117.131666] qm_get_locked 0 status=0x0
[ 117.131669] fail set_frequency. status=0x30b
[ 117.131672] fail init_all_tuner. 0x30b
[ 117.131675] PT3:device[0]= (null)
[ 117.144540] BUG: unable to handle kernel NULL pointer dereference at (null)
[ 117.144625] IP: [<ffffffffa01d5ac1>] pt3_dma_build_page_descriptor+0xa1/0x100 [pt3_drv]
[ 117.144701] PGD 36463067 PUD 36b38067 PMD 0
[ 117.144748] Oops: 0002 [#1] SMP
0023login:Penguin
2012/07/16(月) 22:39:31.15ID:VIs4rRmOバグです
報告ありがとう
仕事が忙しくなりそうなんでボチボチ進める予定です
他にもドライバ作ってる方が居るようなので情報共有できればと
現状のものをそのままアップしました
凡ミスがまざってたりしますが、
なにか気づかれた点があれば報告していただけると嬉しいです
0024login:Penguin
2012/07/16(月) 22:48:12.81ID:RJZOFPFb了解です。環境情報出した方が良い?
鼻毛サーバ+Ubuntu-12.04です
デバッグコード山盛りで場合分けしやすめで、
コード書いちゃってとりあえず作る。
という方針で行き当たりばったりでみんなでデバッグでもいいんじゃない。
これやってみて。という依頼だったらいくらでも協力しますよ
0025tomy ◆CfWlfzSGyg
2012/07/16(月) 22:48:55.26ID:vT157pp6とりあえずqemuの環境が作り終わったんで
winのサンプルを動かしはじめたところだけど、
I2CはFPGA.txtとはちょっとレジスタの意味が違うかも。
0x14ってステータスだけじゃないのかな。
ざっと立ち上げログ(qemu)
PT1pci_mmio_readl: (00000000)addr=00000000
PT1pci_mmio_readl: (00000000)addr=0000000c
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=11000
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=10000
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
〜略〜
PT1pci_mmio_writel: (00000000)addr=00000010 value=117fa
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=10000
PT1pci_mmio_readl: (00000000)addr=00000014
PT1pci_mmio_readb: (00000000)addr=00000014
〜略〜
PT1pci_mmio_writel: (00000000)addr=00000008 value=c
PT1pci_mmio_writel: (00000000)addr=00000010 value=20000
0026login:Penguin
2012/07/16(月) 23:38:05.02ID:VIs4rRmO>0x14ってステータスだけじゃないのかな。
リトルエンディアンならreadbでレジスタ(4byte)の下位1byteが読めるので
readbでもreadlでも必要な値はとれるんだと思います。
0027login:Penguin
2012/07/16(月) 23:56:36.75ID:VIs4rRmO>>24
すみません、再現できないです><
デバッグ用のコード用意するので時間ください
私の環境はDebian wheezyでKernel 3.2.0です
>>25
ログありがとうございます
とても参考になります
0028login:Penguin
2012/07/17(火) 17:43:43.47ID:hTqPCJbfFPGAのバージョンが古い場合。ちなみに、Linuxしかない環境で、FPGAを
最新に上げるにはどうすれば良いの?
Ubuntu 12.04TLSです。
Linux suzuka 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[ 7.633757] pt3-pci.c: 0.0.1 2012-07-07
[ 7.635617] pt3-pci 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 7.635624] Revision check passed. revision=0x1
[ 7.635628] Bus Mastering Enabled.
[ 7.635633] request_mem_resion success. mmio_start=0xfdbff000 mmio_len=4096
[ 7.635656] io_remap success. ffffc90000c7c000
[ 7.635658] request_mem_resion success. mmio_start=0xfdbfe000 mmio_len=4096
[ 7.635665] io_remap success. ffffc90000c7e000
[ 7.635668] Check PTn is passed. n=3
[ 7.635670] this FPGA version not supported
[ 7.635676] Error ep4c_init
[ 7.635704] pt3-pci: probe of 0000:02:00.0 failed with error -5
0029login:Penguin
2012/07/17(火) 20:41:05.42ID:53Pl1vvIデバッグ用のコード入れてみました
>>28
どうもです
現状ではLinuxでFPGAのアップデートはできないと思います
SDKの非公開な部分を使うようなので>>25さんのように
本格的な解析が必要になるかと
前回分との差:
DMAdescriptor構築関数にデバッグ用コード挿入
その他細かいバグ修正+デバッグコード挿入
I2Cのエラーは出なくなりました
地上波チューナーはPLLのロックに成功してるみたい
BSチューナーはロックしない
本当にPLLロックしてるのか確認する方法を考え中です
http://www1.axfc.net/uploader/Sc/so/363071
0030login:Penguin
2012/07/17(火) 21:12:10.33ID:L70SEarF0031login:Penguin
2012/07/17(火) 21:25:38.37ID:45/4V1e7003222
2012/07/17(火) 21:33:47.51ID:WWURYLeK型違いって言われてコンパイル通りませんでした。
dmesg は次に。
--- pt3_0717.original/pt3_bus.h 2012-07-17 18:25:18.000000000 +0900
+++ pt3_0717/pt3_bus.h 2012-07-17 21:29:07.355647903 +0900
@@ -23,7 +23,7 @@
void pt3_bus_start(PT3_BUS *bus);
void pt3_bus_stop(PT3_BUS *bus);
void pt3_bus_write(PT3_BUS *bus, const __u8 *data, __u32 size);
-size_t pt3_bus_read(PT3_BUS *bus, __u8 *data, __u32 size);
+__u32 pt3_bus_read(PT3_BUS *bus, __u8 *data, __u32 size);
void pt3_bus_reset(PT3_BUS *bus);
void pt3_bus_sleep(PT3_BUS *bus, __u32 ms);
void pt3_bus_end(PT3_BUS *bus);
0033login:Penguin
2012/07/17(火) 21:39:32.06ID:WWURYLeK[ 411.605856] tuner_power_on
[ 411.617834] set_tuner_sleep isdb=0 tuner_no=0 sleep=0 status=0x0
[ 411.617838] set_freq isdb=0 tuner_no=0 channel=0 offset=0
[ 411.633764] frequency 1048980 Khz
[ 411.637805] channel=0 index=0 sd=0x38fae1 N=0xd A=0x5
[ 411.809506] qm_get_locked 0 status=0x0
[ 411.809510] fail set_frequency. status=0x30b
[ 411.837411] set_tuner_sleep isdb=0 tuner_no=0 sleep=1 status=0x0
[ 411.901346] set_tuner_sleep isdb=1 tuner_no=0 sleep=0 status=0x0
[ 411.901351] set_freq isdb=1 tuner_no=0 channel=70 offset=0
[ 412.021139] set_tuner_sleep isdb=1 tuner_no=0 sleep=1 status=0x0
[ 412.033118] set_tuner_sleep isdb=0 tuner_no=1 sleep=0 status=0x0
[ 412.033123] set_freq isdb=0 tuner_no=1 channel=0 offset=0
[ 412.049087] frequency 1049980 Khz
[ 412.053082] channel=0 index=1 sd=0x39fae1 N=0xd A=0x5
[ 412.224785] qm_get_locked 0 status=0x0
[ 412.224789] fail set_frequency. status=0x30b
[ 412.252738] set_tuner_sleep isdb=0 tuner_no=1 sleep=1 status=0x0
[ 412.316582] set_tuner_sleep isdb=1 tuner_no=1 sleep=0 status=0x0
[ 412.316587] set_freq isdb=1 tuner_no=1 channel=71 offset=0
[ 412.436373] set_tuner_sleep isdb=1 tuner_no=1 sleep=1 status=0x0
[ 412.436379] PT3:device[0]= (null)
[ 412.449180] Allocate Descriptor buffer.
[ 412.449295] dma maybe failed allocate desc_info->data 59
[ 412.449299] set page descriptor.
[ 412.449302] PT3:card_number = 0
[ 412.462820] Allocate Descriptor buffer.
[ 412.462876] dma maybe failed allocate desc_info->data 59
[ 412.462878] set page descriptor.
[ 412.462880] PT3:card_number = 0
0034login:Penguin
2012/07/17(火) 21:41:35.23ID:WWURYLeK[ 412.475699] Allocate Descriptor buffer.
[ 412.475752] dma maybe failed allocate desc_info->data 59
[ 412.475754] set page descriptor.
[ 412.475755] PT3:card_number = 0
[ 412.488672] Allocate Descriptor buffer.
[ 412.488724] dma maybe failed allocate desc_info->data 59
[ 412.488726] set page descriptor.
[ 412.488728] 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
[ 412.436379] PT3:device[0]= (null)
ここが null になってるのが問題?
0035login:Penguin
2012/07/17(火) 21:55:33.40ID:53Pl1vvIまいどどうもです
PT3:device[0]= (null)は正常なログです
DMA用メモリを一括で確保してデータ書き込んでるんですが、
その途中でエラーになってるみたいです
ロジックのバグっぽいので見直してみます
チューナーPLLの方はTSっぽいデータが抜けるんですが
レジスタ"TS Error Packet Counter"の値ががんがん増えていくので
何かが足りないみたいです><
0036tomy ◆CfWlfzSGyg
2012/07/17(火) 22:11:37.33ID:AiZyUWxQ>地上波チューナーはPLLのロックに成功してるみたい
ってあるけど、I2Cの初期化とか設定はどこかに載ってる?
NDA部分だと思っていたんだけど。
>リトルエンディアンならreadbでレジスタ(4byte)の下位1byteが読めるので
>readbでもreadlでも必要な値はとれるんだと思います。
これは私の勘違い。
知っていたら教えてほしいんだけど、0x10のスタートアドレスって何?
I2Cのデータが取れはじめて見始めているけど、このアドレスとあまり関係ない位置にI2Cのデータを書いているみたいだけど(bar[1]の0x800番地以降)。
0037login:Penguin
2012/07/17(火) 22:58:38.17ID:53Pl1vvI私は素人に毛が生えた程度なのでSDKを書き直したら動くかな
って動機で安直に進めてます
bar[1]にI2Cの命令かいて、0x10で命令開始、
0x14読んでシーケンス停止したときにACKがエラーになってない
を繰り返してて、
>地上波チューナーはPLLのロックに成功してるみたい
の根拠はSDKの公開部分を順番に実行して
ACKがエラーになってないってだけです
bar[1]の使い方は私も疑問です
SDKではbar[1]に0x800+(命令アドレス/2)の位置から
I2C命令を書いてますが、割る2ってなにって感じです
命令アドレスは大半が0で動いてる見たいですが、
4096+0, 4096+2048の場合が最初の方にあります
わざわざ4096+αと書いてあるんですが4096の意味がまったく想像付きません
そもそも4096+2048だとbar[1]からはみ出ますよね
003822
2012/07/17(火) 23:50:20.80ID:WWURYLeKUbuntu 12.04 32bitをインストールして見たところ、
64bitとは異なるログが出ました。
[ 259.282376] PT3:device[0]= (null)
[ 259.286685] insmod: page allocation failure: order:9, mode:0x8020
[ 259.286692] Pid: 5149, comm: insmod Tainted: G O 3.2.0-26-generic-pae #41-Ubuntu
[ 259.286696] Call Trace:
[ 259.286709] [<c158f6ca>] ? printk+0x2d/0x2f
[ 259.286719] [<c10faf0f>] warn_alloc_failed+0xbf/0x100
[ 259.286726] [<c10fdce3>] __alloc_pages_nodemask+0x513/0x6e0
[ 259.286735] [<c1133ea5>] ? __kmalloc+0x195/0x1e0
[ 259.286743] [<c10152f0>] ? dma_set_mask+0x60/0x60
[ 259.286749] [<c1015362>] dma_generic_alloc_coherent+0x72/0x110
[ 259.286755] [<c10152f0>] ? dma_set_mask+0x60/0x60
[ 259.286766] [<f89f9094>] create_pt3_dma+0x124/0x380 [pt3_drv]
[ 259.286775] [<f89f9dfd>] pt3_pci_init_one+0x81a/0x9d6 [pt3_drv]
003922
2012/07/17(火) 23:51:55.96ID:WWURYLeK〜call traceとか色々略〜
[ 259.287004] DMA: 133*4kB 58*8kB 42*16kB 31*32kB 11*64kB 0*128kB 2*256kB 0*512kB 0*1024kB 1*2048kB 0*4096kB = 5924kB
[ 259.287019] Normal: 1376*4kB 892*8kB 380*16kB 128*32kB 87*64kB 42*128kB 12*256kB 12*512kB 8*1024kB 1*2048kB 0*4096kB = 53216kB
[ 259.287034] 119699 total pagecache pages
[ 259.287036] 129 pages in swap cache
[ 259.287039] Swap cache stats: add 597, delete 468, find 192/225
[ 259.287042] Free swap = 906272kB
[ 259.287044] Total swap = 907260kB
[ 259.291086] 227232 pages RAM
[ 259.291090] 0 pages HighMem
[ 259.291092] 5403 pages reserved
[ 259.291094] 184603 pages shared
[ 259.291096] 111581 pages non-shared
[ 259.291100] fail allocate consistent. 10
[ 259.291209] PT3: fail create dma.
[ 259.293760] pt3-pci: probe of 0000:05:00.0 failed with error -5
[ 268.595407] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
0040tomy ◆CfWlfzSGyg
2012/07/17(火) 23:53:00.79ID:AiZyUWxQなるほど。じゃあ本格的に動くのはまだまだ先だね。
>4096+0, 4096+2048の場合が最初の方にあります
アドレスは合わないんだよね。
たしかに
addr=00000010 value=11000はあるんだけど、
その後に0意外を書くのがaddr=00000010にvalue=117faを書いているんで。
I2Cの初期化の一番初めを書くと、
こんな感じ
qemuでPT1pci_mmio_writel2がbar[1]側、
PT1pci_mmio_writel/PT1pci_mmio_readbがbar[0]側のエミュレータ部。
PT1pci_mmio_writel2: (00000000)addr=00000800 value=8c882435
PT1pci_mmio_writel2: (00000000)addr=00000804 value=888e8c88
PT1pci_mmio_writel2: (00000000)addr=00000808 value=88ecc888
PT1pci_mmio_writel2: (00000000)addr=0000080c value=4ec88888
ここまでがI2C情報
PT1pci_mmio_writeb2: (00000000)addr=00000810 value=53
PT1pci_mmio_writeb2: (00000000)addr=00000811 value=0
PT1pci_mmio_readb: (00000000)addr=00000014
PT1pci_mmio_writel: (00000000)addr=00000010 value=10000
ここがI2C実行
SDKに従ってデコードすると
(I_DATA_H)(I_CLOCK_H)(I_DATA_L)(I_CLOCK_L)220301(I_DATA_L)(I_CLOCK_H)(I_DATA_H)(I_END)
ってところ。
ただその後やたら長い命令があるんでまだ解析中。
0041login:Penguin
2012/07/18(水) 00:56:20.24ID:ScyNpE2g0042login:Penguin
2012/07/18(水) 05:54:41.12ID:2ncmjvxY0043login:Penguin
2012/07/18(水) 06:08:05.96ID:l3kAfJcc0045login:Penguin
2012/07/18(水) 07:47:20.29ID:l3kAfJccわかりやすい例えどうもです
これからが険しい本番ってことね・・・
0046login:Penguin
2012/07/18(水) 10:46:49.70ID:Bfiu7NGx>4096+0, 4096+2048の場合が最初の方にあります
すみません私のタイプミスでした。
SDKからコピペすると
startAddress[0] = 4096 + ( 0);
startAddress[1] = 4096 + (2042);
です。
なのでアドレス17faはSDK通りですね。申し訳ない
また、上記2つのアドレスを使う場合はI2C命令をbar[1]にコピー?設定?せず実行してますね。
SDKのコメントではアドレス4096を実行するのは復調ICの初期化のためのようです。
アドレスがbar[1]+0x800からのオフセットだとすると、
bar[1]の範囲外に初期化用の命令がセットされてるorセットしないといけない?
>>38-39
連続した1.5MB程度の物理メモリの確保x32回に失敗してるみたいです。
1.5MB,32回はSDK通りの数字のつもりですが、大きすぎるのかもしれません。
32bitの結果も踏まえて見直してみますね。
0047login:Penguin
2012/07/18(水) 13:43:46.90ID:AnFdWmQ0ttp://www.oreilly.co.jp/books/4873112532/
0048login:Penguin
2012/07/18(水) 20:35:20.07ID:3rbsP2zK定数をtypoしてました><
Debianのkernelだとたまたま同じ値だったので動いてたみたいです。
もう一度試してもらえますでしょうか
http://www1.axfc.net/uploader/Sc/so/363300
変更点:
BSチューナーの方も地上波チューナーと同じ状態になりました。
ただ、エラーがガンガン増えていくのも同じですw
周波数の計算ミスってるのか単純にSDKのコピーだとこの辺が限界なのか。
0049login:Penguin
2012/07/18(水) 21:43:47.57ID:Mkp80VeM005022
2012/07/18(水) 21:45:03.44ID:cRpV/l7P[ 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
005122
2012/07/18(水) 21:59:56.19ID:cRpV/l7Pdiff 取ってみてログがほぼ同じだったので、差分点だけ書き込みます。
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
0052login:Penguin
2012/07/18(水) 22:35:24.33ID:3rbsP2zKなんどもありがとうございます。
32bitの方は想定通りですね。
64bitの方は失敗してますね、なんだろう。
32bitと同じ処理のはずなんですが、32bitと64bitでなにが変わるのかよくわかってません
>>49
謎のアドレス0x1000と0x17faの実行で初期化されてるという淡い期待と共に
動けばラッキーくらいの気持ちなのです
ただ、>>49さんのおっしゃる事ももっともで、これ以上お付き合い願うのは
心苦しく思いますのでソースのアップは進展があったときに行おうと思います。
お手間を取らせるだけになってしまい申し訳ありませんでした。
32bitの方でしたら”td/td”が動くはずです。
テストモード(LFSR)でDMA転送を行うx4チャンネル
チューナーのチャンネル設定をしてDMA転送するx2チャンネル
というコードになってます。
チューナーのチャンネル設定してDMAの方は先にも書きましたが
0x47で始まるTSパケットっぽいなにかが取れる事もありますし、
空っぽのファイルになることもあります
中途半端な現状ですが、遊んでいただけたらと思います
0053login:Penguin
2012/07/18(水) 23:28:33.73ID:cRpV/l7P何となく構造体のパディングとか、
無宣言の関数の型の食い違い
あたりがありがちかなぁとかなんとなく思ってます。
週末ちょっと見てみます。
オモチャをつっつける状態になってる旨了解です。
0054login:Penguin
2012/07/19(木) 21:26:45.82ID:LowodA980055login:Penguin
2012/07/19(木) 22:50:31.85ID:xoK+pqri0056tomy ◆CfWlfzSGyg
2012/07/19(木) 23:15:46.11ID: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 ここは特殊?
0057tomy ◆CfWlfzSGyg
2012/07/19(木) 23:16:25.95ID:Uucnh6+g(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)
0058tomy ◆CfWlfzSGyg
2012/07/19(木) 23:17:30.98ID:Uucnh6+g(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)
0059tomy ◆CfWlfzSGyg
2012/07/19(木) 23:18:44.83ID:Uucnh6+g(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)
0060tomy ◆CfWlfzSGyg
2012/07/19(木) 23:19:53.02ID:Uucnh6+g(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)
0061tomy ◆CfWlfzSGyg
2012/07/19(木) 23:20:39.97ID:Uucnh6+g(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)
0062login:Penguin
2012/07/19(木) 23:24:32.67ID:Uucnh6+g0x11,0x13,0x10,0x12は判るんだけど、
0x41とか0x08とか…この辺りが疑問かな。
特に
917f63008eあたりがREADなんだけど、何も読んでいないっていうのが???な部分。
0063login:Penguin
2012/07/20(金) 15:38:54.07ID:2E+mvotnダメでしょ
0064login:Penguin
2012/07/20(金) 16:18:08.77ID:BmNXFxLA0065login:Penguin
2012/07/20(金) 20:05:45.29ID:1v0oO0fDだめだったorz
あとは何を直せばいいの?
epgdumpのどこか?
0066login:Penguin
2012/07/20(金) 20:34:07.98ID:2jRA8nsnSDKとすり合わせて見ました。ほぼ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)
0067login:Penguin
2012/07/20(金) 20:35:11.87ID:2jRA8nsn// 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)
0068login:Penguin
2012/07/20(金) 20:36:49.12ID:2jRA8nsnTC_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)
0069login:Penguin
2012/07/20(金) 20:37:30.11ID:2jRA8nsnTC_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)
0070login:Penguin
2012/07/20(金) 20:38:16.68ID:2jRA8nsnTC_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)
0071tomy ◆CfWlfzSGyg
2012/07/20(金) 22:26:08.02ID:eE97wBL4//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以外のデバイスかな?
0072login:Penguin
2012/07/20(金) 23:06:00.50ID:2jRA8nsnQM1D1C0042.hの157行目から177行目だと思うんだけど
その辺は全部WriteTunerなんですよね。
その後はSDK通りになってるので不思議です。
命令の数は一致してるのでデコードの間違いを疑ったんですが、
見直されてどうでしたでしょうか?
やはりまったく別のデバイスを制御してるんですかね。
0073tomy ◆CfWlfzSGyg
2012/07/20(金) 23:06:40.37ID:eE97wBL4>>I2Cの仕組みからすると、0x91ってREADだし、
ってところは私の勘違い。
qemuのデコーダーのコードを読んだら、
READのI_DATA_H_NOPを数えていたからそんなアドレスになっていただけだね。
なので、READ時はI_DATA_H_NOPがNACKでI_DATA_L_NOPがACKだね。
それを踏まえてデコーダーを入れてみる。
0074tomy ◆CfWlfzSGyg
2012/07/21(土) 00:03:20.79ID:VZJBPEPv22: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
0075tomy ◆CfWlfzSGyg
2012/07/21(土) 00:04:17.27ID:VZJBPEPv22: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
0076tomy ◆CfWlfzSGyg
2012/07/21(土) 00:04:55.25ID:VZJBPEPv26: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
0077tomy ◆CfWlfzSGyg
2012/07/21(土) 00:05:31.65ID:VZJBPEPv26: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
0078tomy ◆CfWlfzSGyg
2012/07/21(土) 00:06:05.53ID:VZJBPEPv22: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)
0079tomy ◆CfWlfzSGyg
2012/07/21(土) 00:08:02.03ID:VZJBPEPvTuner Read時は20msec待たなければならない。
>>66
ソースを読み込んでいないんで聞きたいけど、
Tuner Readの値は何を期待しているのかは読めてる?
もしくは実機でどんな値が読める?
0080login:Penguin
2012/07/21(土) 07:39:00.44ID:HlmTCoVv22: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でないです。
0081login:Penguin
2012/07/21(土) 07:56:31.66ID:HlmTCoVv>>79
MX側(T0,T1)のReadは
1つ目(MxL301RF 343行目)が読んだ値Aに対して(A & 0x0c)が0でない
2つ目(MxL301RF 357行目)が(A & 0x03)が0でないです。
この1つ目、2つ目は同じレジスタの値を読んでるようなので
0x0Fを期待しているようです。
0082tomy ◆CfWlfzSGyg
2012/07/22(日) 21:50:20.02ID:1MqHo+zKBSはTSIDのロックをしていなさそうなんで、動かないけど、
もしかしてこのドライバ地デジだったら動く?
BSは
td/td.c
を見て疑問だったんだけど、rec_open()で渡しているチャネルが違う気がする。
見間違いじゃなければSDKのEARTH_PT3.hのch.を渡しているんだよね?
関東にいる人であれば77あたり(NHK)でテスト出来る?
0083login:Penguin
2012/07/23(月) 12:00:20.31ID:rSB5bAEFTSID,TMCCを理解してなかったです。
#SDKに出てくるレイヤーも意味わかってません
TMCCからTSID取得して設定するようにしたところBSで
エラーパケットなく受信できるようになりました。
私は関東じゃないのでチャンネル番号違いますが、NHKに合わせたところ
地デジの方もエラーパケットなく受信できました。
ただし、私の受信環境が悪いのかエラーパケットが出ることもあります。
http://www1.axfc.net/uploader/Sc/so/364469
0084login:Penguin
2012/07/23(月) 20:52:01.47ID:VLxEK967BSの試験は現状出来ません。
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に食わせた結果を張り付けます。
0085login:Penguin
2012/07/23(月) 20:56:02.62ID:VLxEK967◆/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
008683
2012/07/23(月) 21:29:12.05ID:8LCgeLyWこれで治るといいな。。。
パッチファイルだけど微妙に文字数足りないのでアップローダで
http://www1.axfc.net/uploader/Sc/so/364564
0087login:Penguin
2012/07/23(月) 21:39:19.92ID:8LCgeLyWどうもです
ffmpegのログの見方が分からないんですが
NHKの方はOKって事なのかな
エラーパケットが少ないけどあるのが気になりますね
まだ手順が足りないのかな(アンプの設定?)
0088login:Penguin
2012/07/23(月) 21:39:53.25ID:VLxEK96764bitでロードできました。
$ 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
0089login:Penguin
2012/07/23(月) 21:50:35.08ID:VLxEK96732bit版の地デジ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で多少エラーパケットが出ている)
0090login:Penguin
2012/07/23(月) 22:07:37.57ID:VLxEK967>>87
vlcで地デジNHKの再生OKです。
td/td.c の for ループを単純に100から10000に変更して
60MBのファイルを作りました。
0091tomy ◆CfWlfzSGyg
2012/07/23(月) 23:53:09.59ID:69j/JEb832Bit版はOKっぽいんで、
recpt1がそのまま動く様に
可能だったらpt1と同じFREQUENCYにしてくれるとうれしいかも。
後はファームの書き込みと、64bit版が動けばになるかな。
0092login:Penguin
2012/07/24(火) 00:04:32.20ID:wWpKM/s3recpt1の再コンパイルとかが不要にできるようになったらいい希ガス。
pt1のドライバ側も更新必要だろうけど。
0093login:Penguin
2012/07/24(火) 00:52:28.66ID:mgrasbZy0094login:Penguin
2012/07/24(火) 01:27:47.38ID:oEQoLySX1066 {{&bs_21_step1, &bs_com_step2, &bs_21_step3}},
1067 {{&bs_23_step1, &bs_com_step2, &bs_21_step3}},
0095login:Penguin
2012/07/24(火) 01:54:04.21ID:oEQoLySXスレ汚しごめん
0096login:Penguin
2012/07/24(火) 20:04:59.41ID:J0qN6EPLまいどどうもです
私も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利用してる人いるのかな?
http://www1.axfc.net/uploader/Sc/so/364807
0097login:Penguin
2012/07/24(火) 20:07:29.35ID:q7DEz8IrPT-3@linux、今どのあたり?
0098login:Penguin
2012/07/24(火) 20:33:01.16ID:P8X6dSJS64bit版で動作確認できました。おつかれさまです。
recpt1で遊んでみようと思います。
0099tomy ◆CfWlfzSGyg
2012/07/24(火) 21:34:41.22ID:PS4koYMvisdb_t_conv_table[]の最後の"151"
を自分の好きに変えればOK。
>>93
isdb_t_conv_table[]を外出しのconfigファイルかなにかにすれば可能だけど?
そもそもスロットある程度固定になっているはず。
>>96
了解です。
地上波のoffsetはどうなんでしょ?
使っている人〜
010096
2012/07/24(火) 21:53:35.73ID:J0qN6EPLrecpt1で動作確認できる程度にはなってきてます
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);
0101login:Penguin
2012/07/24(火) 22:11:51.20ID:TtupOqPYトランスポートストリームIDからノードとスロットが算出できるのでrecpt1で正式に定義してもらうと
フロントエンドでBS・CSの局編成再編に追従できるようになります。
■ このスレッドは過去ログ倉庫に格納されています