I've been developing a few android applications and I want to test them on a real device. I don't need a cell phone, so I bought a used g1 on ebay. I don't want to get a contract - something like $60 - $70 per month. I thought I could simply turn it on and test my programs on it. WRONG. Google and T-Mobile have made it next to impossible to use the phone without signing up with them first. For a company with the motto "Do no evil" Google really screwed the pooch on this one.
I decided to document this because I need help and because having this information all in one place might save others all the trouble I've been through.
My g1 will barely turn on without a sim card. All it says is "No sim card in phone" and is mostly unresponsive. I found an 02 sim card at BestBuy for 9.99, just to get past this screen.
So far, so good. Next I get a screen telling me I need to register. You can do this with a free Google account - that's not the problem. The problem is that you need internet at this point, or you can't register. Without registering, you're stuck at this screen.
There are different solutions to this problem. The fastest and easiest is to borrow a friend's sim card for five minutes just to get through the activation/registering step. Once the phone has been registered, you don't need the sim card anymore (unless you start resetting or reinstalling). This solution works well IF you know somebody with a g1 and a data plan. If I did have access to a g1, I wouldn't have needed to buy my own for testing. So this doesn't help me.
You can also activate over wifi with a little finagling. The problem is that you need your phone set up to use wifi in order for this to work. Chicken and egg - no luck. It looks like you might be able to enable wifi through the usb link to a computer. That would do it! Except (from what I can piece together - is this accurate?) the phone doesn't respond on the usb port until AFTER you've registered. Again, no progress.
It seems that extreme measures are needed to activate this blasted phone. It looks like you can
get around this by gaining root access to your phone. If you have an older phone - with RC29 or older installed on it, you can proceed as normal with the directions. Most phones don't have RC29 installed anymore because it's old. So first you have to downgrade your phone to RC29.
The process of reinstalling the OS consists of loading the software, in the form of a single file called DREAIMG.NBH, to a memory card, putting the card in the phone, and turning on the phone's boot loader (camera + call end button from powered off state). This is a lengthy process that is well documented
When I follow all the instructions, I get the plain boot loader screen, with red, green, and blue colored bars and some text that says "serial0". The screen briefly flashes "No image file" or something to that extent, and then returns to the tricolored boot loader screen. Basically, the phone is searching the memory card for a new image to install, but it can't find one it likes. While the problem could be the name of this file, in this case, the problem is that the card is not formatted to the g1's liking. It needs to be formatted to fat32 BY THE PHONE. Formatting the memory card in your computer doesn't work. Why? Isn't fat32 fat32? Apparently not. You need to plug the phone into the computer, mount it as a storage device, then format it to fat32 that way. Well that's fine if you have a device that will be recognized by your computer. But without registering, I can't get my g1 to format the memory card. And we're back to the chicken and egg. I could borrow a friend's phone to format the card. But, again, if I had access to a g1, I wouldn't be doing this to begin with.
This is where I am currently stuck. I will continue to post any progress in case any other developers buy a used phone for software development and can't get it to work. Hopefully a find a way through this mess. If you have the answer, please let me know.
My fallback plan is to sign up for a single month of T-Mobile service, then cancel. But this will cost me in excess of $70, which I'll avoid if I can.