I am running into a little problem with a PN532 based reader and I hope someone can help me here. The problem is this:
Whenever I use the InListPassiveTarget command with a MaxTg number of 2, I get unreliable communication with tags.
As soon as I increase the max. target number from 1 to 2, a single tag within the range of the reader gets read only on exactly every second attempt. On every other attempt I receive the ACK from the chip, but no actual data. If I go and send the command twice each time before attempting to read the data packet, I get reliable readings.
When I have two tags in the field at once, it seems to read 2 tags, then only 1 tag, then none, and repeats. Again, if I send the command twice each time, the readings are reliable.
I am using NTAG216 tags for this, but it is the same with other Mifare type tags. I tried to increase the timeout waiting for the data packet to arrive up to 200ms with no effect. With MaxTg=1 there is no problem at all.
Is this expected behaviour? According to UM0701-02, Fig. 78 I would assume that anti-collision is managed by the chip, and I should receive data packets for both tags in one response. But even the behaviour with only a single tag in the field changes when I increase MaxTg to 2. The firmware version of the chip is 1.6.