Is it possible to emulate a felica card with an Android device? - nfc

According to Android documentation:
Android (4.4 and above) supports emulating cards that are based on the NFC-Forum ISO-DEP specification (based on ISO/IEC 14443-4) and process Application Protocol Data Units (APDUs) as defined in the ISO/IEC 7816-4 specification
On the other hand, Falica cards are compliant with JIS: X6319-4 as per Felica's wiki entry.
So, presumably it is not possible to use an Android device for emulation of Felica cards. Is that accurate?

That is correct. But, there are currently patches from Sony on AOSP under review that would allow card emulation of Felica cards. See for example https://android-review.googlesource.com/#/c/128491/

Suica card is emulated with Suica Mobile app, so it is possible

Related

What is Mifare native mode?

What is Mifare native mode? And what is the difference in interaction with card between native mode commands and APDU commands from ISO/IEC 7816-4 (or ISO 14443-4)?
The answer is almost contained in the second part of your question: Mifare native mode uses lower level commands than ISO 14443-4, so there are no APDUs to send. To access Mifare native mode, you will need hardware and software made or licensed by Mifare's owning company NXP.
For example, only mobile phones using NXP chips can use Mifare native mode to interact for example with Mifare Classic cards.

Is Serial Port Profile (SPP) supported on iOS 7 over Bluetooth Low Energy (v4.0)?

Can I use Serial Port Profile (SPP) to communicate with iOS devices over Bluetooth Low Energy (v4.0) without the need for MFi Chip?
If you're designing something from scratch (rather than trying to interface to an existing SPP-enabled device), there is a possible solution.
Laird Technologies make a Bluetooth Low Energy Module (BL600), which can be loaded with a virtual serial port application. This creates a service which is similar to the SPP; at the remote end it can just be treated as a plain serial port (albeit rather low speed). You could roll your own service to do something similar on other devices.
It's not the most elegant solution, but seems to work okay, and far easier than trying to get MFi certification.
If you cannot control the peripheral's protocol choice:
The Serial Port Profile (SPP) is still supported by Bluetooth 4.0. However, Bluetooth 4.0 Low Energy uses different pysical and link layer protocols that are not backwards compatible with older Bluetooth standards. Current iOS and Android devices use "dual mode" interfaces that support the backward compatible part of BT 4.0 and the Low Energy standard.
Bluetooth 4.0 Low Energy does not support SPP whereas regular Bluetooth 4.0 does!
I found a Cordova/Phonegap Plugin on GitHub that might serve as a source of inspiration for you. They advertise to support SPP on iOS and Android alike.
If you are in control of the peripheral, i.e. you implement the peripheral's software:
Bluetooth 4.0 Low Energy communication makes use of the Generic ATTribute Protocol. Based on GATT there exist a number of profiles but no serial port profile.
The good news is that implementing your own proprietary serial port profile on iOS, Android and your device is fairly simple. The API instructions for your BTLE module/SoC should provide some examples for existing profiles.
As soon as you see how simple implementing your own profile is, you will probably choose to go for a more use case specific profile which will save you lots of power on your (battery powered?) peripheral.
Just to clear up John Parsons comment from Feb 16th - the BL600 is definitely not discontinued whatsoever.
vSP works well for a low level, low throughput data connectivity using BLE for iOS devices, as well as Android. Video showing the solution working to an iPad are at this link and full source code is available for the iOS application as well http://www.lairdtech.com/Support-Center/Technical-Library/Videos/VSP-Bridge-Command/#.UwYvzGJ_s1w
There are no MFi requirements for BLE connectivity on iOS.
MFi is only relevant to Classic Bluetooth data connections to / from iOS devices, where you need to use Apple's iAP protocol, be a MFi licensee, use an external Apple Authentication IC and pay a royalty to Apple.
NO,you can't. BLE not support SPP.
No, you can't. In general, it's important to remember that any Bluetooth Classic profile isn't necessarily applicable for Bluetooth Low Energy. With BLE however, you can easily create your own custom service/profile, specially tailored towards your particular application. As far as I know, all BLE communication with iOS is currently allowed without participating in the MFi. You can also take a look at this page for further information on SPP and BLE.
I'm searching for SPP for iOS myself and found a German supplier, lintech.de, that has products for "Bluetooth meets Apple" claiming to support/emulate SSP, apparently using their own embedded software layer combined with iAP. "BlueMFI software communicate with APPLE devices using the iAP (iPod Accessory Protocol) and manage the data communication with the Apple authentication chip...BlueMFI software is designed to run on a variety of hardware platforms (Bluetooth modules), and interested users can obtain the relevant evaluation kits. LinTech’s Bluetooth modules with BlueMFI software not only support the APPLE iAP protocol via Bluetooth, but they are also able to communicate with standard Bluetooth devices." Haven't tried this yet, just exploring and sharing.
I won't say SPP is directly supported under iOS 7, Apple says no. Won't argue :)
But...
I use connectblue modules OBS421 and OBS425 on a data collection project.
BLE modules have SPP profile enabled and I transmit data from my sensors to the iOS devices using BTLE module in SPP mode.
Works pretty fine under iOS 6 and 7
That said, I was having trouble with MFi bluetooth devices under iPhone 5S, that's why I moved to BTLE.
Drawback with BTLE, it's limited to 20 bytes at a time.
I had to adjust hardware and software, but was easy.
You have programmable chips such as Bluegiga BL112 that are doing the job. It is the cable replacement code.
I'm integrating it actually for both iOS and Android 4.3. It works at least on the demo board.

