I hope I didn't but I think I did trashed my xnt...Help please

Hello Everyone: ( And Especially Amal) This is an urgent request for Help I’m not sure but I think I might have done irreparable damage to my implanted xNT chip I did what I thought was Formatting the xNT using a developed Software Terminal Interface on my MAC it has been wiped clean and all that is left that I can find in an Android NFC Card Reader is That There is a Card Present and the Card ID: Hexadecimal, Decimal, Hexadecimal (Reverse) and the Decimal (Reverse) values. I’ve tried accessing the chip using the Dangerous NFC and the DT Support Tool apps but neither one will recognize the chip. I’m at a loss as to what else to do with trouble shooting and I’m at an impass I’ve just started using the android apps to no avail I’ve been playing around with the xNT in OSX and iOS since I implanted it and now I think I’ve really messed it up ( …—… )
Not sure but it would seem that the peripheral I’m using to read the chip will not interface with the Dangerous Things apps this could just be me stabbing in the dark not sure I’m using an ACR122 Reader with a LG K20V Smart Phone
Thank you for your considerations.

hmm… had you protected it with dangerous nfc prior to your attempt to “format” it? Try doing a full scan with TagInfo and posting results.

Thanks for the quick reply and input Amal:
No I did not protect it with dangerous nfc Before I attempted to format it I was not aware that was required , I was attempting to push everything through OSX High Sierra & iOS 11 Developer Betas I was not in the Android eco-system at the time.
Now I’m attempting to use and LG K20V Android version 7.0 last updated 08/01/2017 I had to convert the os to developer and enable USB debugging in order for the phone to recognize the ACR122 reader. when I tried to download the Taginfo app by NXP you suggested to do a full scan I’m being told by google play App Store the my devise does not support that app…:thinking: I am at a complete loss not sure but it would seem that for some reason the dangerous Nfc app does not automaticly recognize the ACR122 either because of hardware issues or software issues or phone setting issues :thinking:

Does the LG K20V not have an NFC reader integrated? If not, then the ACR122U won’t work correctly with TagInfo because it requires different drivers and the command set is different than the native NFC radio… usually.

Basically what could have happened is that the “format” that was done inadvertently modified the configuration bytes in pages E1-E6… which are the last few pages of the NTAG216 chip. That position means that many software packages that incorrectly identify the NTAG216 may just attempt to consider those pages as “user memory” and just write whatever data they want to those pages. If that happens, then the possibility of permanently locking your tag, password protecting it against writes or even reads, or locking the configuration pages forever are all possibilities.

To get a sense of what’s going on, you’ll need to find a phone that has a built-in NFC reader, or a software package that can use the ACR122U to output all page read attempts and the results.

Hi Amal thank you for all your help troubleshooting today after a trip to Verizon and several tech support phone calls to LG we think the problem is that the nfc reader integrated into their phone has some how become disabled after the phone was converted to developer and LG tech support is bumping up the ticket a level or 2 and will email me the instructions to re-activate the NFC reader… if possible :roll_eyes: if not I might have to get a second android phone just to use your apps :laughing:
Thanks a million for all the help and support you’ve given me on this!
Best regards
Eric

Happy to help! Please update as things progress.

Amal

1 Like

I really appreciate that Amal… I have successfully initialized and tested and I’m able to write, store and read cards in the xNT with MAC OSX and I’m waiting for a usb gender changer to test out the ACR122 on iOS 11… as I said I’m Green when it comes to using Android and it would seem that different android os packages on different phones behave differently I will update you and the forum with more info as I go along…Thanks for the validation by asking for updates and going out of your way to make me feel welcome.:vulcan_salute:
Kind regards
Eric

1 Like

Hi amal

