Friday afternoon my phone finally got the OTA update for Android 5.1. After several hours stuck on the swirling boot animation, I decided it was time to admit that the phone wasn’t going to finish booting on its own.

I tried everything: Pulling the battery. Clearing the cache from recovery mode. Removing the SD card. Even a factory reset. I’d tried to avoid that, but eventually decided all the important stuff was backed up, and dammit, I needed a phone for the weekend!

If it had been a carrier phone or an actual Nexus device, I could have flashed a fresh system image, but it’s a Samsung Galaxy S4 Google Play Edition. Nobody wants the responsibility of supporting it.

In the end I bit the bullet and installed CyanogenMod. Even if I messed it up, the phone was already unusable and long past any warranty it might have had two and a half years ago. I didn’t really have anything to lose.

I had to read through the instructions a couple of times, but the process was actually pretty simple since I already had the ADB tools and could install Heimdall on my Linux desktop through Fedora.

  1. Flash a more capable recovery partition.
  2. Upload the right CyanogenMod .zip and the corresponding Google Apps .zip.
  3. Install the images from the recovery partition.
  4. Sign in to Cyanogen and Google.
  5. Reinstall apps.

It’s a bit weird because the UI feels like I’ve gone back in time a couple of years.

But the phone works again, and I was able to do it overnight. I didn’t have to spend three days emailing tech support back and forth. I didn’t have to go into a store on Saturday and be told I can either buy a new phone or wait a week while they send it in for repairs.

I may still end up replacing it in the near future — it is 2 1/2 years old, after all — but I don’t have to, which makes a big difference!

Update!

The phone worked great for camera, navigation, texting, and everything else I wanted to use it for at an event Saturday and at Long Beach Comic Con on Sunday.

Unfortunately, the dial pad doesn’t always respond during calls, which makes phone menus unusable. It’s not just the problem with the proximity sensor thinking my face is next to the phone and blanking the screen — I’ve had that on the official firmware for ages. I can get the keypad to display, but it won’t react to touch.

My carrier has an app for voicemail, but I’ll have to do something to be able to deal with other phone menus.