2回戦。
nfcpyサンプルのllcp-test-clientは、引数でテスト番号を指定して実施できるようだ。
やってみよう。
Usage: llcp-test-client.py [options]
Options:
-h, --help show this help message and exit
-t N, --test=N run test number <N>
-q be quiet, only print errors
-d MODULE print debug messages for MODULE
-f LOGFILE write log messages to LOGFILE
--device=SPEC use only device(s) according to SPEC:
usb[:vendor[:product]] (vendor and product in hex)
usb[:bus[:dev]] (bus and device number in decimal)
tty[:(usb|com)[:port]] (usb virtual or com port)
--mode=MODE restrict mode to 'target' or 'initiator'
--cl-echo=SAP connection-less echo server address
--co-echo=SAP connection-oriented echo server address
--link-miu=MIU set maximum information unit size to MIU
--quirks=choice quirks mode, choices are 'android'
$ python llcp-test-client.py -t1
searching for a usable reader
searching for a usb bus reader
chipset is a PN533 version 1.48
using Sony RC-S370/P at usb:bus-0:\\.\libusb0-0002--0x054c-0x02e1
libusb0-dll:err [_usb_reap_async] timeout error
activated a p2p target in 424 kbps active mode
LLCP Link established, I'm the DEP Initiator
Local LLCP Settings
LLCP Version: 1.1
Link Timeout: 500 ms
Max Inf Unit: 1024 octet
Service List: 0000000000000011
Remote LLCP Settings
LLCP Version: 1.0
Link Timeout: 2000 ms
Max Inf Unit: 128 octet
Service List: 0000000000010001
Test 1: link activation, symmetry and deactivation
PASS
shutdown on local request
libusb0-dll:err [_usb_reap_async] timeout error
I was the Initiator
PASSっていってるから、OKなのかな?
自作側は、SYMMをしばらくやりとりしたあと、Link Deactivationで切断してる。
$ python llcp-test-client.py -t2
searching for a usable reader
searching for a usb bus reader
chipset is a PN533 version 1.48
using Sony RC-S370/P at usb:bus-0:\\.\libusb0-0002--0x054c-0x02e1
libusb0-dll:err [_usb_reap_async] timeout error
activated a p2p target in 424 kbps active mode
LLCP Link established, I'm the DEP Initiator
Local LLCP Settings
LLCP Version: 1.1
Link Timeout: 500 ms
Max Inf Unit: 1024 octet
Service List: 0000000000000011
Remote LLCP Settings
LLCP Version: 1.0
Link Timeout: 2000 ms
Max Inf Unit: 128 octet
Service List: 0000000000010001
Test 2: connection-less information transfer
socket recv buffer set to 10
libusb0-dll:err [_usb_reap_async] timeout error
shutdown on link disruption
FAIL: no connection-less echo server on peer device
I was the Initiator
Connectionlessのテストみたいだが、うちはClass 2のつもりなんだよ。
あ、GeneralBytesにOPT書いてないや。。。
書いてみたけど、あんまり関係なかった。
$ python llcp-test-client.py -t3
searching for a usable reader
searching for a usb bus reader
chipset is a PN533 version 1.48
using Sony RC-S370/P at usb:bus-0:\\.\libusb0-0002--0x054c-0x02e1
libusb0-dll:err [_usb_reap_async] timeout error
activated a p2p target in 424 kbps active mode
LLCP Link established, I'm the DEP Initiator
Local LLCP Settings
LLCP Version: 1.1
Link Timeout: 500 ms
Max Inf Unit: 1024 octet
Service List: 0000000000000011
Remote LLCP Settings
LLCP Version: 1.0
Link Timeout: 2000 ms
Max Inf Unit: 128 octet
Service List: 0000000000010001
Test 3: connection-oriented information transfer
socket recv window set 2
libusb0-dll:err [_usb_reap_async] timeout error
shutdown on link disruption
aborted by user
I was the Initiator
これは、自作側を途中で切断させた。
というのも、nfcpyが私の知らないPDUを送信したあと、ずっとSYMMをやりとりするだけになったからだ。
投げてきたPDUの番号は、0x09。
LLCP v1.0ではreservedなのだが、LLCP v1.1ではSNLになっている。
そう、Service Name Lookup、SDP関係のPDUだ。
いや、だからうちはv1.0だっていってるじゃないの!と思うけれども、どうしようもない。
そういえば、知らないPDUを受け取ったときはどうするんだろうね?
書いてあった。ignored by the receiverだと。
では、無視するようにしているから、まあ間違ってはいないのだな。
[D]06
[D]41
[D]08
[D]13
[D]fe
[D]75
[D]72
[D]6e
[D]3a
[D]6e
[D]66
[D]63
[D]3a
[D]73
[D]6e
[D]3a
[D]63
[D]6f
[D]2d
[D]65
[D]63
[D]68
[D]6f
urn:nfc.sn:co-echo
エコーするサービスってことなのかな。
検索すると、nfc-toolsに引っかかったので、そういうのがあるのかも。
NFC Forumのページにはなかった。
うーむ、この調子だとテストにならないなあ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。