トップページ⇒linux
984コメント437KB

【視聴・録画】Linuxでテレビ総合7【デジタル/アナログ】

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2012/07/15(日) 18:14:10.25ID:OJrUKUSQ
Linuxでのテレビ視聴・録画に関して、デジタル/アナログ問わず扱うスレッド

【関連スレ】
【自家製】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:Penguin2012/07/15(日) 18:22:53.72ID:OJrUKUSQ
PT1 driver
http://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:Penguin2012/07/15(日) 18:35:22.18ID:Ih4Jgftx
PT3 driver ・・・ Linuxは非対応。今後も望みなし。あきらめれ
0004login:Penguin2012/07/15(日) 18:37:40.49ID:OJrUKUSQ
前スレで話題になったもの
epgrec 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:Penguin2012/07/15(日) 18:38:27.23ID:Ih4Jgftx
>>1-4
はい。問題ありません。
0006login:Penguin2012/07/15(日) 20:41:48.33ID:gxNLnTkn
>>1
乙です
0007login:Penguin2012/07/16(月) 00:40:06.07ID:98eF9WTk
前スレ最後のほうのドライバ談義を見てるとLinuxドライバにはまったく期待できそうにないね
(ドライバつくれない自分が言うのもなんだけど)
まあPT2でまったく問題ないからいいけど新規はWindows鯖買えってことだねえ
0008login:Penguin2012/07/16(月) 01:05:33.11ID:9tk/ab5u
>>1乙
0009login:Penguin2012/07/16(月) 01:51:54.07ID:yCicOYRm
PT3はドライバそのものより、
ドライバを作る過程でやったことを
公開して欲しい。
0010login:Penguin2012/07/16(月) 01:56:47.46ID:1yowMHLZ
いつからここは周回遅れの間抜けが自ら馬鹿を晒すスレになったんだよ
0011login:Penguin2012/07/16(月) 02:02:43.06ID:98eF9WTk
と馬鹿が申しております
0012login:Penguin2012/07/16(月) 02:04:58.47ID:1yowMHLZ
お、自分のことを言われてるのは解るんだな
よしよしw
0013login:Penguin2012/07/16(月) 03:03:19.97ID:98eF9WTk
ともあれPT3ドライバが出ないことにはな
0014login:Penguin2012/07/16(月) 06:23:55.95ID:wyYT4kLI
PT3って今こんくらい?
0015login:Penguin2012/07/16(月) 08:16:14.77ID:VIs4rRmO
>>9

やったこと:
SDKをCに焼き直しとLinux用に翻訳
現状:
FPGAのレジスタ読んでバージョンチェックなどはできる
テストモードでPT3->PCへDMA転送できる
チューナーの初期化処理はタイミングの問題なのかうまくいくときといかないときがある
チューナーのPLLがロックしない

I2Cの命令領域とデータ領域があるように書いてあるけど
ソース読むとデータ領域に命令書いてるように読める
だれか分かる人教えて

PT1のMakefileなど使いまわさせてもらってます。感謝
http://www1.axfc.net/uploader/Sc/so/362623
0016login:Penguin2012/07/16(月) 10:15:32.42ID:XvZMbo4g
>>10
罵倒してないで、自分が何をしたか言ってごらんよ。
0017login:Penguin2012/07/16(月) 11:39:31.18ID:0TJnGGO9
何も出来ないからやってるだけだからそっとしといてあげて
0018login:Penguin2012/07/16(月) 11:39:38.17ID:bu+f+Xt2
チェリーのツリーをカットしました
0019login:Penguin2012/07/16(月) 13:21:56.57ID:CSuii1D1
「悪しざまに罵れば誰かが反発して何かお宝が出てくるかもしれない。」

