Re: [android-developers] Re: NFC Secure Element
Might take a look at this url: http://intrepidusgroup.com/insight/2011/09/a-brave-new-wallet-first-look-at-decompiling-google-wallet/ He notices a debug menu in a old version of google wallet. On Friday, April 6, 2012 4:16:12 PM UTC+2, Nikolay Elenkov wrote: On Fri, Apr 6, 2012 at 10:06 PM, xanium4332 xaniu...@gmail.comjavascript: wrote: I've recently read through a lot of information regarding the implementation of NFC, Google Wallet, card emulation etc.. on the Galaxy S Nice write up, you should put it in a blog post somewhere. Sounds about right, but can't really commend on the finer points. Maybe someone else will. You might also get better info/response on XDA. This list is not exactly dedicated to analyzing third party apps and/or hardware. Now for things I'm not sure about: Does Google Wallet make use of native APIs or Java APIs to communicate to the secure element. I.e., is it talking to the NXP NFC stack directly, or through some Android-like API? AFAIK, it uses only Java code. You can send APDU via the Java APIs, so that's basically all you need. People who are receiving the 'secure element not responding' error are presumably failing to authenticate with the Google Wallet javacard app which has been installed. However, people seem to be mentioning that this error means the SE is 'bricked', which I would interpret as the lockout from the GlobalPlatform app due to 10 failed auths. Anybody know exactly what is going on here? You can't say for sure until you see the response APDU. IIRC, if you lock the card you will get 'Security condition not satisfied', SW= 0x6982. If seen this a few times :) I think I read somewhere that the google wallet javacard app is only installed onto the SE after successful setup of the Google Wallet app. I.e. it is not factory installed. This appears to be correct. If so, how does secure communication occur with the GlobalPlatform app. Does Google Wallet perform this (I guess not, as we could find the keys from the APK). How do the GlobalPlatform keys get securely transmitted to the SE? With SIM cards I think binary SMSs are used to OTA chat with the radio interface, but obviously that can't happen here. You don't really need to transmit the actual keys to the card, you only need to compute the correct session key based on the card manager key. Maybe they are in the APK (unlikely), or processing is offloaded to a server. You might want to look yourself :) -- -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups Android Developers group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [android-developers] Re: NFC Secure Element
On Fri, Apr 6, 2012 at 10:06 PM, xanium4332 xanium4...@gmail.com wrote: I've recently read through a lot of information regarding the implementation of NFC, Google Wallet, card emulation etc.. on the Galaxy S Nice write up, you should put it in a blog post somewhere. Sounds about right, but can't really commend on the finer points. Maybe someone else will. You might also get better info/response on XDA. This list is not exactly dedicated to analyzing third party apps and/or hardware. Now for things I'm not sure about: Does Google Wallet make use of native APIs or Java APIs to communicate to the secure element. I.e., is it talking to the NXP NFC stack directly, or through some Android-like API? AFAIK, it uses only Java code. You can send APDU via the Java APIs, so that's basically all you need. People who are receiving the 'secure element not responding' error are presumably failing to authenticate with the Google Wallet javacard app which has been installed. However, people seem to be mentioning that this error means the SE is 'bricked', which I would interpret as the lockout from the GlobalPlatform app due to 10 failed auths. Anybody know exactly what is going on here? You can't say for sure until you see the response APDU. IIRC, if you lock the card you will get 'Security condition not satisfied', SW= 0x6982. If seen this a few times :) I think I read somewhere that the google wallet javacard app is only installed onto the SE after successful setup of the Google Wallet app. I.e. it is not factory installed. This appears to be correct. If so, how does secure communication occur with the GlobalPlatform app. Does Google Wallet perform this (I guess not, as we could find the keys from the APK). How do the GlobalPlatform keys get securely transmitted to the SE? With SIM cards I think binary SMSs are used to OTA chat with the radio interface, but obviously that can't happen here. You don't really need to transmit the actual keys to the card, you only need to compute the correct session key based on the card manager key. Maybe they are in the APK (unlikely), or processing is offloaded to a server. You might want to look yourself :) -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Someone wrote that you can't emulate cards on Nexus S (or maybe only mifare ultralight cards), even if you have the opennfc driver and the rest of it set up. Any comments on this? On 6 April 2012 17:16, Nikolay Elenkov nikolay.elen...@gmail.com wrote: On Fri, Apr 6, 2012 at 10:06 PM, xanium4332 xanium4...@gmail.com wrote: I've recently read through a lot of information regarding the implementation of NFC, Google Wallet, card emulation etc.. on the Galaxy S Nice write up, you should put it in a blog post somewhere. Sounds about right, but can't really commend on the finer points. Maybe someone else will. You might also get better info/response on XDA. This list is not exactly dedicated to analyzing third party apps and/or hardware. Now for things I'm not sure about: Does Google Wallet make use of native APIs or Java APIs to communicate to the secure element. I.e., is it talking to the NXP NFC stack directly, or through some Android-like API? AFAIK, it uses only Java code. You can send APDU via the Java APIs, so that's basically all you need. People who are receiving the 'secure element not responding' error are presumably failing to authenticate with the Google Wallet javacard app which has been installed. However, people seem to be mentioning that this error means the SE is 'bricked', which I would interpret as the lockout from the GlobalPlatform app due to 10 failed auths. Anybody know exactly what is going on here? You can't say for sure until you see the response APDU. IIRC, if you lock the card you will get 'Security condition not satisfied', SW= 0x6982. If seen this a few times :) I think I read somewhere that the google wallet javacard app is only installed onto the SE after successful setup of the Google Wallet app. I.e. it is not factory installed. This appears to be correct. If so, how does secure communication occur with the GlobalPlatform app. Does Google Wallet perform this (I guess not, as we could find the keys from the APK). How do the GlobalPlatform keys get securely transmitted to the SE? With SIM cards I think binary SMSs are used to OTA chat with the radio interface, but obviously that can't happen here. You don't really need to transmit the actual keys to the card, you only need to compute the correct session key based on the card manager key. Maybe they are in the APK (unlikely), or processing is offloaded to a server. You might want to look yourself :) -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
is *nfc_jni_transaction_callback() *inside the (HAL)Libnfc-nxp or framewrok code.?Where is it?Which Android Version?*ICS?? PLz post * * * *Rgds,* *Saurabh *..pain is temporary.quitting lasts forever.. On Sat, Feb 11, 2012 at 5:11 PM, Michael Roland mi.rol...@gmail.com wrote: Hallo malls, I could listen to AID_SELECTED event from NfcService. I am trying to send data to SE. I get error that External RF Field detected, what does this mean. It means that you are trying to access the secure element from two sides simultaneously (from an external reader and from the application processor). You can only communicate through one interface at a time. br Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo malls, I could listen to AID_SELECTED event from NfcService. I am trying to send data to SE. I get error that External RF Field detected, what does this mean. It means that you are trying to access the secure element from two sides simultaneously (from an external reader and from the application processor). You can only communicate through one interface at a time. br Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Any comments...plz respond if you are reading this mail ! rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Wed, Feb 1, 2012 at 1:21 PM, p z ymdo...@gmail.com wrote: I think maybe you can. and plesae share your rom when you finished.thx. On 2月1日, 上午8时15分, malls masubha...@gmail.com wrote: Fernando, I was wondering if I can emulate the card in my application and send it to the terminal. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi Nemik, You wrote : *Yea, that's right. All it does currently is read; at least via the Java API. If you look at the kernel source though, a bunch of ifdefs which allow for emulation were all disabled. So full compliance with the NFC standard will have to wait for a future kernel release. * waht are these JAVA APIs ?Can we use them for reading NFC Secure Element - Mifare 4k? Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Mon, Feb 6, 2012 at 7:08 PM, s.rawat imsaurabhra...@gmail.com wrote: Any comments...plz respond if you are reading this mail ! rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Wed, Feb 1, 2012 at 1:21 PM, p z ymdo...@gmail.com wrote: I think maybe you can. and plesae share your rom when you finished.thx. On 2月1日, 上午8时15分, malls masubha...@gmail.com wrote: Fernando, I was wondering if I can emulate the card in my application and send it to the terminal. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi All, Recently I have tried with another Card reader , I got this message. MIFARE 4K card on reader ATR : 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 02 00 00 00 00 69 00 02 -- Shows the *Mifare *4K Earlier with another Card I was getting -- *3B 8A 80 01 00 31 C1 73 C8 40 00 00 90 00 90* and I read in this group that it is for emulated Card Smart MX. I wanted to know (1) Can the two Card readers produce different ATR for the same card?If yes , Why so? (2) Can I get the notification or any type of logs when the read /write transaction is happening.or do I have to put the LOG messages , preferably in the NFC framework files. (3) Is it possible to READ(not Write ) the SE element(i.e Mifare 4k ) memory Area using the APDU(I think this is same as what others have mentioned in this group) Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Fri, Feb 3, 2012 at 5:04 AM, mickae1 mickamus...@gmail.com wrote: theoritacally is it possible to change the chip with one that we know the key ? Will it be difficult to access to the chip ? On Feb 2, 7:19 am, Fernando Miguélez fernando.migue...@gmail.com wrote: Keys are used in raw communication through APDUs On Wed, Feb 1, 2012 at 7:46 PM, malls masubha...@gmail.com wrote: I don't see any interface of passing the keys to open secure element in the android code. I am not sure how many people claims that you need google Keys to open SecureElement. May be I am missing something. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
I don't see any interface of passing the keys to open secure element in the android code. I am not sure how many people claims that you need google Keys to open SecureElement. May be I am missing something. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Keys are used in raw communication through APDUs On Wed, Feb 1, 2012 at 7:46 PM, malls masubha...@gmail.com wrote: I don't see any interface of passing the keys to open secure element in the android code. I am not sure how many people claims that you need google Keys to open SecureElement. May be I am missing something. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Fernando, In that case, what's api to send apdu to external SE and how can we have external SE added to the phone. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Fernando, I was wondering if I can emulate the card in my application and send it to the terminal. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Dear Fernando I tried to patch as per your instructions and root the device. I get error saying libpn544.so not found. I don't see this file created after the compilation. Where is it trying to load from. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Softy Could you please share android client code snippet to send APDU command to SE after the patch. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Could you please share android client code snippet to send APDU command to SE after the patch. Well actually I haven't got here yet , but still trying , if you happen to find this ,do plz share it. I checked in other devices this shared library is present there, i think somehow it got deleted by the build process.Ideally it should bundle it up from the system folder.(but there is no system folder as well :( ) Rgds Saurabh ..pain is temporary.quitting lasts forever.. On Tue, Jan 31, 2012 at 1:59 AM, malls masubha...@gmail.com wrote: Thanks Saurabh and Fernando, that worked just adding the library. Just Curious is it supposed to be part of android build, not sure why am I missing that file. On Jan 26, 11:09 pm, s.rawat imsaurabhra...@gmail.com wrote: Hi, I faced this issue.Plz paste the file attached in the mail to the * /system/lib* directory as suggested by * Fernando* .And yes you have to do remount the system partition as RW. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. 2012/1/27 Fernando Miguélez fernando.migue...@gmail.com There must be an error with patches since other person had the same issue. Just copy it manually to the /system/lib directory of the phone (you have to remount the system partition as RW). 2012/1/27 malls masubha...@gmail.com Dear Fernando I tried to patch as per your instructions and root the device. I get error saying libpn544.so not found. I don't see this file created after the compilation. Where is it trying to load from. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en libpn544_fw.so 77KViewDownload -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
No, you cannot read/write APDUs from your application while working with an external reader. When card emulation is enabled APDUs are routed directly to SE from NFC Controller. APDU communication with SE has other objective, main application processor can not emulate a PICC, that is the task of SE. When communicating main processor with SE you can theoretically load/remove cardlets, interact with them and so on. For the time being Mifare embedded inside SmartMX chip can not be accessed from an application. At least AFAIK. On Tue, Jan 31, 2012 at 2:22 AM, malls masubha...@gmail.com wrote: Fernando, Thanks I could create custom image with nfc enabled by using your help. Just to clarify myself, if we are connected to external reader, I should be able to directly read/write APDUs from my app right. should I be using NFCService.transceive(..) method to read/write from the external reader. regards malls On Jan 4, 6:17 am, Fernando Miguélez fernando.migue...@gmail.com wrote: Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will restart automatically. When it comes to read/write the card by means of an external reader, any Mifare Classic 4K compatible RFID reader will do. If you try to access directly to the SE from an Android application I am afraid to disappoint you but that is not possible, at least I wasn't successful at it and nobody I know either. The reasons are well described in other posts and on stackoverflow. Regards On Wed, Jan 4, 2012 at 2:56 PM, s.rawat imsaurabhra...@gmail.com wrote: Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.com wrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps here http://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email
Re: [android-developers] Re: NFC Secure Element
Hallo Saurabh, What is the significance of this : I just looked through my code and found that I also explicitly disabled ISO 14443-4 activation (before polling) using this command: FF0003D41224 See page 9 of the reader API manual: Some Type A Tags may support both ISO14443-3 Type A and ISO14443-4 Type A operating modes. For example, JCOP30 supports MIFARE 1K emulation (ISO14443-3) and ISO14443-4. If the reader sends a RATS command to the tag, the ISO14443-4 mode will be activated, or the tag remains in MIFARE 1K emulation mode (ISO14443-3). It is up to the application to decide which operating mode to be activated. By default, the reader will perform automatic ISO14443-4 activation if the tag supports ISO14443-4. * To disable automatic ISO14443-4 activation: FF 00 00 00 03 D4 12 24 * To Enable automatic ISO14443-4 activation: FF 00 00 00 03 D4 12 34 So you need to disable ISO 14443-4 activation *before* you start the anti-collision sequence. Once the RATS command is sent, the SmartMX will not accept raw MIFARE classic commands anymore. br Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
There must be an error with patches since other person had the same issue. Just copy it manually to the /system/lib directory of the phone (you have to remount the system partition as RW). 2012/1/27 malls masubha...@gmail.com Dear Fernando I tried to patch as per your instructions and root the device. I get error saying libpn544.so not found. I don't see this file created after the compilation. Where is it trying to load from. regards malls -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi Michael* ** *. Yes i have followed the aforesaid method but as soon as I execute these commands.: *Step 1) Polling for the MIFARE 1K/4K Tags, 106 kbps* FF 00 00 00 04 D4 4A 01 00 * d5 4b 00 90 00* ( I am getting this) - which shows no NFC tag. and 63 00 for rest of the of the commands. I am using the same reader(ACR 122U ) as suggested by you. Is it possible to share your Nexus S Images, so that I could try them out here and confirm whether the files I have generated by compiling the Android 2.3.4-r1 source code with the card emulation patches , is correct or not. What is the significance of this : I just looked through my code and found that I also explicitly disabled ISO 14443-4 activation (before polling) using this command: FF0003D41224 Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Fri, Jan 20, 2012 at 10:16 PM, Michael Roland mi.rol...@gmail.comwrote: FF0003D41224 -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo Saurabh, You mean page 12 , section *5.3 Reading Binary Block*. I didn't find any section *5.3 Reading Binary Block* on that page. In fact, I mean have you tried the whole command sequence described for Card Access -- How to access MIFARE Classic Tags? on that page. You have to do the polling using these commands to access the card. The standard PC/SC commands will not work. I just looked through my code and found that I also explicitly disabled ISO 14443-4 activation (before polling) using this command: FF0003D41224 Can you tell me the name of card reader where we cant see this behavior (reader automatically performed protocol selection up to ISO 14443-4 / APDU layer) The ACR 122U was the only reader with which I successfully accessed the MIFARE area of the SmartMX so far. br, Michael On Thu, Jan 19, 2012 at 6:14 PM, Michael Roland mi.rol...@gmail.com mailto:mi.rol...@gmail.com wrote: Hallo Saurabh, I am getting This ATR now : *3B 8A 80 01 00 31 C1 73 C8 40 00 00 90 00 90* , which I have read in this group that it is for SmartMX. Correct, that's the PC/SC ATR for the SmartMX. I am looking into writing onto it but so far I am getting 63 00 response(which means error) I am trying to load., authenticate the keys and then read -write and then read back from the SmartMX (Secure Element). *_Here is my list of commands : _* FF82006006// load keys FF86050100026000// authenticate FFB210//read sector 2 FFD6000210// write sector 2 FFB210 // read sector 2 again I followed this -- http://www.nfc-reader.com/ NFC-smart-card-reader/ACR122-API-Manual/API_ACR122.pdf I would guess, that the reader automatically performed protocol selection up to ISO 14443-4 / APDU layer. In that state it is not possible to access the MIFARE part of the chip with reader-side MIFARE emulation. You could try the example on page 12ff of this document. br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com mailto:android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com mailto:android-developers%2bunsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi All, I am getting This ATR now : *3B 8A 80 01 00 31 C1 73 C8 40 00 00 90 00 90*, which I have read in this group that it is for SmartMX. I am looking into writing onto it but so far I am getting 63 00 response(which means error) I am trying to load., authenticate the keys and then read -write and then read back from the SmartMX (Secure Element). *Here is my list of commands : * FF82006006 // load keys FF86050100026000 // authenticate FFB210 //read sector 2 FFD6000210 // write sector 2 FFB210 // read sector 2 again I followed this -- http://www.nfc-reader.com/NFC-smart-card-reader/ACR122-API-Manual/API_ACR122.pdf My main aim is to get the notification programatically or any logs that comes out as the result of doing this.I will try sending these by combining them in APDUs from the application code.I think that will be possible.If successfull I will plan the next step.PLz assist me on this. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Fri, Jan 13, 2012 at 1:54 PM, s.rawat imsaurabhra...@gmail.com wrote: HI, I am gettign an ATR : A card is present. ATR: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 *FF 40* 00 00 00 00 D4 . I dont htink it emulated the card.Does it.For 1k/4k Mifare Classic Card it has to be 00 01(Mifare 1k) or 00 02(Mifare 1k) instead of *FF 40* .PLz correct my understanding.I have used the patches to enable to the phone in Card emulation mode. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Fri, Jan 6, 2012 at 11:24 AM, s.rawat imsaurabhra...@gmail.com wrote: Yes you are correct, now it looks fine and I can see the options getting ticked on the NFC Setting UI.But i was getting the segmentation fault as well.Plz find attached the logs( showing the logs at the boot time ).It shows the stack trace as well. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Thu, Jan 5, 2012 at 6:04 PM, s.rawat imsaurabhra...@gmail.com wrote: Sure I will try that and post the results ! ..pain is temporary.quitting lasts forever.. 2012/1/5 Fernando Miguélez fernando.migue...@gmail.com Saurabh, After reflashing my phone and verifying that the NFC toggle option was available also in main Wireless Settings Screen, and after examining your problem I reached the conclusion that your generated image does not include NFC support, only the settings screen. I reviewed the patches and *there was a bug. *The NFC was not enabled in building proccess because the wrong file was patched (device.mk instead of device_base.mk). Sorry for the incovenience. I have just updated the patches and uploaded to http://forum.xda-developers.com/showthread.php?p=17965091 . Could you please check from the beginning that now the patches are completely correct by rebuilding the image? It is safe to apply again over the patches files, since the changes apply to another file. On Thu, Jan 5, 2012 at 9:31 AM, s.rawat imsaurabhra...@gmail.comwrote: I did re-flashing from the patched Android Source and again the same thing.Here are the logcat logs on clicking the NFC Settings : D/dalvikvm( 298): GC_EXPLICIT freed 91K, 45% free 3160K/5703K, external 4731K/5234K, paused 290ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.WirelessSettings } from pid 493 D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 55K, 50% free 2933K/5831K, external 2878K/3220K, paused 20ms E/NFC ( 493): could not retrieve NFC service I/ActivityManager( 106): Displayed com.android.settings/.WirelessSettings: +351ms D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 43K, 49% free 3022K/5831K, external 3171K/3241K, paused 21ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.nfc.NfcSettings } from pid 493 I/ActivityManager( 106): Displayed com.android.settings/.nfc.NfcSettings: +261ms Any clue on this. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will
Re: [android-developers] Re: NFC Secure Element
Hallo Saurabh, I am getting This ATR now : *3B 8A 80 01 00 31 C1 73 C8 40 00 00 90 00 90* , which I have read in this group that it is for SmartMX. Correct, that's the PC/SC ATR for the SmartMX. I am looking into writing onto it but so far I am getting 63 00 response(which means error) I am trying to load., authenticate the keys and then read -write and then read back from the SmartMX (Secure Element). *_Here is my list of commands : _* FF82006006// load keys FF86050100026000// authenticate FFB210//read sector 2 FFD6000210// write sector 2 FFB210 // read sector 2 again I followed this -- http://www.nfc-reader.com/ NFC-smart-card-reader/ACR122-API-Manual/API_ACR122.pdf I would guess, that the reader automatically performed protocol selection up to ISO 14443-4 / APDU layer. In that state it is not possible to access the MIFARE part of the chip with reader-side MIFARE emulation. You could try the example on page 12ff of this document. br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi Michael , You mean page 12 , section *5.3 Reading Binary Block*. I tried that, i found as soon as I send the command the green light on the card reader turns Red for the time being(which I fear is some operation failed signal) , accompanied by the 63 00 response .I am using the *TestResMan *tool.Even though it shows Command is sent successfully and response is received in XXX secs. Can you tell me the name of card reader where we cant see this behavior (reader automatically performed protocol selection up to ISO 14443-4 / APDU layer) Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Thu, Jan 19, 2012 at 6:14 PM, Michael Roland mi.rol...@gmail.com wrote: Hallo Saurabh, I am getting This ATR now : *3B 8A 80 01 00 31 C1 73 C8 40 00 00 90 00 90* , which I have read in this group that it is for SmartMX. Correct, that's the PC/SC ATR for the SmartMX. I am looking into writing onto it but so far I am getting 63 00 response(which means error) I am trying to load., authenticate the keys and then read -write and then read back from the SmartMX (Secure Element). *_Here is my list of commands : _* FF82006006// load keys FF86050100026000// authenticate FFB210//read sector 2 FFD6000210// write sector 2 FFB210 // read sector 2 again I followed this -- http://www.nfc-reader.com/ NFC-smart-card-reader/ACR122-API-Manual/API_ACR122.pdf I would guess, that the reader automatically performed protocol selection up to ISO 14443-4 / APDU layer. In that state it is not possible to access the MIFARE part of the chip with reader-side MIFARE emulation. You could try the example on page 12ff of this document. br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
HI, I am gettign an ATR : A card is present. ATR: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 *FF 40* 00 00 00 00 D4 . I dont htink it emulated the card.Does it.For 1k/4k Mifare Classic Card it has to be 00 01(Mifare 1k) or 00 02(Mifare 1k) instead of *FF 40* .PLz correct my understanding.I have used the patches to enable to the phone in Card emulation mode. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Fri, Jan 6, 2012 at 11:24 AM, s.rawat imsaurabhra...@gmail.com wrote: Yes you are correct, now it looks fine and I can see the options getting ticked on the NFC Setting UI.But i was getting the segmentation fault as well.Plz find attached the logs( showing the logs at the boot time ).It shows the stack trace as well. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. On Thu, Jan 5, 2012 at 6:04 PM, s.rawat imsaurabhra...@gmail.com wrote: Sure I will try that and post the results ! ..pain is temporary.quitting lasts forever.. 2012/1/5 Fernando Miguélez fernando.migue...@gmail.com Saurabh, After reflashing my phone and verifying that the NFC toggle option was available also in main Wireless Settings Screen, and after examining your problem I reached the conclusion that your generated image does not include NFC support, only the settings screen. I reviewed the patches and *there was a bug. *The NFC was not enabled in building proccess because the wrong file was patched (device.mk instead of device_base.mk). Sorry for the incovenience. I have just updated the patches and uploaded to http://forum.xda-developers.com/showthread.php?p=17965091 . Could you please check from the beginning that now the patches are completely correct by rebuilding the image? It is safe to apply again over the patches files, since the changes apply to another file. On Thu, Jan 5, 2012 at 9:31 AM, s.rawat imsaurabhra...@gmail.comwrote: I did re-flashing from the patched Android Source and again the same thing.Here are the logcat logs on clicking the NFC Settings : D/dalvikvm( 298): GC_EXPLICIT freed 91K, 45% free 3160K/5703K, external 4731K/5234K, paused 290ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.WirelessSettings } from pid 493 D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 55K, 50% free 2933K/5831K, external 2878K/3220K, paused 20ms E/NFC ( 493): could not retrieve NFC service I/ActivityManager( 106): Displayed com.android.settings/.WirelessSettings: +351ms D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 43K, 49% free 3022K/5831K, external 3171K/3241K, paused 21ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.nfc.NfcSettings } from pid 493 I/ActivityManager( 106): Displayed com.android.settings/.nfc.NfcSettings: +261ms Any clue on this. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will restart automatically. When it comes to read/write the card by means of an external reader, any Mifare Classic 4K compatible RFID reader will do. If you try to access directly to the SE from an Android application I am afraid to disappoint you but that is not possible, at least I wasn't successful at it and nobody I know either. The reasons are well described in other posts and on stackoverflow. Regards On Wed, Jan 4, 2012 at 2:56 PM, s.rawat imsaurabhra...@gmail.comwrote: Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a
Re: [android-developers] Re: NFC Secure Element
I did re-flashing from the patched Android Source and again the same thing.Here are the logcat logs on clicking the NFC Settings : D/dalvikvm( 298): GC_EXPLICIT freed 91K, 45% free 3160K/5703K, external 4731K/5234K, paused 290ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.WirelessSettings } from pid 493 D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 55K, 50% free 2933K/5831K, external 2878K/3220K, paused 20ms E/NFC ( 493): could not retrieve NFC service I/ActivityManager( 106): Displayed com.android.settings/.WirelessSettings: +351ms D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 43K, 49% free 3022K/5831K, external 3171K/3241K, paused 21ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.nfc.NfcSettings } from pid 493 I/ActivityManager( 106): Displayed com.android.settings/.nfc.NfcSettings: +261ms Any clue on this. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will restart automatically. When it comes to read/write the card by means of an external reader, any Mifare Classic 4K compatible RFID reader will do. If you try to access directly to the SE from an Android application I am afraid to disappoint you but that is not possible, at least I wasn't successful at it and nobody I know either. The reasons are well described in other posts and on stackoverflow. Regards On Wed, Jan 4, 2012 at 2:56 PM, s.rawat imsaurabhra...@gmail.com wrote: Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.com wrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps herehttp://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html.Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this
Re: [android-developers] Re: NFC Secure Element
Hi Saurabdh, I reviewed my notes and I definetly built the image with lunch full_crespo-eng. Try building in engineer mode so the traces can be more verbose. Apart from that the process to compile the firmware is the same you described in your blog. On Thu, Jan 5, 2012 at 9:31 AM, s.rawat imsaurabhra...@gmail.com wrote: I did re-flashing from the patched Android Source and again the same thing.Here are the logcat logs on clicking the NFC Settings : D/dalvikvm( 298): GC_EXPLICIT freed 91K, 45% free 3160K/5703K, external 4731K/5234K, paused 290ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.WirelessSettings } from pid 493 D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 55K, 50% free 2933K/5831K, external 2878K/3220K, paused 20ms E/NFC ( 493): could not retrieve NFC service I/ActivityManager( 106): Displayed com.android.settings/.WirelessSettings: +351ms D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 43K, 49% free 3022K/5831K, external 3171K/3241K, paused 21ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.nfc.NfcSettings } from pid 493 I/ActivityManager( 106): Displayed com.android.settings/.nfc.NfcSettings: +261ms Any clue on this. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will restart automatically. When it comes to read/write the card by means of an external reader, any Mifare Classic 4K compatible RFID reader will do. If you try to access directly to the SE from an Android application I am afraid to disappoint you but that is not possible, at least I wasn't successful at it and nobody I know either. The reasons are well described in other posts and on stackoverflow. Regards On Wed, Jan 4, 2012 at 2:56 PM, s.rawat imsaurabhra...@gmail.com wrote: Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.com wrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps herehttp://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html.Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at
Re: [android-developers] Re: NFC Secure Element
Saurabh, After reflashing my phone and verifying that the NFC toggle option was available also in main Wireless Settings Screen, and after examining your problem I reached the conclusion that your generated image does not include NFC support, only the settings screen. I reviewed the patches and *there was a bug. *The NFC was not enabled in building proccess because the wrong file was patched (device.mk instead of device_base.mk). Sorry for the incovenience. I have just updated the patches and uploaded to http://forum.xda-developers.com/showthread.php?p=17965091 . Could you please check from the beginning that now the patches are completely correct by rebuilding the image? It is safe to apply again over the patches files, since the changes apply to another file. On Thu, Jan 5, 2012 at 9:31 AM, s.rawat imsaurabhra...@gmail.com wrote: I did re-flashing from the patched Android Source and again the same thing.Here are the logcat logs on clicking the NFC Settings : D/dalvikvm( 298): GC_EXPLICIT freed 91K, 45% free 3160K/5703K, external 4731K/5234K, paused 290ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.WirelessSettings } from pid 493 D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 55K, 50% free 2933K/5831K, external 2878K/3220K, paused 20ms E/NFC ( 493): could not retrieve NFC service I/ActivityManager( 106): Displayed com.android.settings/.WirelessSettings: +351ms D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 43K, 49% free 3022K/5831K, external 3171K/3241K, paused 21ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.nfc.NfcSettings } from pid 493 I/ActivityManager( 106): Displayed com.android.settings/.nfc.NfcSettings: +261ms Any clue on this. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will restart automatically. When it comes to read/write the card by means of an external reader, any Mifare Classic 4K compatible RFID reader will do. If you try to access directly to the SE from an Android application I am afraid to disappoint you but that is not possible, at least I wasn't successful at it and nobody I know either. The reasons are well described in other posts and on stackoverflow. Regards On Wed, Jan 4, 2012 at 2:56 PM, s.rawat imsaurabhra...@gmail.com wrote: Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.com wrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps herehttp://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html.Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To
Re: [android-developers] Re: NFC Secure Element
Sure I will try that and post the results ! ..pain is temporary.quitting lasts forever.. 2012/1/5 Fernando Miguélez fernando.migue...@gmail.com Saurabh, After reflashing my phone and verifying that the NFC toggle option was available also in main Wireless Settings Screen, and after examining your problem I reached the conclusion that your generated image does not include NFC support, only the settings screen. I reviewed the patches and *there was a bug. *The NFC was not enabled in building proccess because the wrong file was patched (device.mk instead of device_base.mk). Sorry for the incovenience. I have just updated the patches and uploaded to http://forum.xda-developers.com/showthread.php?p=17965091 . Could you please check from the beginning that now the patches are completely correct by rebuilding the image? It is safe to apply again over the patches files, since the changes apply to another file. On Thu, Jan 5, 2012 at 9:31 AM, s.rawat imsaurabhra...@gmail.com wrote: I did re-flashing from the patched Android Source and again the same thing.Here are the logcat logs on clicking the NFC Settings : D/dalvikvm( 298): GC_EXPLICIT freed 91K, 45% free 3160K/5703K, external 4731K/5234K, paused 290ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.WirelessSettings } from pid 493 D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 55K, 50% free 2933K/5831K, external 2878K/3220K, paused 20ms E/NFC ( 493): could not retrieve NFC service I/ActivityManager( 106): Displayed com.android.settings/.WirelessSettings: +351ms D/dalvikvm( 493): GC_EXTERNAL_ALLOC freed 43K, 49% free 3022K/5831K, external 3171K/3241K, paused 21ms I/ActivityManager( 106): Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.nfc.NfcSettings } from pid 493 I/ActivityManager( 106): Displayed com.android.settings/.nfc.NfcSettings: +261ms Any clue on this. Rgds, Saurabh ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will restart automatically. When it comes to read/write the card by means of an external reader, any Mifare Classic 4K compatible RFID reader will do. If you try to access directly to the SE from an Android application I am afraid to disappoint you but that is not possible, at least I wasn't successful at it and nobody I know either. The reasons are well described in other posts and on stackoverflow. Regards On Wed, Jan 4, 2012 at 2:56 PM, s.rawat imsaurabhra...@gmail.comwrote: Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.comwrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps herehttp://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html.Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You
Re: [android-developers] Re: NFC Secure Element
Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.com wrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps herehttp://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html.Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.com wrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps herehttp://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html.Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Well, options are enabled in cascade. The problem comes because the first option is not enabled. Besides, if you look at the Wireless Settings screen, there is only the NFC Settings option, but not the one that lets you enalbe/disable NFC directly from that screen. That is beacuse the Nfc service in not available. Connection to a computer in debug mode will draw some light. Instead of compiling the whole image again I suggest you to compile just the Nfc.apk system application and replace the original one. You must remount /system partition in read/write mode and overwrite the apk inside /system/app. Then you must kill the nfc service by means of DDMS view of the ADT (you must connnect the phone in debug mode and since you have compiled in userdebug mode you will see all the running proccesses). The service will restart automatically. When it comes to read/write the card by means of an external reader, any Mifare Classic 4K compatible RFID reader will do. If you try to access directly to the SE from an Android application I am afraid to disappoint you but that is not possible, at least I wasn't successful at it and nobody I know either. The reasons are well described in other posts and on stackoverflow. Regards On Wed, Jan 4, 2012 at 2:56 PM, s.rawat imsaurabhra...@gmail.com wrote: Thanks ! I will also try from my side recompiling it.So you mean I should get the Check boxes enabled for *Only Card EmulationMode* and *Use External SE* My main aim is to write to the NFC card in card emulation mode so that it can be read by any Card Reader.is it possible after your patches are applied using teh android SDKs or do we have to write some native application. Rgds, Softy ..pain is temporary.quitting lasts forever.. 2012/1/4 Fernando Miguélez fernando.migue...@gmail.com Great work. Obviously there is something wrong with the compilation. Have you tried to connect in debug mode the phone to a computer with Android Development Tools and see what the traces look like. They may offer a clue. My suspicion is that NfcService is crashing. I will review my notes tomorrow if I find something different to the steps you followed to build the image. On Wed, Jan 4, 2012 at 9:17 AM, softy imsaurabhra...@gmail.com wrote: Hi All, Thanks Fernando Miguélez Palomo for posting the patches.I have applied it to 2.3.4-r1 Android gingerbread and compiled /flashed it on Samsung Nexus S and was able to see the NFC Settings changed(though i cant select them, they are disabled) I have blogged the whole steps herehttp://techshek4u.blogspot.com/2012/01/applying-card-emulation-patch-to_03.html.Plz let me know if I miss something. @ Fernando Miguélez Palomo What next after that.How can i test this.Any source code or tool /card reader description will be enlightening. Rgds, softy -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi, I would like to know if it's possible to wirte data on the card with an android application ? Or is it the problem that you have been talking about a secret key that no one know ? Thx for the answer, -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
I only have a checkbox 'NFC', to activate the NFC reader. Activated (or not), the phone doesn't act as a Mifare tag on every Mifare test system I own. Is there something else I can check ? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Then the patches are not correctly applied. On Tue, Nov 29, 2011 at 9:56 AM, fuful ludwig.fulg...@gmail.com wrote: I only have a checkbox 'NFC', to activate the NFC reader. Activated (or not), the phone doesn't act as a Mifare tag on every Mifare test system I own. Is there something else I can check ? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
OK, understood. Now my next question will be about this patch : how can I apply it ? I'm totally new at Android, and I have no idea how to add this patch to my phone. Is there some information on the web somewhere I can follow do perform this ? Thank for your answer. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
There should be an option in Settings Screen (NFC Settings) On Fri, Nov 25, 2011 at 11:41 AM, fuful ludwig.fulg...@gmail.com wrote: Dear all, I've downloaded rom from Tommy, but I don't see the option Fernando is speaking of, about card emulation. Wherre these options are placed ? Thanks in advance. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
If you follow the complete thread you will answer yourself to both questions, no. El 05/08/2011 00:15, Xiang xiang...@gmail.com escribió: Hi, Thanks for the information and patches for manually enabling the card emulation in Android. I am able to read and write a block into the Mifare 4K emulated inside Nexus S using an external card reader. Is it possible to read the data inside the Mifare 4K from Android application? Is SEEK patches able to perform that? Thanks again. Regards, Xiang On Jul 19, 6:48 pm, Fernando Miguélez Palomo fernando.migue...@gmail.com wrote: I got it working on 2.3.4_r1!!! The key was enabling discoverability but in card emulation mode. The strange thing is now I can detect two smart card types with an Arcontia smart card reader: - ISO14443A tag CL1 tag (This is the Mifare 4K) - FELICA RCS-885 424kbs tag (I suppose this is really the Javacard, not a Felica card) I managed to write and read a block (4) to the Mifare 4K with default keys. Next thing will be investigating wheter 2.3.4 adds support by means of nxp-nfc library to directly send APDUs to the SE. You and Michael Roland already confirmed it was not possible with prior gingerbread versions. I post the corrected patch to get card emulation on 2.3.4_r1. One thing. Card stops being readable from an external reader after screen goes off and back on. However if you disable NFC and re-enable it (from settings) card is discoverable again. Thanks nemik for your work (you can update your patches with these corretions to work with gingerbread 2.3.4_r1 at your site if you want). Nfc-app-2_3_4_r1.diff 31KViewDownload -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo Fernando, From what I've read in the PN544 User Manual, I don't think that there is an equvalent for the wired mode with SWP/HCI (I would be happy to be proven wrong). Well, here is where the phHal4Nfc_Switch_Swp_Mode() comes. It is analog to the phHal4Nfc_Switch_SMX_Mode() which is used to set the wired mode to work with the SmartMX. I modified the function to use phHal4Nfc_Switch_Swp_Mode() with parameter eSWP_Switch_On (this parameter has an incorrect value by default, it must be enabled by using nemik's patches). If you are refering to this patch: http://nemik.net/code/android-nfc/libnfc-nxp.diff Then I don't see how it changes the value of eSWP_Switch_On typedef enum phHal_eSWP_Mode{ eSWP_Switch_Off = 0x00U, /* SWP Link is Switched off */ + //eSWP_Switch_Off, /* SWP Link is Switched off */ eSWP_Switch_Default, /* SWP is in Default Configuration Mode */ - eSWP_Switch_On /* SWP Link is Switched on */ + eSWP_Switch_On /* SWP Link is Switched on */ + //eSWP_Switch_On= 0x00U /* SWP Link is Switched on */ } phHal_eSWP_Mode_t; After this patch eSWP_Switch_On still is 0x02. Which is in fact the correct value according to PN544 user manual: SWP Switch Mode Event Parameters: - Value Description - 0x00Off (deactivated) 0x01Default mode 0x02On (activated) others RFU So there is no equivalent to the wired mode, but only options to enable/disable external emulation. When it comes to RIL issue. I patched the sources with SEEK diffs too but rild daemon crashes. SEEK mantainers say it is due to baseband processor not implementing required (AT+CSIM, AT+CCHO, AT+CCHC, AT+CGLA) commands (http://code.google.com/p/seek-for-android/wiki/UICCSupport). Correct. Is there any way to reverse engineer baseband firmware or get access to a modified version implementing those commands? Or has anyone discovered whether Samsung has other propietary commands achieving the same results (raw APDU exchange with SIM/UICC)? I believe this would be the most promising direction. Unfortunately, I haven't found much information on this. br Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi Michael, Correct, for the SE connected through NFC-WI/S2C, the NFC controller has three modes: off, wired and virtual mode. Off means that there is no communication with the secure element. Wired mode means that the secure element is visible to the application processor as if it was a (contactless) smartcard connected to the RF reader. Virtual mode means that the secure element is visible to external readers as if the phone were a contactless smartcard. That's right. From what I've read in the PN544 User Manual, I don't think that there is an equvalent for the wired mode with SWP/HCI (I would be happy to be proven wrong). Usually for the wired mode, the contact interface of the UICC would be used so it wouldn't really make sense if the NFC controller allowed for an additional* channel between the UICC and the application processor. *) Additional once the RIL supported APDU exchange with the UICC. Well, here is where the *phHal4Nfc_Switch_Swp_Mode() *comes*. *It is analog to the *phHal4Nfc_Switch_SMX_Mode() *which is used to set the wired mode to work with the SmartMX. In function *phLibNfc_SE_SetMode() *when told to enable wired mode it ignores to enable it if secure element is UICC instead of SmartMX. In this last case it uses *phHal4Nfc_Switch_SMX_Mode() *with the parameter *eSmartMx_Wired. *I modified the function to use *phHal4Nfc_Switch_Swp_Mode() *with parameter *eSWP_Switch_On *(this parameter has an incorrect value by default, it must be enabled by using nemik's patches). This function (phHal4Hnfc_Switch_Swp_Mode()) succeeds, which makes me think there could be a wired SWP mode. Although the SWP mode is enabled, no SE seems to be detected this way. When opening SMX in wired mode from *com_android_nfc_NativeNfcSecureElement_doOpenSecureElementConnection() *the callback is called twice after calling *phLibNfc_SE_SetMode(). *However if SWP is enabled (using external SE element) callback is only called once after *phLibNfc_SE_SetMode(). *If we avoid waiting for second callback * phLibNfc_RemoteDev_Connect()* always fails (internally no SE has been discovered). When it comes to RIL issue. I patched the sources with SEEK diffs too but rild daemon crashes. SEEK mantainers say it is due to baseband processor not implementing required (AT+CSIM, AT+CCHO, AT+CCHC, AT+CGLA) commands ( http://code.google.com/p/seek-for-android/wiki/UICCSupport). Is there any way to reverse engineer baseband firmware or get access to a modified version implementing those commands? Or has anyone discovered whether Samsung has other propietary commands achieving the same results (raw APDU exchange with SIM/UICC)? regards, Fernando -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo Fernando, As far as I understand sending APDUs to the SmartMX SE element is possible because the NFC Controller (PN544) is told to enable the NFC-WI interface with SE. This is carried out by calling phHal4Nfc_Switch_SMX_Mode(), with parameter eSmartMx_Wired (function phLibNfc_SE_SetMode()). Correct, for the SE connected through NFC-WI/S2C, the NFC controller has three modes: off, wired and virtual mode. Off means that there is no communication with the secure element. Wired mode means that the secure element is visible to the application processor as if it was a (contactless) smartcard connected to the RF reader. Virtual mode means that the secure element is visible to external readers as if the phone were a contactless smartcard. Wouldn't it be possible to use the SWP channel to send APDUs to UICC SE through NFC Controller in an wired mode from an application the same way it is performed when sending APDUs to the SmartMX element? From what I've read in the PN544 User Manual, I don't think that there is an equvalent for the wired mode with SWP/HCI (I would be happy to be proven wrong). Usually for the wired mode, the contact interface of the UICC would be used so it wouldn't really make sense if the NFC controller allowed for an additional* channel between the UICC and the application processor. *) Additional once the RIL supported APDU exchange with the UICC. Or is SWP only supposed for raw RF Communication and has no such equivalent capabilities used by NFC-WI? In fact it is quite the opposite. NFC-WI is the protocol for raw RF communication. SWP has several more capabilities. There is three protocols used on top of SWP: ACT, CLT and SHDLC. ACT is used for interface activation. CLT is a tunneling protocol for raw frames of the contactless protocol (used for e.g. MIFARE protocol). SHDLC is the high level data link protocol. On top of this HCI (Host Controller Interface) is used for communication between the UICC and the NFC controller. br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi Michael, As far as I understand sending APDUs to the SmartMX SE element is possible because the NFC Controller (PN544) is told to enable the NFC-WI interface with SE. This is carried out by calling *phHal4Nfc_Switch_SMX_Mode()*, with parameter *eSmartMx_Wired *(function *phLibNfc_SE_SetMode()).* * * Wouldn't it be possible to use the SWP channel to send APDUs to UICC SE through NFC Controller in an wired mode from an application the same way it is performed when sending APDUs to the SmartMX element? Or is SWP only supposed for raw RF Communication and has no such equivalent capabilities used by NFC-WI? Taking a look at the libnfc-nxp library theare are some SWP related functions that are not being used.Maybe *phHal4Nfc_Switch_Swp_Mode() *could be used in a similar fashion to *phHal4Nfc_Switch_SMX_Mode()*? * * * * -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo, I managed to write and read a block (4) to the Mifare 4K with default keys. Next thing will be investigating wheter 2.3.4 adds support by means of nxp-nfc library to directly send APDUs to the SE. You and Michael Roland already confirmed it was not possible with prior gingerbread versions. Just to be clear on that: From within Android apps it *is* possible to send APDUs to the internal secure element (SmartMX). But it *is not* possible to send APDus to an SWP-UICC. br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Have somebody activate the Card Emulation with UICC? Yes. I tryed it, with SmartMX SE it was no problem Card Emulation was running. When I tried the ID of my UICC in the Method doSelectSecureElement from NFC Service, then the Card Emulation was not running, Reader dont detect a Tag. Somebody knows why doSelectSecureElement Method dont working with UICC? If the UICC supports SWP, the doSelectSecureElement method works just fine here. (ID is 11259376 for UICC) Hi Michael, I am new to this forum and I am impressed of the level your mastership and the rest of the members. Do you mean you could enable card emulation mode from UICC? Could you read the contents of a smartcard through an external reader and also from an android application? -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo Markus, You are sure its not possible to access it [SWP-UICC] from an android application? In Madlmayers Blog he wrote, its possible because of the additional AT Commands in RIL since 2.3.2. Where did you find this information in Gerald's blog? I only found When Android switched from 2.3.1 to 2.3.2, Google made some changes in the telephony API, which are required by GD's smartcard stack., which referes to the Telephony API and not to the RIL itself. According to the information in the SEEK project (http://code.google.com/p/seek-for-android/) the RIL itself is still not able to handle the additional AT commands. Have somebody activate the Card Emulation with UICC? Yes. I tryed it, with SmartMX SE it was no problem Card Emulation was running. When I tried the ID of my UICC in the Method doSelectSecureElement from NFC Service, then the Card Emulation was not running, Reader dont detect a Tag. Somebody knows why doSelectSecureElement Method dont working with UICC? If the UICC supports SWP, the doSelectSecureElement method works just fine here. (ID is 11259376 for UICC) br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo Markus, But by loading the Key, occurs an error: /send FF82201A06 = FF 82 20 1A 06 FF FF FF FF FF FF .. (407461 nsec) = 69 86 i. Status: Command not allowed (no current EF) Actually this response means Volatile memory is not available according to the PC/SC standard. This suggests that the key number 0x1A is not usable with your reader. br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo, Opening a connection with it - using doOpenSecureElementConnection, like you can with the Smart-MX - will most definitely not work for a UICC SE though. As the NativeNfcSecureElement will only open a connection with the Smart-MX SE - completely ignoring a UICC even if it is detected. Perhaps you could tweak this code to force a connection with a UICC if it's detected, but I doubt that will work (correctly). No, unfortunately this will not work. Neither the libnfc-nxp nor the PN544 NFC chip support internal access to the UICC through this method. Therefore, we will have to wait until UICC access gets available through the Telephony API. br, Michael -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Are you guys sure it's a MIFARE 4k card it's emulating? When I put the device in emulation mode and read its ATR, I'm getting: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 00 00 00 00 00 6B While I'm actually expecting: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 02 00 00 00 00 69 Similar - but not quite. Thoughts? Regards, JMC -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
This may warrant a new thread, but since most people interested in NFC and the secure element are posting here, I'll just chime in. (the whole thread is a bit OT, since none of this stuff is part of the SDK) So, Google Wallet has been announced, and it does save stuff to the secure element. A few questions and thoughts: * is the Spring Nexus S different from the 'regular' Nexus S? Different secure element chip? Different keys? Different OS version? Anyone have one to confirm? * If the OS version is the same, and their are no API's for accessing the secure element, that only leaves the Wallet app using custom native libraries to access the SE. Unfortunately, that means that third-party developers are not likely to get access (through the SDK) * Reading the marketing blurbs, it looks like that relevant applets are only installed only after you install the Wallet app and authorize linking to your credit card. All in all, seems like a closed system, controlled by Google, which is understandable, but rather unfortunate. NFC for third party developers is just an interesting toy, and it seems it will stay that way. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo Martin, it seems you are right. Obviously, my tests were too superficial. I tested with an Omnikey 5321, but that reader automatically activated the SMX up to the ISO 14443-4 layer, so it was not possible to transmit any MIFARE Commands. I, therefore, switched to an ACR122U. I followed the instructions in that reader's manual to stop activation after ISO 14443-3 (the layer were MIFARE Classic kicks in). This seemed to work, but regardless of what commands I sent to the reader my program told me that the commands were successful. Yet, when I tried to read back any previously written data it did not work. It took me a while to figure out what was going wrong: I misinterpreted the steps required to stop ISO 14443-4 activation. I can now confirm that reading writing the MIFARE Classic area of the SmartMX works with the default keys (0x). (Tested with a properly initialized ACR122U and an NXP Pegoda reader.) Actually, I'm still a bit surprised that the default keys were used here. In fact I would have expected that the MIFARE area was locked with some non-standard keys to be protected against modification by anyone except Google (or whoever will get access to te rest of the secure element). So now we would only need to find a way to access the MIFARE area from within an application on the phone. I'm currently testing with a modified version of the 2.3.4 firmware. But as with the smart card readers, the SmartMX is automatically activated up to the ISO 14443-4/APDU layer. So far I was unable to use any MIFARE Classic commands to access the secure element. br Michael On 20.05.2011 13:32 Martin wrote: Hello Michael, here are the information I promised you yesterday. Reader: Omnikey 55x3 Software: HID Reader Utility Version 4.0.0.0 Key: it works for each sector. This is what we found in the api: // The well-known default MIFARE read key. All keys are set to this at the factory. // Using this key will effectively make the payload in the sector public. public static final byte[] KEY_DEFAULT = {(byte)0xFF,(byte)0xFF,(byte)0xFF,(byte)0xFF, (byte)0xFF,(byte)0xFF}; I checked the UID of the SecureElement, which I can get by calling the getSecureElementUid() of the NfcSecureElement class via reflection. And I also checked the sector 00 block 00 of the emulated MiFare card with our external NFC reader to get the UID. They match! Do you think it is possible to read/write data with APDU commands? There is a hidden method in the NfcSecureElement class called exchangeAPDU. public byte [] exchangeAPDU(int handle,byte [] data){...} I have tried some commands, which I found on page eleven at the following pdf document: http://www.nfc-reader.com/NFC-smart-card-reader/ACR122-API-Manual/API_ACR122.pdf But I always get back 6E 00. Best wishes! Martin On 19 Mai, 20:18, Michael Roland mi.rol...@gmail.com wrote: Hallo Martin, After enabling the card emulation mode on the Nexus S, I am able to read and write data to the emulated MiFare Classic 4k card by an external NFC reader. I would like to do that within an android app. Have you verified that you actually wrote data to the MIFARE Classic? I really doubt that you did. What MIFARE keys did you use? In my tests authentication passed regardless of the keys I used. In fact every command seemed to return successfully, but in fact no data was ever written to the card. You have spoken about the access keys, but aren't they the same for internal and external access? Yes, they would be the same for internal and external access. br, Michael On 19 Mai, 00:59, Michael Roland mi.rol...@gmail.com wrote: Hallo, I more or less understand how to do it but I don't understand if after is possible to build application on card emulation. Regarding the internalsecureelement(SmartMX): No. Even if you activate this chip as thesecureelement, you could only use its UID for your application. To edit data on it/install applications into it you would need to have the access keys for thatsecureelement. Regarding an externalsecureelementon the UICC (SIM card): Partly yes. You can activate an SWP-UICC assecureelement. But access is limited to external readers for the moment. Until now, there is no known way to get access to application on the UICC from a phone application. Moreover some of you speak about authentication, and about a password that is not possible to have? (What are you talking about when you speak about this stuff). The SmartMX in the Nexus S contains a JavaCard operating system that is compliant to GlobalPlatform. GlobalPlatform defines methods to manage multiple applications on this JavaCard. A central component of this card management is the Card Manager, which itself is one application on thesecureelement. The card manager provides an interface to load, install, ... delete applications on thesecureelement.
Re: [android-developers] Re: NFC Secure Element
Hallo Martin, After enabling the card emulation mode on the Nexus S, I am able to read and write data to the emulated MiFare Classic 4k card by an external NFC reader. I would like to do that within an android app. Have you verified that you actually wrote data to the MIFARE Classic? I really doubt that you did. What MIFARE keys did you use? In my tests authentication passed regardless of the keys I used. In fact every command seemed to return successfully, but in fact no data was ever written to the card. You have spoken about the access keys, but aren't they the same for internal and external access? Yes, they would be the same for internal and external access. br, Michael On 19 Mai, 00:59, Michael Roland mi.rol...@gmail.com wrote: Hallo, I more or less understand how to do it but I don't understand if after is possible to build application on card emulation. Regarding the internalsecureelement(SmartMX): No. Even if you activate this chip as thesecureelement, you could only use its UID for your application. To edit data on it/install applications into it you would need to have the access keys for thatsecureelement. Regarding an externalsecureelementon the UICC (SIM card): Partly yes. You can activate an SWP-UICC assecureelement. But access is limited to external readers for the moment. Until now, there is no known way to get access to application on the UICC from a phone application. Moreover some of you speak about authentication, and about a password that is not possible to have? (What are you talking about when you speak about this stuff). The SmartMX in the Nexus S contains a JavaCard operating system that is compliant to GlobalPlatform. GlobalPlatform defines methods to manage multiple applications on this JavaCard. A central component of this card management is the Card Manager, which itself is one application on thesecureelement. The card manager provides an interface to load, install, ... delete applications on thesecureelement. Additionally it controls access to these methods. To establish asecurechannel with the card manager (i.e. a connection that provides authenticity, integrity and possibly confidentiality) both, the entity that wants to manage the card and the card manager need to know one or more shared secrets, the authentication keys. Anyway some news aboutNFCcard emulation [nearfieldcommunicationworld] it seems that Google dev will not give use api about that in the next future. Still there is some developments towards card emulation going on (cf.http://www.nfctimes.com/news/android-card-emulation-expected-despite-... ) Moreover, what does it mean And if you improperly authenticate yourself a certain number of times, there aresecureelements out there that will physically destroy themselves and can never be recovered? Is related to the password of my previous questions? While the card manager is protected by access keys, there still exist some methods to find such keys. One of these methods would be brute forces (i.e. trying each possible key value). While such methods are usually very inefficient (if the key has an appropriate length) there might be some methods that could significantly speed up this process. As a safety mechanism the card manager usually implements an additional protection against such an attack: After ten consecutive authentication failures, the card manager locks itself and refuses any further commands. (Other applications that were previously installed on that card will continue to function as usual.) Once this lockdown has happened, there is *NO* way of reversing this. THerefore, once in lockdown no applications can be installed on, removed from, ... thesecureelement. br Michael On May 16, 3:48 pm, Goo_Goo danny.w.s...@gmail.com wrote: Could someone please post the the image withcardemulationenabled for Nexus S? On May 13, 5:08 am, Markus markus.tau...@gmail.com wrote: mtk you wrote after call phLibNfc_SE_SetMode(seID,phLibNfc_SE_ActModeWired,nfc_jni_se_set_mode_callb ack, (void *)nat); your nexus s was incardemulation I called it with mode default phLibNfc_SE_SetMode(seID,phLibNfc_SE_ActModeDefault,nfc_jni_se_set_mode_cal lback, (void *)nat); and get following log 5-12 22:08:54.421: DEBUG/NFCJNI(303):NFCcapabilities: HAL = 8150100, FW = a70414, HW = 620003, Model = 0, HCI = 1, Full_FW = 104, FW Update Info = 0 05-12 22:08:54.769: DEBUG/NFCJNI(303): phLibNfc_SE_GetSecureElementList() 05-12 22:08:54.769: DEBUG/NFCJNI(303): Number ofSecure Element(s) : 1 05-12 22:08:54.769: DEBUG/NFCJNI(303): phLibNfc_SE_GetSecureElementList(): SMX detected, handle=0xabcdef 05-12 22:08:54.769: DEBUG/NFCJNI(303): phLibNfc_SE_SetMode() returned 0x000d[NFCSTATUS_PENDING] 05-12 22:08:54.828: INFO/NFCJNI(303):NFCInitialized 05-12 22:08:54.828: DEBUG/NfcService(303):NFC-EE routing OFF 05-12 22:08:54.847: DEBUG/NfcService(303):NFC-C discovery ON BUT reader is not
Re: [android-developers] Re: NFC Secure Element
On Wed, May 18, 2011 at 9:20 PM, benza luca.schia...@gmail.com wrote: Moreover, what does it mean And if you improperly authenticate yourself a certain number of times, there are secure elements out there that will physically destroy themselves and can never be recovered? Is related to the password of my previous questions? It means that if you fail mutual authentication a certain number of times, some cards will go into an unrecoverable state and return error no matter what you send. Don't know about the on in the Nexus S though. -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hallo, I more or less understand how to do it but I don't understand if after is possible to build application on card emulation. Regarding the internal secure element (SmartMX): No. Even if you activate this chip as the secure element, you could only use its UID for your application. To edit data on it/install applications into it you would need to have the access keys for that secure element. Regarding an external secure element on the UICC (SIM card): Partly yes. You can activate an SWP-UICC as secure element. But access is limited to external readers for the moment. Until now, there is no known way to get access to application on the UICC from a phone application. Moreover some of you speak about authentication, and about a password that is not possible to have? (What are you talking about when you speak about this stuff). The SmartMX in the Nexus S contains a JavaCard operating system that is compliant to GlobalPlatform. GlobalPlatform defines methods to manage multiple applications on this JavaCard. A central component of this card management is the Card Manager, which itself is one application on the secure element. The card manager provides an interface to load, install, ... delete applications on the secure element. Additionally it controls access to these methods. To establish a secure channel with the card manager (i.e. a connection that provides authenticity, integrity and possibly confidentiality) both, the entity that wants to manage the card and the card manager need to know one or more shared secrets, the authentication keys. Anyway some news about NFC card emulation [nearfieldcommunicationworld] it seems that Google dev will not give use api about that in the next future. Still there is some developments towards card emulation going on (cf. http://www.nfctimes.com/news/android-card-emulation-expected-despite-doubts-google-engineers ) Moreover, what does it mean And if you improperly authenticate yourself a certain number of times, there are secure elements out there that will physically destroy themselves and can never be recovered? Is related to the password of my previous questions? While the card manager is protected by access keys, there still exist some methods to find such keys. One of these methods would be brute forces (i.e. trying each possible key value). While such methods are usually very inefficient (if the key has an appropriate length) there might be some methods that could significantly speed up this process. As a safety mechanism the card manager usually implements an additional protection against such an attack: After ten consecutive authentication failures, the card manager locks itself and refuses any further commands. (Other applications that were previously installed on that card will continue to function as usual.) Once this lockdown has happened, there is *NO* way of reversing this. THerefore, once in lockdown no applications can be installed on, removed from, ... the secure element. br Michael On May 16, 3:48 pm, Goo_Goo danny.w.s...@gmail.com wrote: Could someone please post the the image withcardemulationenabled for Nexus S? On May 13, 5:08 am, Markus markus.tau...@gmail.com wrote: mtk you wrote after call phLibNfc_SE_SetMode(seID,phLibNfc_SE_ActModeWired,nfc_jni_se_set_mode_callb ack, (void *)nat); your nexus s was incardemulation I called it with mode default phLibNfc_SE_SetMode(seID,phLibNfc_SE_ActModeDefault,nfc_jni_se_set_mode_cal lback, (void *)nat); and get following log 5-12 22:08:54.421: DEBUG/NFCJNI(303):NFCcapabilities: HAL = 8150100, FW = a70414, HW = 620003, Model = 0, HCI = 1, Full_FW = 104, FW Update Info = 0 05-12 22:08:54.769: DEBUG/NFCJNI(303): phLibNfc_SE_GetSecureElementList() 05-12 22:08:54.769: DEBUG/NFCJNI(303): Number of Secure Element(s) : 1 05-12 22:08:54.769: DEBUG/NFCJNI(303): phLibNfc_SE_GetSecureElementList(): SMX detected, handle=0xabcdef 05-12 22:08:54.769: DEBUG/NFCJNI(303): phLibNfc_SE_SetMode() returned 0x000d[NFCSTATUS_PENDING] 05-12 22:08:54.828: INFO/NFCJNI(303):NFCInitialized 05-12 22:08:54.828: DEBUG/NfcService(303):NFC-EE routing OFF 05-12 22:08:54.847: DEBUG/NfcService(303):NFC-C discovery ON BUT reader is not detecting a Tag on my phone Is there maybe a problem to setting the mode returned 0x000d[NFCSTATUS_PENDING] sounds not so great I am working with CyanogenMod 7 (Android 2.3.4) regards Markus- Hide quoted text - - Show quoted text - -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
great mtk, my doubts are getting cleared... So to work on WI mode , i need to set the SE to wired -interface mode like u said. After this if i Use RawTagconenction to send GP commands to SE , Will this work for WI mode? I mean can u select the 0 AID with this? . Sorry i dont have device yet, so still working on with code If this is the case, then for Credit card emulation , Is my assumptions correct : * The cardlet in SE will be given by TSM * the midlet in mobile application will access SE cardlet via the method you described earlier(for gingerbread) , but only if its digitally signed by TSM Are these 2 assuptions correct.? Also can you share doc/link on GP complaince and commands? Please advice Regards, Ajith On Fri, Jan 28, 2011 at 9:19 PM, mtk mano...@gmail.com wrote: I added the code to set wired mode in com_android_nfc_NativeNfcManager.cpp. I also added some additional methods on NFcService so I can conveniently call it from my test activity. For sending APDU commands in SWP mode, I use another activity with TAG_DISCOVERED action in android manifest, (just like the tag reader same program) and then use RawTagConnection to send APDU bytes. Btw I think the SE is GP compliant! When I send the select command with zero AID (Select ISD per GP, 00 a4 04 00 00) - it promptly responds back with FCI template! So it looks like we can use install apps into the SE, once we have the keys? Sorry I'm new to GP so learning stuff as I go... On Jan 27, 10:25 pm, nemik ne...@nemik.net wrote: mtk, very cool! So when you did that call directly (somewhere in init of the jni code?) you got it to detect? How are you sending APDU commands? Also, if I understand wired mode correctly, the tag is not emulated externally to other readers; it's only available internally using the NFC API? gusdgg, yes, I saw the secure elements using the getSecureElementList() and just doing logging with those and observing them using `adb logcat`. I think that is in one of the diffs I posted. It worked OK for me and I wasn't seeing any permission errors. Though I never even bothered to do it via reflection on the stock firmware since I figured it would just deny it. Your findings clearly confirm that. As for the SmartMX chip, maybe you're right. But I suppose it could also be built into the PN544 chip itself. I have no idea, I wasn't able to find any datasheets that talk about it and have no details on the NXP chips Samsung's been sourcing for the Nexus S. On Jan 21, 11:28 am, gusdgg gus...@gmail.com wrote: Nemik, Thanks for posting the diff's and great work! I'll patch the codebase and see what happen. In the meantime and coming back to your question about the Nexus S hardware containing a secure element like SmartMX, did you get the secure element list with the method getSecureElementList() in the patched version? I called this method (via reflection, no patched yet) but it gets the error message WRITE_SECURE_SETTINGS permission required As you may know, there are an excelent nexus s teardown ( http://www.ifixit.com/Teardown/Nexus-S-Teardown/4365/1) from iFixit. You'll see there, in the step 7 - 2nd picture, the NXP PN544NFCchip closely located to the UICC slot, but as far I can see there isn't any SmartMx chip in that picture, nor in the others. Regards, gusdgg -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi Nemik * I have small doubt with current implementation. Is SmartMX a Secure Element ?If so can you give me examples? * I have checked libnfc-nxp , enabling P2P parameter was at phnfcconfig.h. what needs to be done to enable Secure element? what are MifarePlus, Desfire, Topaz . Is it a Card type or Secure Element? * Also where is the general read-write methods for entry of Secure element. All I can see is phLibNfc_SE.c is methods for getting list of secured element, selecting secure element, deselecting. * But method for exchange of data is not present. Can you tell me where can I find this? * In libnfc-nxp There are files like phFriNfc_NdefMap.c, phFriNfc_MifareULMap.c, phFriNfc_TopazMap.c, phFriNfc_TopazDynamicMap.c, phFriNfc_DesfireMap.c, phFriNfc_FelicaMap.c. Can you tell me what these files are used for. The current comments in the file do not provide sufficient information * I am trying to use Wired Mode, Hence phHciNfc_WI.c will be used to communicate between Controller and Secure element right? Please advice. Regards, Ajith Hi On Sun, Jan 9, 2011 at 1:00 AM, nemik ne...@nemik.net wrote: I was able to enable a secure element the other day by messing around with this external/libnfc-nxp library. I enabled SMX (SmartMX) in the config headers, and upon booting and monitoring `adb logcat` during boot I saw 1 secure elements (a SmartMX one) had been enabled. I was then able to change the mode in NfcService.java to card emulation mode. The Nexus S is now emulating a MiFare Classic 4k card. However, I am not able to read sectors from the card directly. I've been trying to use the micmd tool to do that but things act pretty strangely. For example, I tried to read block 0 and micmd tells me Could not read the data block! Tag halted, reconnecting... but what's even stranger is that at that point, 'adb logcat' shuts itself off. As if that read command somehow interfered with USB or logging? However trying `a` commands to authenticate in micmd always works for some reason and it'll even pretent to write and persist data to blocks; but of course that data never actually gets persisted to the emulated card. Maybe this is a bug in micmd? Does anyone know if the Nexus S hardware (or its PN544 NFC chipset) even contains a hardware secure element like SmartMX? I tried also enabling UICC but that didn't seem to work at all and NFC service wouldn't even start in that case. Plus my SIM card is MANY years old and not sure it'd even work... Either way, I used libnfc.org's `nfc-mfclassic` tool to dump out the contents of that emulated 4k card. It is here: http://pastebin.com/zKZ2ELcw Seems to be entirely blank which is why I'm wondering if these aren't some default values it would spit out anyway even if no SmartMX module existed? If anyone has any more insights into this, I'd be very happy to hear them. -Nemanja On Dec 19 2010, 7:26 pm, nemik ne...@nemik.net wrote: Dominik, Yea, that's right. All it does currently is read; at least via the Java API. If you look at the kernel source though, a bunch of ifdefs which allow for emulation were all disabled. So full compliance with theNFCstandard will have to wait for a future kernel release. On Dec 7, 5:42 am, Gruntz Dominik dominik.gru...@fhnw.ch wrote: Hi everyone, Do I see it right, that the Android 2.3NFCAPI does not provide functionality to access a secure element? A secure element is a smartcard connected to theNFCcontroller, i.e. a secure storage in the device, either embedded in the mobile phone, on the SIM card or on a SD card. With JavaME access to the secure element was provided with JSR177 which supported the communication with smart card applications usind APDU commands. I have not seen comparable functionality in package android.nfc. Thanks for any hints Dominik -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.comandroid-developers%2bunsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Re: NFC Secure Element
Hi Nemik I'm running over the libnfc code. I can see these 4 files to be prominent for communication with SE phHciNfc_CE_A.c phHciNfc_CE_B.c I am thinking the above two might be used for R/W into SE from App Processor. And the below two is used for communication between NFC Controller and SE. phHciNfc_SWP.c phHciNfc_WI.c Please go through these files and let me know if I'm in right path. Regards, Ajith On Mon, Jan 10, 2011 at 11:44 AM, nemik ne...@nemik.net wrote: Ajith, According to http://discussion.forum.nokia.com/forum/showthread.php?199442-6212-device-how-to-work-with-the-secure-element the CN072 is a secure element in the Smart MX family. I'm not sure the same one is in the Nexus S, but I presume the one in there is at least very similar. Here is the info on it: http://www.nxp.com/acrobat_download2/other/identification/SFS107710.pdf I'm still trying to figure out how to get access to it as well, for reading or writing. I doubt there are any specific commands for it though, it just takes regular commands over ISO14443 just like other MiFare cards. On Jan 9, 11:31 pm, Ajith Kamath sjce.aj...@gmail.com wrote: Hi Nemik * I have small doubt with current implementation. Is SmartMX a Secure Element ?If so can you give me examples? * I have checked libnfc-nxp , enabling P2P parameter was at phnfcconfig.h. what needs to be done to enable Secure element? what are MifarePlus, Desfire, Topaz . Is it a Card type or Secure Element? * Also where is the general read-write methods for entry of Secure element. All I can see is phLibNfc_SE.c is methods for getting list of secured element, selecting secure element, deselecting. * But method for exchange of data is not present. Can you tell me where can I find this? * In libnfc-nxp There are files like phFriNfc_NdefMap.c, phFriNfc_MifareULMap.c, phFriNfc_TopazMap.c, phFriNfc_TopazDynamicMap.c, phFriNfc_DesfireMap.c, phFriNfc_FelicaMap.c. Can you tell me what these files are used for. The current comments in the file do not provide sufficient information * I am trying to use Wired Mode, Hence phHciNfc_WI.c will be used to communicate between Controller and Secure element right? Please advice. Regards, Ajith Hi On Sun, Jan 9, 2011 at 1:00 AM, nemik ne...@nemik.net wrote: I was able to enable a secure element the other day by messing around with this external/libnfc-nxp library. I enabled SMX (SmartMX) in the config headers, and upon booting and monitoring `adb logcat` during boot I saw 1 secure elements (a SmartMX one) had been enabled. I was then able to change the mode in NfcService.java to card emulation mode. The Nexus S is now emulating a MiFare Classic 4k card. However, I am not able to read sectors from the card directly. I've been trying to use the micmd tool to do that but things act pretty strangely. For example, I tried to read block 0 and micmd tells me Could not read the data block! Tag halted, reconnecting... but what's even stranger is that at that point, 'adb logcat' shuts itself off. As if that read command somehow interfered with USB or logging? However trying `a` commands to authenticate in micmd always works for some reason and it'll even pretent to write and persist data to blocks; but of course that data never actually gets persisted to the emulated card. Maybe this is a bug in micmd? Does anyone know if the Nexus S hardware (or its PN544 NFC chipset) even contains a hardware secure element like SmartMX? I tried also enabling UICC but that didn't seem to work at all and NFC service wouldn't even start in that case. Plus my SIM card is MANY years old and not sure it'd even work... Either way, I used libnfc.org's `nfc-mfclassic` tool to dump out the contents of that emulated 4k card. It is here: http://pastebin.com/zKZ2ELcw Seems to be entirely blank which is why I'm wondering if these aren't some default values it would spit out anyway even if no SmartMX module existed? If anyone has any more insights into this, I'd be very happy to hear them. -Nemanja On Dec 19 2010, 7:26 pm, nemik ne...@nemik.net wrote: Dominik, Yea, that's right. All it does currently is read; at least via the Java API. If you look at the kernel source though, a bunch of ifdefs which allow for emulation were all disabled. So full compliance with theNFCstandard will have to wait for a future kernel release. On Dec 7, 5:42 am, Gruntz Dominik dominik.gru...@fhnw.ch wrote: Hi everyone, Do I see it right, that the Android 2.3NFCAPI does not provide functionality to access a secure element? A secure element is a smartcard connected to theNFCcontroller, i.e. a secure storage in the device, either embedded in the mobile phone, on the SIM card or on a SD card. With JavaME access to the secure element was provided