As recently noted, I finally joined the twenty-first century and got me a smartphone. It's an HTC Evo 4G, purchased from friend and Brontoforumgoer TA, and I'm rather enjoying it. But it was a bit of a pain to set up, and, as I am wont to do when I find myself banging my head against the wall over a technical problem, I'm inclined to write up a little howto. (My #2 most popular post is the one about filesyncing with Unison. And because I know you'll ask, the #1 post is the one about FF7 mods.)
The first hurdle was that the phone was running Cyanogenmod. (So, first of all, it was already rooted. This is not a rooting guide; my phone was already rooted when I got it.) Now, from all appearances Cyanogenmod is great -- but what TA and I didn't know is that you can't activate your phone with Cyanogenmod on it.
The guy at the Sprint store suggested I unroot the phone and restore it to factory default. As I found out from a helpful thread on XDA Developers, you do not have to unroot your phone to activate it. You do have to flash it with a Sense-based ROM. (Sense, BTW, is HTC's UI.)
I found several recommendations for Sense ROMs, many outdated (and many of those unavailable for download since MegaUpload's been taken down). One that is recent and still available, and which I saw recommendations for all over the place: MikG.
Now, guides to flashing your Android ROM are legion (here's one from Android Authority), and recovery software varies, so the exact menu options may be different from one to the next. But here are the basics:
Download the MikG ROM.
Copy it to your phone's SD card.
I actually found that I couldn't mount my phone as an external drive on any of my computers when it was booted to Cyanogenmod for some reason; fortunately I was able to mount it when I booted to recovery mode -- see next step. Copying the zipfile straight to the sdcard root is probably the easiest way to go -- at any rate, don't unzip it.
Boot to Recovery Mode.
If your phone is already rooted and already has a custom ROM, like mine did, then you've most likely already got a recovery boot enabled. Shut your phone down, then power it back on, holding the Power and Vol- buttons. From here the touchscreen won't work; you'll only have access to the Power button and the Volume rocker. The rocker moves the cursor up and down, and the power button operates like the Enter key.
Back up your shit.
There should be an option to back up your system. Do this, because you're about to wipe everything out and you're going to want to be able to restore if anything goes wrong.
Wipe userdata, cache, and dalvik cache.
Seriously, this is a necessary step; do not skip it or it will fuck everything else up. Just don't do anything stupid like wipe your SD card in the bargain; you need that.
Flash the ROM from zip. That'd be the zipfile you copied to the card earlier.
Troubleshooting: Kubuntu lies. I just couldn't get the thing to flash; I kept getting errors. I found that the zip's checksum on the SD card didn't match the one on my computer, I copied and tried over and over again and even reformatted the card -- long story short, don't trust Kubuntu when it says the file has finished copying or when it says it's safe to remove the device. I don't think it's a KDE problem per se since I had the same problem using Nautilus, but at any rate -- start the filecopy and then go do something else for a little bit; give it more than ample time to copy. Just in case. I did the same thing with the unmount -- after I'd let enough time pass that I was sure the file had copied, I clicked Unmount and then waited awhile just to make sure that had happened cleanly. Patient waiting and the file finally copied correctly; MikG installed and was running.
But I still had to actually activate the thing.
Rather than take another trip to the local Sprint store (which would likely have been easier and taken less time, in hindsight), I did it through the Sprint website.
The first bit's easy enough: assuming you've already got a Sprint phone, you just deactivate that and tell them to move your number over to the new phone. You'll need to enter a serial (which you have to remove the battery from your Evo to get at), and they'll send you an E-Mail.
Follow the instructions in the E-Mail, not the ones on the website. They are not the same and the ones on the website are incomplete.
The E-Mail looks something like this (I've redacted my personal information):
You may need to enter the following information in your new phone to complete the activation process:
6-digit programming code: [...]
MDN (Phone number): [...]
MSID (IMSI): [...]If you are programming a used phone, look in the manual programming instructions for your steps. If you don't find the instructions to program a used phone, follow the steps below to clear or reset your phone to its factory settings. Important note: This will remove all personal information, including texts, pictures, contacts, applications, etc.
To program a used phone:
- On the dial pad, press ##786 followed by an additional # symbol
- Follow any on-screen prompts to Reset your phone
- Enter the 6-digit code
- Select Reset
- Confirm any on-screen Reset to default messages
- After the reset, press ## followed by the 6-digit code, followed by an additional # symbol (Example: ##123456#) Note: The last # entered will not show on the display
It's easy enough when you do it like that; my problem was that I followed the guide on the website. Which didn't quite work right.
Anyhow, hopefully I've saved somebody somewhere some trouble -- maybe it'll be my new #2 most popular post.
So far I've stuck with MikG, for a couple reasons. One is that Sprint's data plan is ridiculously overpriced and I'm tempted to jump ship to Virgin Mobile or some other Sprint reseller -- and it'd be nice to still have a Sense ROM on there so I can activate.
But another is that I'm really kinda digging the design of Sense. It's fast, it's straightforward, most of the built-in widgets are actually useful and the ones that aren't are easy to remove, and if you had asked me if someone would be able to convincingly pull off a smooth, intuitive seven-workspace layout on a damn phone screen I would have told you you were out of your mind -- but damned if they didn't do exactly that.
I'm a tinkerer by nature, so I may not stick with it. Maybe I'll switch back to Cyanogenmod. Maybe I'll fuck around and install Ice Cream Sandwich or Jelly Bean -- I'm not really that concerned about watching Netflix on my phone or using the front-facing camera, and Sprint doesn't even have 4G in my state.
Food for thought, anyhow.