卑屈でひねくれた性格の人は、そういうおねだりの仕方をする。
0020login:Penguin2012/07/16(月) 13:54:06.60ID:xtdT1Nk7
それ以前にPT2の在庫を抱えたクソ業者の営業工作でしょw
0021login:Penguin2012/07/16(月) 17:55:42.09ID:kMfCiuX5
PT2の在庫なんてあんの?だいぶ前に製造中止になってんのに?
そんな昔のやつがまだ在庫であるなんて在庫管理がめちゃくちゃなんじゃないの?
データベース使ってんの、使ってないでしょ。
今時データベースも使ってないなんて。自転車操業でしょ。
そんな管理体制だからクソ業者って言われんだよ。
人を呪わば穴二つ。チョンチョン、
0022login:Penguin2012/07/16(月) 20:30:37.47ID:RJZOFPFb
>>15乙 この dmesg は想定どおり?
[ 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:Penguin2012/07/16(月) 22:39:31.15ID:VIs4rRmO
>>22
バグです
報告ありがとう

仕事が忙しくなりそうなんでボチボチ進める予定です
他にもドライバ作ってる方が居るようなので情報共有できればと
現状のものをそのままアップしました
凡ミスがまざってたりしますが、
なにか気づかれた点があれば報告していただけると嬉しいです


0024login:Penguin2012/07/16(月) 22:48:12.81ID:RJZOFPFb
>>22
了解です。環境情報出した方が良い?
鼻毛サーバ+Ubuntu-12.04です

デバッグコード山盛りで場合分けしやすめで、
コード書いちゃってとりあえず作る。
という方針で行き当たりばったりでみんなでデバッグでもいいんじゃない。
これやってみて。という依頼だったらいくらでも協力しますよ

0025tomy ◆CfWlfzSGyg 2012/07/16(月) 22:48:55.26ID:vT157pp6
>>15
とりあえず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:Penguin2012/07/16(月) 23:38:05.02ID:VIs4rRmO
>>25
>0x14ってステータスだけじゃないのかな。
リトルエンディアンならreadbでレジスタ(4byte)の下位1byteが読めるので
readbでもreadlでも必要な値はとれるんだと思います。
0027login:Penguin2012/07/16(月) 23:56:36.75ID:VIs4rRmO
連投すみません

>>24
すみません、再現できないです><
デバッグ用のコード用意するので時間ください
私の環境はDebian wheezyでKernel 3.2.0です

>>25
ログありがとうございます
とても参考になります
0028login:Penguin2012/07/17(火) 17:43:43.47ID:hTqPCJbf
>>15

FPGAのバージョンが古い場合。ちなみに、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:Penguin2012/07/17(火) 20:41:05.42ID:53Pl1vvI
>>24
デバッグ用のコード入れてみました

>>28
どうもです
現状ではLinuxでFPGAのアップデートはできないと思います
SDKの非公開な部分を使うようなので>>25さんのように
本格的な解析が必要になるかと

前回分との差:
DMAdescriptor構築関数にデバッグ用コード挿入
その他細かいバグ修正+デバッグコード挿入

I2Cのエラーは出なくなりました
地上波チューナーはPLLのロックに成功してるみたい
BSチューナーはロックしない

本当にPLLロックしてるのか確認する方法を考え中です

http://www1.axfc.net/uploader/Sc/so/363071
0030login:Penguin2012/07/17(火) 21:12:10.33ID:L70SEarF
PT3って今そこらへん?
0031login:Penguin2012/07/17(火) 21:25:38.37ID:45/4V1e7
FPGAはWin8RPとか限定フリー配布してるのを実機に入れてアップデートするしかないかもね
0032222012/07/17(火) 21:33:47.51ID:WWURYLeK
>>29 乙です
型違いって言われてコンパイル通りませんでした。
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:Penguin2012/07/17(火) 21:39:32.06ID:WWURYLeK
dmesg 1/2
[ 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:Penguin2012/07/17(火) 21:41:35.23ID:WWURYLeK
dmesg 2/2
[ 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:Penguin2012/07/17(火) 21:55:33.40ID:53Pl1vvI
>>32-34
まいどどうもです

PT3:device[0]= (null)は正常なログです

DMA用メモリを一括で確保してデータ書き込んでるんですが、
その途中でエラーになってるみたいです
ロジックのバグっぽいので見直してみます


チューナーPLLの方はTSっぽいデータが抜けるんですが
レジスタ"TS Error Packet Counter"の値ががんがん増えていくので
何かが足りないみたいです><
0036tomy ◆CfWlfzSGyg 2012/07/17(火) 22:11:37.33ID:AiZyUWxQ
>>29

>地上波チューナーはPLLのロックに成功してるみたい

ってあるけど、I2Cの初期化とか設定はどこかに載ってる?
NDA部分だと思っていたんだけど。

>リトルエンディアンならreadbでレジスタ(4byte)の下位1byteが読めるので
>readbでもreadlでも必要な値はとれるんだと思います。

これは私の勘違い。
知っていたら教えてほしいんだけど、0x10のスタートアドレスって何?
I2Cのデータが取れはじめて見始めているけど、このアドレスとあまり関係ない位置にI2Cのデータを書いているみたいだけど(bar[1]の0x800番地以降)。

0037login:Penguin2012/07/17(火) 22:58:38.17ID:53Pl1vvI
>>36
私は素人に毛が生えた程度なので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]からはみ出ますよね
0038222012/07/17(火) 23:50:20.80ID:WWURYLeK
>>35
Ubuntu 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]
0039222012/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
>>29
なるほど。じゃあ本格的に動くのはまだまだ先だね。

>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:Penguin2012/07/18(水) 00:56:20.24ID:ScyNpE2g
フラグじゃないの?
0042login:Penguin2012/07/18(水) 05:54:41.12ID:2ncmjvxY
PT3って今プロ野球編?
0043login:Penguin2012/07/18(水) 06:08:05.96ID:l3kAfJcc
ドライバとかの下回りについてはよくわからんのだが、登山に例えると何合目くらいまでに来てるんです?
0044tomy ◆CfWlfzSGyg 2012/07/18(水) 07:17:56.85ID:tmv5e8WH
>>43
正直に言うと富士山五合目駐車場でマイカー(SDK)を降りたところ。
0045login:Penguin2012/07/18(水) 07:47:20.29ID:l3kAfJcc
>>44
わかりやすい例えどうもです
これからが険しい本番ってことね・・・
0046login:Penguin2012/07/18(水) 10:46:49.70ID:Bfiu7NGx
>>40
>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:Penguin2012/07/18(水) 13:43:46.90ID:AnFdWmQ0
オライリー本のEbook北
ttp://www.oreilly.co.jp/books/4873112532/
0048login:Penguin2012/07/18(水) 20:35:20.07ID:3rbsP2zK
>>38-39
定数をtypoしてました><
Debianのkernelだとたまたま同じ値だったので動いてたみたいです。
もう一度試してもらえますでしょうか
http://www1.axfc.net/uploader/Sc/so/363300

変更点:
BSチューナーの方も地上波チューナーと同じ状態になりました。
ただ、エラーがガンガン増えていくのも同じですw
周波数の計算ミスってるのか単純にSDKのコピーだとこの辺が限界なのか。
0049login:Penguin2012/07/18(水) 21:43:47.57ID:Mkp80VeM
解析待ちであろうという希ガス・・・
0050222012/07/18(水) 21:45:03.44ID: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
0051222012/07/18(水) 21:59:56.19ID: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
0052login:Penguin2012/07/18(水) 22:35:24.33ID:3rbsP2zK
>>50-51
なんどもありがとうございます。
32bitの方は想定通りですね。
64bitの方は失敗してますね、なんだろう。
32bitと同じ処理のはずなんですが、32bitと64bitでなにが変わるのかよくわかってません

>>49
謎のアドレス0x1000と0x17faの実行で初期化されてるという淡い期待と共に
動けばラッキーくらいの気持ちなのです

ただ、>>49さんのおっしゃる事ももっともで、これ以上お付き合い願うのは
心苦しく思いますのでソースのアップは進展があったときに行おうと思います。
お手間を取らせるだけになってしまい申し訳ありませんでした。

32bitの方でしたら”td/td”が動くはずです。
テストモード(LFSR)でDMA転送を行うx4チャンネル
チューナーのチャンネル設定をしてDMA転送するx2チャンネル
というコードになってます。
チューナーのチャンネル設定してDMAの方は先にも書きましたが
0x47で始まるTSパケットっぽいなにかが取れる事もありますし、
空っぽのファイルになることもあります
中途半端な現状ですが、遊んでいただけたらと思います
0053login:Penguin2012/07/18(水) 23:28:33.73ID:cRpV/l7P
>>52
何となく構造体のパディングとか、
無宣言の関数の型の食い違い
あたりがありがちかなぁとかなんとなく思ってます。
週末ちょっと見てみます。

オモチャをつっつける状態になってる旨了解です。
0054login:Penguin2012/07/19(木) 21:26:45.82ID:LowodA98
recpt1 epgrec epgdumpを使っているときCSのSIDが変わらずチャンネルが変わったときは、config.phpを直すだけで大丈夫?
0055login:Penguin2012/07/19(木) 22:50:31.85ID:xoK+pqri
つdb更新
■ このスレッドは過去ログ倉庫に格納されています