This is indeed a million dollar question. I would really like to know an official answer to it.

Current research lead me to the following information:
1) Unofficial Android 2.3.4+ supports Card Emulation for Nexus S. This custom Android OS has no official Google support and the APIs may not fully work.
2) You can have card emulation using Inside's Open NFC Stack 4.3.3 for ICS. I checked the website, and the documentation, live working examples were very weak/almost non-existant. Inside attemps to compete with NXP. With such a website, I see failure for Inside.

I also do not fully understand the hype around NFC if the most important feature - Card Emulation - is not functional.

Some companies, such as Assa Abloy have implement mobile keys based on NFC. I do not know whether they used custom-hacked phones to act as card-emulated phones.

Please share any additional info you find on this topic!

A plain reader/writer can't do much in my opinion. In order for interesting applications such as mobile payments, mobile keys etc to work, card emulation should be enabled.

It appears that nobody has yet performed card-emulation on the Nexus S running ICS 4.0.x.

Update:
I tried it myself, and obtained limited functionality. I was also not able to read the ID of the emulated card when the phone was off. (that somehow defies the purpose of card emulation.)

UPDATE (05.05.2012):
I managed to force the ID of the secure element to be fixed. The phone can now be read by an NFC reader even when the phone is off. The Nexus S' NFC antenna (found on the back cover, under a black coating) is powered by the RF field generated by the reader and the embedded SE can be read by the external reader.

If anybody is still interested in the above subject, I will post my steps and compiled sources.

Does anyone know how can i get a Unique Identifier (UID) in my card emulation application (Mifare 1K) instead of the Random Identifier (RID) ?

Yes, with the hacked Gingerbread OS provided by M0rtadelo (you have to compile from source - nasty procedure, requires good knowledge and confidence with Linux) or by softy007 (search his blog for the compiled binaries), you will be able to have card-emulation working. It is for experimental purposes only. The UID will be fixed, but you cannot do much from there.

Quote:

Originally Posted by marco-f.nunes

I can't use NFC in my company access control if the Identifier is never the same...

Card emulation is too much in its infancy to be able to do what you want right now. You may do some research on SEEK for Android. I don't know about your company, but the latter might not like a hacked android phone due to security issues.

I'm really interested in this post. Currently, I'm doing the same thing that marco-f.nunes wants to do.

I would like to emulate all the Galaxy Nexus of my company to allow them to open every locked doors. Thus, I just want to emulate a passive NFC tag (through an app for now) [EDIT: but it's just a POC!]

Quote:

Originally Posted by shailentj

If anybody is still interested in the above subject, I will post my steps and compiled sources.

I am trying to develop a NFC application to read the nfc tag, this works fine on emulator, but not working on device/phone.

Please do advice me the steps that help me to read nfc tag through the phone. the app is also having other non nfc model along with it. all others models are working fine expect the nfc part.

Please do help me. also please provide me the steps that you performed and also the compiled source.

Thanks and Regards
Srikanth k

Quote:

Originally Posted by shailentj

It appears that nobody has yet performed card-emulation on the Nexus S running ICS 4.0.x.

Update:
I tried it myself, and obtained limited functionality. I was also not able to read the ID of the emulated card when the phone was off. (that somehow defies the purpose of card emulation.)

UPDATE (05.05.2012):
I managed to force the ID of the secure element to be fixed. The phone can now be read by an NFC reader even when the phone is off. The Nexus S' NFC antenna (found on the back cover, under a black coating) is powered by the RF field generated by the reader and the embedded SE can be read by the external reader.

If anybody is still interested in the above subject, I will post my steps and compiled sources.

I there, been watching this subject for a while ago and things are going slower then we'd like...'cause everyone wants card emulation to work so that you can just forget your card at home and then pull out your phone and still go to work without calling a mate to open up the door for you.

There's still nothing done, pretty and nifty but it seems there are quite a few solutions to turn up...recently i checked this:hxxps://play.google.com/store/apps/details?id=at.mroland.android.apps.nfctaginfo
which reads all of my MIFARE 1k cards and pulls out a lot information, but it still as a problem to get the KEYs, of course...the sectors are encrypted...but the above app let's you force the keys A and B to use to read all sectors...you just need to crack A and B KEYs.

So i think, dispite the phone beeing able or not to emulate a tag...i think there's still the problem of getting the keys...so it can truelly emulate the tag, am i correct fellows? 'cause i didn't see anyone talking about this...and it's clear for me...

MIFARE Classic algorithm was hacked some years ago that's not the problem, we can get the keys, proof of concept was people got transportation cards cloned (Oysters for ex.)...but to do so they needed to clone the cards, and for that they had to hack MIFARE Classic algorithm...

Still with me?! Bottom line...maybe i'm getting all wrong...so without getting the KEYs of the card (hacking it!) you won't be able to emulate it with your phone...

XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality.Are you a developer?