Skip to content

Fix NTAG UID for multi-cascade anti-collision#362

Merged
paxx12 merged 1 commit into
developfrom
fix-ntag-uid
Mar 30, 2026
Merged

Fix NTAG UID for multi-cascade anti-collision#362
paxx12 merged 1 commit into
developfrom
fix-ntag-uid

Conversation

@paxx12
Copy link
Copy Markdown
Contributor

@paxx12 paxx12 commented Mar 30, 2026

In ISO 14443-3 anti-collision, multi-byte UIDs (7 or 10 bytes) span multiple cascade levels. Intermediate levels prefix UID parts with a cascade tag byte (0x88) that must be excluded from the final UID.

The FM175xx driver was appending the full UID_part at every level, including the cascade tag of intermediate levels, yielding a corrupt UID.

Strip the first byte from UID_part for all levels except the last so the assembled UID contains only the actual tag bytes.

In ISO 14443-3 anti-collision, multi-byte UIDs (7 or 10 bytes) span
multiple cascade levels. Intermediate levels prefix UID parts with a
cascade tag byte (0x88) that must be excluded from the final UID.

The FM175xx driver was appending the full `UID_part` at every level,
including the cascade tag of intermediate levels, yielding a corrupt UID.

Strip the first byte from `UID_part` for all levels except the last so
the assembled UID contains only the actual tag bytes.
@paxx12 paxx12 merged commit f1884d4 into develop Mar 30, 2026
@paxx12 paxx12 deleted the fix-ntag-uid branch March 30, 2026 15:01
@github-actions
Copy link
Copy Markdown

✅ Build Artifacts

Version: 1.2.0-paxx12-test-pr-362
Build: f1884d4 (merge of ee78fbe into develop)
Duration: 4m 15s

Artifact Size
extended-devel-build 225.55 MB
extended-build 225.14 MB

View workflow run

Copilot AI pushed a commit to justinh-rahb/SnapmakerU1-Extended-Firmware that referenced this pull request Mar 31, 2026
In ISO 14443-3 anti-collision, multi-byte UIDs (7 or 10 bytes) span
multiple cascade levels. Intermediate levels prefix UID parts with a
cascade tag byte (0x88) that must be excluded from the final UID.

The FM175xx driver was appending the full `UID_part` at every level,
including the cascade tag of intermediate levels, yielding a corrupt UID.

Strip the first byte from `UID_part` for all levels except the last so
the assembled UID contains only the actual tag bytes.
Co-authored-by: justinh-rahb <52832301+justinh-rahb@users.noreply.github.com>
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.

1 participant