title: P2P NFC Communication Between Galaxy S3 and ACR122
body: <p>I'm working on a project which requires an NFC communication between an android phone and a PC. I am using Galaxy S3 as android phone and ACR122 as NFC reader. I have tried the applications at <a href="http://www.grundid.de/nfc/" rel="nofollow">here</a> and <a href="http://code.google.com/p/ismb-npp-java/" rel="nofollow">here</a>.</p>
  
  <p>I used the sample application which found in android sdk to beam the NDEF message through NFC.</p>
  
  <p>No matter how many times I tried, I couldn't establish a connection between the phone and PC. Android application works fine, since it can push the NDEF message through other phones, but when it comes to connecting with the pc, it doesn't work. Led on the reader changes color from red to blinking green and orange when I touch the phone to the reader, but nothing else happens. </p>
  
  <p>There is the log output from the ismb-npp-java application:</p>
  
  <blockquote>
    <p>Get factory</p>
    
    <p>Get terminals</p>
    
    <p>Terminal name: ACS ACR122 0</p>
    
    <p>T=1</p>
    
    <p>Called rightProcedureTarget..</p>
    
    <p>[DEBUG] {sending   [50 bytes]} 0xFF 0x00 0x00 0x00 0x2D 0xD4 0x8C 0x01 0x00 0x00 0x00 0x00 >0x00 0x40 0x01 0xFE 0x0F 0xBB 0xBA 0xA6 0xC9 0x89 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 >0xFF 0xFF 0x01 0xFE 0x0F 0xBB 0xBA 0xA6 0xC9 0x89 0x00 0x00 0x06 0x46 0x66 0x6D 0x01 0x01 >0x10 0x00 </p>
    
    <p>it.ismb.npp.IsmbNppException: problem with transmitting data</p>
    
    <p>[DEBUG] {sending   [7 bytes]} 0xFF 0x00 0x00 0x00 0x02 0xD4 0x86 </p>
    
    <p>[DEBUG] {sending   [26 bytes]} 0xFF 0x00 0x00 0x00 0x15 0xD4 0x8E 0x05 0x20 0x06 0x0F 0x63 >0x6F 0x6D 0x2E 0x61 0x6E 0x64 0x72 0x6F 0x69 0x64 0x2E 0x6E 0x70 0x70</p>
    
    <p>at it.ismb.npp.IsmbNppConnection.transceive(IsmbNppConnection.java:281)</p>
    
    <p>at it.ismb.npp.IsmbNppConnection.rightProcedureTarget(IsmbNppConnection.java:301)</p>
    
    <p>at it.ismb.npp.SenderToPhone$ThreadSender.run(SenderToPhone.java:90)</p>
    
    <p>at it.ismb.npp.SenderToPhone$InitiatorTask.run(SenderToPhone.java:75)</p>
    
    <p>at java.util.TimerThread.mainLoop(Unknown Source)</p>
    
    <p>at java.util.TimerThread.run(Unknown Source)</p>
    
    <p>it.ismb.npp.IsmbNppException: problem with transmitting data</p>
    
    <p>at it.ismb.npp.IsmbNppConnection.transceive(IsmbNppConnection.java:281)</p>
    
    <p>at it.ismb.npp.IsmbNppConnection.rightProcedureTarget(IsmbNppConnection.java:306)</p>
    
    <p>at it.ismb.npp.SenderToPhone$ThreadSender.run(SenderToPhone.java:90)</p>
    
    <p>at it.ismb.npp.SenderToPhone$InitiatorTask.run(SenderToPhone.java:75)</p>
    
    <p>at java.util.TimerThread.mainLoop(Unknown Source)</p>
    
    <p>at java.util.TimerThread.run(Unknown Source)</p>
    
    <p>Exception in thread "Timer-0" java.lang.IllegalStateException: Card has been removed</p>
    
    <p>at sun.security.smartcardio.CardImpl.checkState(Unknown Source)</p>
    
    <p>at sun.security.smartcardio.ChannelImpl.checkClosed(Unknown Source)</p>
    
    <p>at sun.security.smartcardio.ChannelImpl.transmit(Unknown Source)</p>
    
    <p>at it.ismb.npp.IsmbNppConnection.transceive(IsmbNppConnection.java:263)</p>
    
    <p>at it.ismb.npp.IsmbNppConnection.rightProcedureTarget(IsmbNppConnection.java:317)</p>
    
    <p>at it.ismb.npp.SenderToPhone$ThreadSender.run(SenderToPhone.java:90)</p>
    
    <p>at it.ismb.npp.SenderToPhone$InitiatorTask.run(SenderToPhone.java:75)</p>
    
    <p>at java.util.TimerThread.mainLoop(Unknown Source)</p>
    
    <p>at java.util.TimerThread.run(Unknown Source)</p>
  </blockquote>
  
  <p>I've used all of the drivers I could find (Including the latest driver) but the problem persists.</p>
  
  <p>Could there be a problem with the device? Or am I missing something here?</p>