What I’ve found out so far when I switched my phone to developer the NFC beam was not enabled first( and is not enabled by default because LG for some reason would prefer you call them after your first attempt to use google pay fails when trying to pay for your venti double doppio macchiato @ Starbucks :flushed:) and now there is no GUI toggle in the os on the phone to turn it on because that function does not exist anymore in developer mode and switching to developer was a one way ticket… I got tired of waiting for LG tech support so I’m going to attempt to do it myself so Please let me know if you think this is a good idea for me to follow this path since I know next to nothing about android open source coding and should I quit while I’m ahead with getting my phone to recognize the ACR122 and just bite the bullet and get a second android phone stock enable NFC on it and use the DT apps that way on that device…feeling a bit nervous about this.:worried:

To enable Android Beam:

Create an NdefMessage that contains the NdefRecords that you want to push onto the other device.
Call setNdefPushMessage() with a NdefMessage or call setNdefPushMessageCallback passing in a NfcAdapter.CreateNdefMessageCallback object in the onCreate() method of your activity. These methods require at least one activity that you want to enable with Android Beam, along with an optional list of other activities to activate.
In general, you normally use setNdefPushMessage() if your Activity only needs to push the same NDEF message at all times, when two devices are in range to communicate. You use setNdefPushMessageCallback when your application cares about the current context of the application and wants to push an NDEF message depending on what the user is doing in your application.

package com.example.android.beam;

import android.app.Activity;
import android.content.Intent;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.nfc.NfcAdapter.CreateNdefMessageCallback;
import android.nfc.NfcEvent;
import android.os.Bundle;
import android.os.Parcelable;
import android.widget.TextView;
import android.widget.Toast;
import java.nio.charset.Charset;

public class Beam extends Activity implements CreateNdefMessageCallback {
NfcAdapter mNfcAdapter;
TextView textView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    TextView textView = (TextView) findViewById(R.id.textView);
    // Check for available NFC Adapter
    mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
    if (mNfcAdapter == null) {
        Toast.makeText(this, "NFC is not available", Toast.LENGTH_LONG).show();
        finish();
        return;
    }
    // Register callback
    mNfcAdapter.setNdefPushMessageCallback(this, this);
}

@Override
public NdefMessage createNdefMessage(NfcEvent event) {
    String text = ("Beam me up, Android!\n\n" +
            "Beam Time: " + System.currentTimeMillis());
    NdefMessage msg = new NdefMessage(
            new NdefRecord[] { createMime(
                    "application/vnd.com.example.android.beam", text.getBytes())
     /**
      * The Android Application Record (AAR) is commented out. When a device
      * receives a push with an AAR in it, the application specified in the AAR
      * is guaranteed to run. The AAR overrides the tag dispatch system.
      * You can add it back in to guarantee that this
      * activity starts when receiving a beamed message. For now, this code
      * uses the tag dispatch system.
      */
      //,NdefRecord.createApplicationRecord("com.example.android.beam")
    });
    return msg;
}

@Override
public void onResume() {
    super.onResume();
    // Check to see that the Activity started due to an Android Beam
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {
        processIntent(getIntent());
    }
}

@Override
public void onNewIntent(Intent intent) {
    // onResume gets called after this to handle the intent
    setIntent(intent);
}

/**
 * Parses the NDEF Message from the intent and prints to the TextView
 */
void processIntent(Intent intent) {
    textView = (TextView) findViewById(R.id.textView);
    Parcelable[] rawMsgs = intent.getParcelableArrayExtra(
            NfcAdapter.EXTRA_NDEF_MESSAGES);
    // only one message sent during the beam
    NdefMessage msg = (NdefMessage) rawMsgs[0];
    // record 0 contains the MIME type, record 1 is the AAR, if present
    textView.setText(new String(msg.getRecords()[0].getPayload()));
}

}
Note that this code comments out an AAR, which you can remove. If you enable the AAR, the application specified in the AAR always receives the Android Beam message. If the application is not present, Google Play is started to download the application. Therefore, the following intent filter is not technically necessary for Android 4.0 devices or later if the AAR is used:

With this intent filter, the com.example.android.beam application now can be started when it scans an NFC tag or receives an Android Beam with an AAR of type com.example.android.beam, or when an NDEF formatted message contains a MIME record of type application/vnd.com.example.android.beam.

Interesting… accessing os features via NFC intent. Fun!

1 Like