This is likely way too early considering the Apex Flex’s private beta status, but here goes.
I received mine as part of the Flex One replacement program, and have been attempting to get an applet working before installing it :^)
In particular, I’ve been tinkering with OpenJavaCard-NDEF with the initial goal of getting the Apex to emulate a standard read/write NDEF NFC tag (see the “full” example in the repo), and later serve dynamically-generated content (“stub” example in the repo).
I’ve got the basic read/write full applet compiled and installed, and I can successfully write to it using this NFC app.
The issue is on reading. My iPhone doesn’t automatically pick up the tag in the background, as it does for “dumb” tags. When manually scanning with the NFC app, it reports:
The NFC tag was detected. Unfortunately, no usable data could be found on it. Compatibility mode can help read data from your NFC tag.
Upon enabling Compatibility Mode, the tag reads perfectly. Very weird.
I’ve tried the officially spec’d Command Sequence Description with pyscard, and everything looks right, but I’ve got a very untrained eye here.
So, I’m wondering if this is some inherent limitation in iOS - what the heck is compatibility mode? Or could this be some bug in OpenJavaCard-NDEF? Or is this an issue common to all Type 4 cards? Does anyone have an NDEF applet implementation that works with non-compatibility-mode’d iOS? Any other tests I can run?
Thanks so much and so excited to get this thing running!
I believe you can just install the vivokey ndef applet through fidesmo, i just tested with mine and was able to write a url to it and then read it back successfully
Thank you for testing so quickly! Can you read it from an iOS device, or is your testing with Android?
The Fidesmo app on iOS doesn’t offer any applets to install, so until I get my hands on an Android device, I’m compiling and uploading with my ACR122U.
I just tested with a friend’s Android phone and it can successfully read the Apex flashed with OpenJavaCard-NDEF. But perhaps the applet code is flawed in some way that makes it incompatible with iOS? According to Apple’s Core NFC docs:
Using Core NFC, you can read Near Field Communication (NFC) tags of types 1 through 5 that contain data in the NFC Data Exchange Format (NDEF).
So at least in theory the Type-4 Apex should be compatible. I’d be curious to hear if the official VivoKey NDEF applet fares any better.
Just to be clear, type 4 refers to the NFC specification type for a tag. It’s simply means that type 4 tags are accessed via a standardized AID using APDU commands. The apex is not a type 4 nfc chip until the application is loaded… if that makes any sense.
For the kind folks who planned to test with their own iPhones, any luck? Been trying various modifications to the NDEF applet and still no dice, only compatibility mode works.
Damn. Forgot. Will steal the iPhone from my wife tonight and test.
Also… I updated the NDEF record cap file on the Fidesmo service the other day. A couple bug fixes merged from the master branch. Might have an effect…maybe.