2012/06/30

LLCPはVersion 1.1にすべきか

ずっとLLCPの実装をしているが、私はVersion 1.0の実装をしてきた。
しかし、nfcpyが1.1だし、NFC Forumでも1.0はdeprecated(使われてない)になってる。

うーーーん、作ろうとしているものがdeprecatedな仕様に沿っていても、誰も嬉しくないよな。。。。。

 

あきらめて、1.1の実装をしようかと思う。
サービス検索関係の実装だけやれば、たぶんいいはず。

いいはずだけど、ちょっと精神的にダメージがあるねえ。


いや、待て。

Parameter ListでSN(Service Name)を渡す、という手があるんじゃないか?

・・・だめだった。
いやいや、まだ待て。
そもそも、SNEPでやりたいんなら、llcp-test-serverじゃなくて、snep-test-serverでやればいいんじゃないのか?

 

activated as p2p target in 424 kbps passive mode
llc cfg {'recv-lto': 2000, 'send-miu': 128, 'send-agf': True, 'send-lto': 1000, 'send-lsc': 2, 'recv-miu': 1024, 'send-wks': 17, 'rcvd-ver': (1, 0)}
LLCP Link established, I'm the DEP Target
Local LLCP Settings
  LLCP Version: 1.1
  Link Timeout: 1000 ms
  Max Inf Unit: 1024 octet
  Service List: 0000000000010011
Remote LLCP Settings
  LLCP Version: 1.0
  Link Timeout: 2000 ms
  Max Inf Unit: 128 octet
  Service List: 0000000000010001
snep server bound to port 4
snep server bound to port 16
RECV  1 ->  1 CONN MIU=128 RW=1 SN=urn:nfc:sn:snep
DLC (4,None) LISTEN enqueue CONNECT PDU
accepting CONNECT from SAP 1
DLC (4,None) LISTEN dequeue CC PDU
SEND  4 ->  1 CC   MIU=128 RW=2
new data link connection (4 <=== 1)
serving snep client on remote sap 1
RECV  1 ->  1 I    N(S)=0 N(R)=0 LEN=5 SDU=75656e6f00
enqueue
SEND  0 ->  0 SYMM
Exception in thread Thread-1:
・・・・

 

CCが返ってきた!
自作LLCPがI PDUでデータを送った!
しかし、SYMMを返したところでnfcpyが例外で落ちてしまった。
うーむ。

 

とりあえずわかったことは、

  • nfcpyはSNEPをサポートするけど、SAP=4という形ではCONNECTできないみたい
  • llcp-test-serverはSNEPが来るとNGだが、snep-test-serverはOK
  • RRじゃなくてSYMMを返してくる
  • なんか落ちた

だ。
あ、データ送信はSNEPでやったわけじゃないので、それで落ちたのかな。

まあ、もうちょっとだな。
でも、1.1への対応もやりたいですな。


もしかすると、snep-test-serverサンプルを使うと、SAP=4でもできるのでは?

と思ってやったが、うまくいかん。
うまくいかんのが、コマンド的にだめなのか、それ以外の要因なのかがわからない。

「それ以外」というのは、R/Wの位置関係だ。
うちでは、PaSoRi RC-S370とRC-S620/Sで動作させている。
nfcpyはPaSoRiで、自作LLCPはRC-S620/Sだ。
やっていてわかったのだが、両者の位置関係がかなり微妙で、通信をしていると切られてしまうのだ。

あとですな、snep-test-server実行して失敗で終わると、その次がR/Wのアプリケーションエラーになって動かせなくなるのだ。
たぶん、デバイスをリセットすれば直るんだろうけど、pn53xの上で動く前提になっているnfcpyでそれをやるのは難しそうだ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。