Closed doegox closed 1 year ago
m_is_send_reboardcast_last_edge
flag is another solution added by another enthusiast to solve the problem of PM3 being unable to search for ID cards, interesting...
The code you deleted is used to detect whether the chameleon has left the RF field. If it has already left, quickly turn off the simulation and switch the field lights. The significance of this code is to solve the problem where LPCOMP can only trigger on the rising edge.
Ok I see, I did some more tests and we can still disable the timer and configure LPCOMP.
What's really the cause of the issue is the ANT_NO_MOD()
.
I will create a PR to remove the m_is_send_reboardcast_last_edge
hack and the ANT_NO_MOD
.
I tested many different IDs and it seems robust.
Good!!! When I have time, I will help you test the simulation of the EM card.
The note of ANT_NO_MOD writes "make sure antenna is shorted so we can get correct rssi status" so I think it's not right to remove that line ... and two no mod can make sure the last bit is 0. and as the em data is stored in u64 which is not hardcoded, i think we should not assume the last bit is what you said "so detection will always be done when ant mod is off, "
yes this is what I discussed in https://github.com/RfidResearchGroup/ChameleonUltra/pull/27 I did a new PR to change the strategy : https://github.com/RfidResearchGroup/ChameleonUltra/pull/28
It doesn't inject a ANT_NO_MOD (that breaks the emulation) but it samples the field during the half bit when mod is off.
I tested it even with #define LF_125KHZ_BORADCAST_MAX 1
to force sampling after every single ID and it's very stable.
Nice😍
ok let's close this one
I'm doing some tests with a Proxmark
Some IDs cannot be seen by the Proxmark while some can. OK:
lf em sim --id 0501020304
FAIL:lf em sim --id 0102030405
When digging, it appears the problem comes from the moment emulation stops and LF field is checked before starting again. Maybe this takes too long and next broadcast is desync.
I found that it works fine by removing the following lines, I hope it is safe to do so...
And all code related to
m_is_send_reboardcast_last_edge
can then be removed also.