Fixing a Broken Google Wallet

I recently upgraded to a Google Nexus 4 phone from my old HTC Inspire HD. Unfortunately, the original device that I received had some problems with the ear-piece, resulting in a very noticeable static hissing noise during calls and even when the phone wasn’t in use. I decided to RMA the defective device to Google in exchange for a replacement. After several weeks of waiting, I finally got my hands on my Rev. 11 Google Nexus 4 (original was Rev. 10) and prepared to transfer over to the new phone. I opted to use a standard nandroid backup of the original device’s content in order to transfer everything to the new device (essentially duplicating the content). Unfortunately, I did not pay attention to the recommended process of transferring Google Wallet to this new device, which suggests reseting the original device’s Wallet application prior to the transition. This is necessary so that the Secure Element created on the device by Google Wallet isn’t accidentally transferred to the new device. This secure element can only be accessed by a SINGLE instance of Google Wallet, so if it is transferred to a new phone or even restored to a new ROM on the same device, it can result in Wallet completely losing functionality. Because I failed to reset the Google Wallet app, which removes the secure element, prior to performing the nandroid backup, I inadvertently transferred the secure element and the linked Google Wallet app to the new phone. Unfortunately, this resulted in the breaking of Google Wallet on my RMA Nexus 4 device.

Whenever I attempted to setup Google Wallet on my new device, it would display “Setting up Wallet, this make take up to 5 minutes” for several minutes. Eventually it would fail and respond with the error “Wallet is unable to proceed until this device is fully initialized. Make sure the phone has network access and try rebooting if the problem persists.” This problem would repeat following relaunching Google Wallet even if the app cache and data were cleared. Examining the logcat output revealed that the phone was struggling to establish connection with the Secure Element (SE) with the frequently repeated error message “I/INITIALIZE_TSA( 2096): Checking for SE activation.” Nothing, including restarts and factory resets seemed capable of resolving the problem. Even the Google Wallet support team had no solution to the issue and asserted that they were actively working on the matter. After several days of fiddling I gave up and decided to just wait on the Wallet app to be updated to fix the issue. Luckily a random user on the XDA Forums found a way to fix this problem (at least for me) without too much difficulty or even a factory restore. I’ve duplicated the instructions below, but if you’re a member on XDA, be sure to swing by and thank him.

  1. Restart your phone
  2. Go to Settings -> Apps -> All -> Wallet
  3. Clear the Cache and Data
  4. Disable the app. Reenable it.
  5. Open Google Play Store and purchase any app. You can immediately refund once it’s installed.
  6. After you finish the purchase, open the Google Wallet app. It will display the setup message and should eventually allow you to select the email account to finish setting up Google Wallet.

At this point, the Wallet app should be functioning properly, with the new Secure Element created and associated with the app. I’ve shared this fix with the Wallet Support rep I was in communication with, so hopefully the app will be updated soon to prevent this issue. In the mean time, just be sure to reset the Wallet app prior to transferring to a new device or installing a new ROM.

comments powered by Disqus