Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disney Infinity Emulator Correct Link #93

Open
NBAPJ opened this issue Oct 28, 2020 · 4 comments
Open

Disney Infinity Emulator Correct Link #93

NBAPJ opened this issue Oct 28, 2020 · 4 comments
Labels

Comments

@NBAPJ
Copy link

NBAPJ commented Oct 28, 2020

Here is a link to his YouTube channel. He has a few videos posted.

https://m.youtube.com/channel/UC8ZgKmNX4Xp3EdWzJrgvFvw

His name is obiima on YouTube

@bettse
Copy link

bettse commented Aug 23, 2021

  1. he provides very few details publicly
  2. DI uses Mifare Mini, which aren't NFC Forum compatible, and I suspect cannot be emulated by the nRF52

@nitz
Copy link
Collaborator

nitz commented Aug 23, 2021

The MIFARE Mini are just MIFARE Classics with smaller footprints and EEPROM sizes, aren't they? If so, they are still ISO 14443-A, which is the 'umbrella' spec that NFC Forum Type X tags fall under. The way Odiin's emulator is currently structured, I've got it broken into a few layers:

Layers Info
NTAG 21X NXPs' Specialized & Extended Type 2 Tag
NFCF Type 2 Tag NFCF's specific implementation of an ISO14443-A Tag
ISO 14443-A The base ISO standard

I haven't seen anything at a quick glance that would make me think it's not possible. I will however admit that I don't have any DI toys, so I've never gotten to take a look at them in action, though.

@bettse
Copy link

bettse commented Aug 23, 2021

I would be happy to be proven wrong, but my understanding is the nrf52 can only emulate type 2 and type 4, and the Mifare Classic doesn't fall into either (really, I think it pre-dates, since NXP went all wild west before the NFC Forum was founded and started to standardize things, in particular using the Mifare Ultralight).

Nordic seems to indicate it can't support 'mifare' (by which I think they mean classic). Unhelpfully, the linked threads get into "reader" vs "emulating", which muddles the issue. https://devzone.nordicsemi.com/f/nordic-q-a/61235/can-the-nfc-of-nrf52832-emulate-mifare-classic-1k

My understanding of what constitutes type 2 is founded mostly in wikipedia's rather pretty chart, but give the comfort with which you mention some of the applicable standards, I would say you probably have a better command of the situation than I do.

NFC Protocol Stack

@nitz
Copy link
Collaborator

nitz commented Aug 23, 2021

Yeah the information out there about all of the standards is difficult and vague at best, probably due to the actual NFCF/ISO standards costing several hundred dollars. 😔

So, out of the box with the examples & libraries Nordic supplies (in binary blob form, no source,) support just about "to the letter" tags that fall under the T2T or T4T, but allow basically no deviation from that. (They focus on the actual 'higher level' structures, NDEF and the sort.) The NTAG 21(3|5|6) is a T2T, but doesn't bother with anything like NDEFs, and instead just handles raw page reading and writing. (There's no reason you couldn't use NDEFs in those pages, but just that the hardware doesn't support anything to do with them natively.)

That being said, the reason (AFAIK) that Nordic ships an implementation for both T2T and T4T is because they're very similar. Both are ISO 14443-A implementations, with the only "big" difference being that T4Ts support a faster set of speeds than the one fixed speed T2Ts operate at.

MIFARE Classic (and it's family) are, from at least my reading of the datasheet, still ISO 14443-A implementations. If you compare it's section 9.1 (command overview) to the NTAG 21X Datasheet's section 9.1, you'll notice a missing column. The NTAG sheet lists the name of the NFC Forum command in a column next to the ISO 14443-A command. The MIFARE has the ISO 14443-A command, but doesn't adhere to any of the NFC Forum specifications. It's that which makes me believe that it's possible: they both implement the same set of ISO 14443-A commands, and then just build on top of them.

My realistic hope is that the work done in nfc_type_2_tag_emulator.cpp just needs to be broken out a bit higher into a tier specifically for ISO 14443-A, which a theoretical MIFARE Classic family would inherit from.

I've been itching to get back into this project (having been pulled all over the place lately) and all of this talking about it has made me want to even more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants