Skip to content

NFC: ISO 15693-3 emulation READ_MULTI and GET_BLOCK_SECURITY fixes#4334

Open
WillyJL wants to merge 1 commit intoflipperdevices:devfrom
WillyJL:fix/iso15-emulation-rdmulti-blksec
Open

NFC: ISO 15693-3 emulation READ_MULTI and GET_BLOCK_SECURITY fixes#4334
WillyJL wants to merge 1 commit intoflipperdevices:devfrom
WillyJL:fix/iso15-emulation-rdmulti-blksec

Conversation

@WillyJL
Copy link
Contributor

@WillyJL WillyJL commented Jan 25, 2026

What's new

  • fixes some issues in ISO 15693-3 emulation:
    • READ_MULTI command was returning 1 more block than intended, simple off-by-one error (protocol makes it easy to make this mistake, block counts are -1 than what they mean, code accidentally over-corrected)
    • Iso15693Signal was allocating 1 byte less than the buffer Iso15693_3Listener was using, so a command that was fine for the listener would then crash when encoded by signal helper. now they are synced with macro define for how much the listener uses
    • adjusted buffer sizes so that they can fit a full GET_BLOCK_SECURITY for the max 256 blocks, which is one of the more lengthy reasonable command responses (results in just 3 bytes more than before for the buffer)
    • fixed READ_MULTI to abort the response if command asked for more blocks than would fit into the listener buffer, instead of crashing

Verification

  • emulate iso15693-3 dump on flipper, read with NXP TagInfo on Android (iOS version did not cause the issue), flipper should not crash

Checklist (For Reviewer)

  • PR has description of feature/bug or link to Confluence/Jira task
  • Description contains actions to verify feature/bugfix
  • I've built this code, uploaded it to the device and verified feature/bugfix

Co-authored-by: Aaron Tulino <git@aaronjamt.com>
@bettse
Copy link
Contributor

bettse commented Mar 5, 2026

This would fix emulation of LEGO SmartPlay figures

Darth.nfc.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants