34480016 发表于 2016-9-6 11:25:11

PN532操作M1卡, 休眠后仍然可以继续操作,什么原因造成的?

我使用的PN532, 用的是libnfc的 nfc-anticol.c 例程

明明执行了halt() 休眠卡的程序, 但是卡不移动的情况下可以继续用Reqa(0x26) 继续读卡

试过两个不同的 PN532 模块,多张M1卡, 都是同样的问题。

fnems 发表于 2016-9-6 11:51:03

之前论坛里也有人报告过这个问题。就是成功认证之后halt,继续req还能读到这个卡。

自己遇到的问题是认真成功后halt再req是没问题的,卡不再回应;但是认证失败后halt再req,卡就会继续响应。

感觉国内很多卡都不是正版的nxp公司的mifare卡,好多都是国产非授权盗版卡(比如比较出名,被人写进论文的复旦卡)

34480016 发表于 2016-9-6 12:59:34

fnems 发表于 2016-9-6 11:51
之前论坛里也有人报告过这个问题。就是成功认证之后halt,继续req还能读到这个卡。

自己遇到的问题是认真 ...

非常感谢你的意见, 我也怀疑过这个问题。
晚点我找一个东莞地铁卡试一试。
这个应该是NXP出的MIFARE Ultralight卡片, 到时候看看结果如何.

chengying 发表于 2016-9-6 13:06:47

帮顶                         帅哥

34480016 发表于 2016-9-6 21:28:28

本帖最后由 34480016 于 2016-9-6 21:29 编辑

fnems 发表于 2016-9-6 11:51
之前论坛里也有人报告过这个问题。就是成功认证之后halt,继续req还能读到这个卡。

自己遇到的问题是认真 ...


地铁卡,银行卡用 ubuntu + nfc-anticol 仍然是不能正常休眠

看来跟卡真的没关系了。

fnems 发表于 2016-9-6 21:59:42

34480016 发表于 2016-9-6 21:28
地铁卡,银行卡用 ubuntu + nfc-anticol 仍然是不能正常休眠

看来跟卡真的没关系了。


奇怪了……

看了Ultralight的样本,是支持Halt命令的,而且等待时间也不到1ms

fnems 发表于 2016-9-6 22:05:40

34480016 发表于 2016-9-6 21:28
地铁卡,银行卡用 ubuntu + nfc-anticol 仍然是不能正常休眠

看来跟卡真的没关系了。


对了,测试过程中,前一个命令结束会不会关闭PCD设备,从而关闭射频场,从而让PICC(就是地铁卡)断电?

如果射频场关闭重启过,那么没有Halt就很正常了~~

34480016 发表于 2016-9-7 08:19:50

fnems 发表于 2016-9-6 22:05
对了,测试过程中,前一个命令结束会不会关闭PCD设备,从而关闭射频场,从而让PICC(就是地铁卡)断电?
...

我看了源码, 之前没有执行 nfc_close( )
https://github.com/nfc-tools/libnfc/blob/master/examples/nfc-anticol.c

fnems 发表于 2016-9-8 15:43:07

本帖最后由 fnems 于 2016-9-8 15:45 编辑

34480016 发表于 2016-9-7 08:19
我看了源码, 之前没有执行 nfc_close( )
https://github.com/nfc-tools/libnfc/blob/master/examples/nfc ...

main函数退出之前明明有关闭设备啊,然后猜测关闭设备应该会关闭射频场




我这边跑不了libnfc,不过我觉得你可以做个测试,改写一下这个nfc-anticol.c,在halt之后插入新一轮req的命令,编译运行这个测试程序看看有没有响应。

34480016 发表于 2016-9-8 17:10:49

fnems 发表于 2016-9-8 15:43
main函数退出之前明明有关闭设备啊,然后猜测关闭设备应该会关闭射频场




我是说 "前一个命令结束没有关闭PCD设备"

34480016 发表于 2016-9-8 17:14:38

fnems 发表于 2016-9-8 15:43
main函数退出之前明明有关闭设备啊,然后猜测关闭设备应该会关闭射频场




卡不拿开, 多次执行 nfc-anticol.exe 效果是一样吧?
我就是这种方法测试的。

654705188 发表于 2016-11-10 08:57:47

读写器的问题,进行了关闭设备或者复位设备操作。如果可以支持halt功能,设备读取同一张卡即使不halt,第二次req也是返回无卡的。
页: [1]
查看完整版本: PN532操作M1卡, 休眠后仍然可以继续操作,什么原因造成的?