windows mobile nfc secure element

I am new to windows mobile development.i want to developed application which can read secure element in mifare desfire card.i want to know in windows platform is support for desfire nfc t card.if not give some description what are the best standardized nfc format in windows platform.
Thanks
SSv
You are confusing the NFC related question by mentioning Secure Element.
WP8 only supports NDEF formatted cards. Here's a sample
http://www.developer.nokia.com/Community/Wiki/WP8_NFC_Tutorial:_Voice_Messages_on_NFC_Tags

Functionatlity of Open NFC Framework

I have fundamental question about what Open NFC framework is for. I want to write a program that will run on a PC to communicate with a NFC card reader connected to the PC through USB. The program will write to and read from NFC tags by commanding the NFC card reader.
Is Open NFC framework suited for this purpose? Or is it for developing programs that will run on NFC tags?
Aritra
OpenNFC is a software stack implementing NFC functionalities.
It is hardware independent, so in theory you could use it with an USB connected reader. The problem is, the only available HALs (Hardware Abstraction Layers) for OpenNFC are for an NFC simulator and Inside Secure hardware. Until we get some HALs for most common hardware, I'd say you should take look at http://www.libnfc.org/documentation/introduction
There are many NFC readers on the market, that are being sold with their own SDKs. With such SDKs you are 100% sure the code is compatible with the particular NFC reader.
BR
STeN

What do you need to program a NXP SmartMX contactless MCU?

I'm developing an authentication system with NFC technology with strong cryptographic functions.
There are two solutions from NXP: Mifare DESFire EV1, which is a chip with memory areas and 3DES and AES128 crypt functions, and SmartMX2,which is a complete MCU that needs an OS and software to run.
To choose between the two, I have to know how to program those tags. For what I've understood, the DESFire needs a USB reader/writer and the interface software, like this --> http://www.mpsys.de/chipmanrfid_en.html
What equipment is needed to install the OS on a SmartMX card, and then debug? Is it possible to do it only via NFC interface?
Thanks for your attention,
gfunky
SmartMX cards always come with the Card OS installed. The Card OS is actually fixed in the ROM mask of the chip. An example of such a Card OS is NXP JCOP; an implementation of JavaCard.
Developing JavaCard applets for JCOP is usually done in Eclipse. NXP offers JCOP development tools to customers that consist of a plug-in for Eclipse. Debugging is not possible on the card itself (also for security reasons), but is done in a simulator that runs on the PC.
DESFire is a chip with fixed functionality. It has its own command set to do things like creating files, reading and writing data and performing authentication. In principle, this can be done using any software that allows sending commands through a contactless card reader. But specialized software that has built-in support for DESFire will be very convenient and likely speed up your development a lot.

Resources