[Q]
以下のデータをFeliCa Liteに書き込むと、Nexus7はNDEFとして認識してくれました。
[00] 10 04 01 00 0D 00 00 00 |........|
. 00 00 01 00 00 70 00 93 |.....p..|
[01] 91 02 0A 48 73 12 D1 02 |...Hs...|
. 04 61 63 01 01 30 00 5A |.ac..0.Z|
[02] 17 45 01 61 70 70 6C 69 |.E.appli|
. 63 61 74 69 6F 6E 2F 76 |cation/v|
[03] 6E 64 2E 77 66 61 2E 77 |nd.wfa.w|
. 73 63 30 43 00 10 4A 00 |sc0C..J.|
[04] 01 10 10 0E 00 30 10 26 |.....0.&|
. 00 01 01 10 45 00 09 31 |....E..1|
[05] 32 33 34 35 36 37 38 39 |23456789|
. 10 03 00 02 00 20 10 0F |..... ..|
[06] 00 02 00 08 10 27 00 04 |.....'..|
. 31 32 33 34 10 20 00 06 |1234. ..|
[07] AA BB CC DD EE FF 10 49 |.......I|
. 00 06 00 37 2A 00 01 20 |...7*.. |
[08] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[09] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0A] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0B] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0C] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0D] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0E] FF FF FF FF FF FF FF FF |........|
. FF FF FF FF FF FF FF FF |........|
[80] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[81] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[82] 01 27 00 5D 19 FE 4B 78 |.'.]..Kx|
* 12 34 00 00 00 00 00 00 |.4......|
[83] 01 27 00 5D 19 FE 4B 78 |.'.]..Kx|
* 00 F0 00 00 02 06 03 00 |........|
[84] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[85] 88 B4 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[86] 00 01 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[87] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[88] FF:FF FF:01:07 00 00 00
.. 00 00 00 00 00 00 00 00
.:read & write, *:read-only
しかし、次のデータを書き込むとNDEFとして認識しませんでした。
[00] 10 04 01 00 0D 00 00 00 |........|
. 00 00 01 00 00 71 00 94 |.....q..|
[01] 91 02 0A 48 73 12 D1 02 |...Hs...|
. 04 61 63 01 01 30 00 5A |.ac..0.Z|
[02] 17 46 01 61 70 70 6C 69 |.F.appli|
. 63 61 74 69 6F 6E 2F 76 |cation/v|
[03] 6E 64 2E 77 66 61 2E 77 |nd.wfa.w|
. 73 63 30 44 00 10 4A 00 |sc0D..J.|
[04] 01 10 10 0E 00 31 10 26 |.....1.&|
. 00 01 01 10 45 00 0A 31 |....E..1|
[05] 32 33 34 35 36 37 38 39 |23456789|
. 30 10 03 00 02 00 20 10 |0..... .|
[06] 0F 00 02 00 08 10 27 00 |......'.|
. 04 31 32 33 34 10 20 00 |.1234. .|
[07] 06 AA BB CC DD EE FF 10 |........|
. 49 00 06 00 37 2A 00 01 |I...7*..|
[08] 20 00 00 00 00 00 00 00 | .......|
. 00 00 00 00 00 00 00 00 |........|
[09] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0A] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0B] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0C] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0D] 00 00 00 00 00 00 00 00 |........|
. 00 00 00 00 00 00 00 00 |........|
[0E] FF FF FF FF FF FF FF FF |........|
. FF FF FF FF FF FF FF FF |........|
[80] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[81] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[82] 01 27 00 5D 19 FE 4B 78 |.'.]..Kx|
* 12 34 00 00 00 00 00 00 |.4......|
[83] 01 27 00 5D 19 FE 4B 78 |.'.]..Kx|
* 00 F0 00 00 02 06 03 00 |........|
[84] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[85] 88 B4 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[86] 00 01 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[87] 00 00 00 00 00 00 00 00 |........|
* 00 00 00 00 00 00 00 00 |........|
[88] FF:FF FF:01:07 00 00 00
.. 00 00 00 00 00 00 00 00
.:read & write, *:read-only
さあ、なぜでしょう?
※ヒント:私もまだわかっていません・・・。
2つのNDEFレコードがあり、そのうち後者のサイズを+1したのだ。
Type3 Tagヘッダの長さも+1され、チェックサムも+1されてる。
成功している方は、こういう風に見えている。
# NFC data set information:
Current message size: 112 bytes
Maximum message size: 208 bytes
NFC data set access: Read & Write
# Handover Select record:
type: "Hs"
payload length: 10 bytes
payload data:
[0000] 12 D1 02 04 61 63 01 01 |....ac..|
[0008] 30 00 |0. |
# Wi-Fi Simple Configuration record:
ID: "0"
type: "application/vnd.wfa.wsc"
payload length: 69 bytes
payload data:
[0000] 43 00 10 4A 00 01 10 10 |C..J....|
[0008] 0E 00 30 10 26 00 01 01 |..0.&...|
[0010] 10 45 00 09 31 32 33 34 |.E..1234|
[0018] 35 36 37 38 39 10 03 00 |56789...|
[0020] 02 00 20 10 0F 00 02 00 |.. .....|
[0028] 08 10 27 00 04 31 32 33 |..'..123|
[0030] 34 10 20 00 06 00 1B 8B |4. .....|
[0038] B4 39 69 10 49 00 06 00 |.9i.I...|
[0040] 37 2A 00 01 20 |7*.. |
増やしたのは、Wi-Fi Simple Configuration recordの方。
こんなデータ(Excel。分析アドインがいると思う)を書き込んでるつもり。
NXPのTagInfoアプリを使って読んでいる。
そっち側の制限かと思ったが、そもそもAndroidがNDEFとして見てくれない。
いや、その言い方は正確じゃないな。
正しくは、メッセージがあるNDEFとして見てくれない、だ。
logcatで、NfcDispatcherはNDEFと思っているけれども、messageがnullだといっていたのだ。
intentもNDEFとして上がってこないのよねぇ。。。
自分で見る限りは大丈夫なように見えるけど、なんかダメなんだろう。
Androidって、NDEFの解析っぽいのはlibnfc-nxpでやってるせいか、あまりログが出ないのだな。
ペイロードの解析はしないと思うので、間違っているならNDEFレコードのヘッダ部分か、Type3のヘッダ部分だろう。
ちなみに、データサイズを-1しても-5くらいしてもOKだが、+1や+2したらダメだった。
ちょうどこのOKデータが境目なのだ。
なんか、ひどくくだらないところを見落としてるんだろうな・・・。
正解者には何も出ませんが、助けてくれー、というところです。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。