US/UK T-mobile HTC Dream G1 import/modding/jailbreak/Rooting/Custom ROM guide

For those looking for information on the history, hardware, applications, games, stores, review and news about Android, please read this.

For those interested to buy the world's first Android mobile phone outside US/UK, read these.

At the time of writing (May 2009, updated on November 2009), the HTC Dream G1 is already released in many countries, including Australia. Even the replacement model HTC Magic G2 and Hero is out as well. For those budget strapped people out there who are considering to buy an Android phone to use or Android development, there isn't a better time to buy the HTC G1.

Why buy HTC G1?

Because it has been out long enough that almost everything about the HTC Dream G1 is known.

  1. Thousands of compatible applications are currently available on the Official Android market or alternative markets for free or paid.
  2. Many custom ROMs are available on the internet, with complete installation instructions. Up until March, 2011, HTC G1 is still capable of running the latest Android OS, Version 2.3 if you install custom ROM and we certainly expect the HTC G1 to be sufficiently powerful for the latest OS for quite some time.
  3. The latest and greatest Android OS, the Donut release (Version 1.6) is official available from HTC, bringing you new features such as the Quick Search Box, Gesture search, Text-to-speech in addition to those from Android 1.5, such as onscreen keyboard, video recording, widget support, bluetooth A2DP & AVCRP profiles and other updates. JF1.50 Screenshots available here.
  4. Price of HTC G1 have dropped from US$400 since release. Most US ebay store now (May 2009) offers brand new or near new HTC G1 around US$300, way cheaper than Optus Australia's AU$1029 outright price. Current price for HTC Magic G2 is over US$600!!!!
  5. HTC Magic G2 does NOT have full keyboard and I personally find the onscreen keyboard hard to use.
  6. ADP1 has been out of stock and your only alternative is to buy a standard G1, root it and transform it into a ADP1.

First time turning on your US/UK G1

Right, so maybe you have listened to our advice and obtained a G1 from US or UK. Here is you may need to do.

  1. Well, if you try to put in any sim card, and it prompt for unlock code, you have purchased a unit that is sim locked to T-mobile, you would need to buy an unlock code. Cheapest unlock code can be purchased from ebay, such as this store at US$13. (We have tried them and their unlock code does work.) Note that other web sites may sell the code at US$30, so be sure to shop around. What you need to provide them is the phone model (HTC G1), and the IMEI number hidden behind the battery at the back of unit.
  2. Then, you will see prompt for activation which involve signing in your google account. You must use a sim card that have data plan (though there is an alternative using WIFI, scroll down the page or see the guide here)
  3. Before signing in, you need to input your APN details, otherwise, it simply can't connect to the internet. When you get to the details screen for your account, press "Menu", then add APN. Type in your carriers name, username & password (if any), input APN, MCC and MNC. You can find APN details for your carrier here.

Next, you would want to install a custom firmware instead of using the T-mobile version.

Why use custom firmware?

  1. T-mobile Myfaves is known to sent out SMS automatically, resulting expensive international SMS charge. There have been many users/news reporting this problem found here and here. One of the easiest way to get rid of this application is to use custom firmware.
  2. Custom firmware requires root access, but enabling this also allows you to install applications that need root, such as this and this tethering applications to share your mobile phone's 3G internet using bluetooth or wifi for your computer to connect to the internet.
  3. Multi-touch browser (not available on official firmware)
  4. Ability to upgrade and downgrade to any G1 firmware without restriction anytime you like and not forced to update via OTA (over the air).
  5. Transfer applications to your SD card. HTC G1 is well known for its lack of ROM space to install applications, many users simply run out of space to install new applications/games. Custom firmware supports applications (Apps to SD) that allow you to move applications from rom to SD card. the Apps to SD.
  6. Full phone backup using Nandroid or other recovery image.

If you are still considering to swtich to custom firmware, you should ask yourself, WHY NOT?

Which firmware to use?

JesusFreke's custom firmware (JF1.5x) was the most popular before he announced his decision to quit the business. Of course there is nothing stopping you to continue to use the latest JF 1.51 ;)

At the time of writing, Cyanogenmod is the most popular firmware with increasing number of features and frequent updates. Check out their homepage or the Official Cyanogenmod wiki for more information. If you want to run the latest and greatest Android OS on your G1, at the time of writing, there aren't any confirmation or sign that HTC will ever release Official Android ROM for Android 2.x for HTC G1, so your only option is to install the latest stable version of Cyanogenmod.

Due to the small limited size of the system partition on the ROM of HTC Dream, any custom ROM from Android 2.x onwards cannot be installed on HTC dream without applying some tricks. In the early days, the only way was by install DangerSPL which effectively takes some space away from /cache and giving it to /system and /data. However, there are a considerable risk that one may brick the HTC Dream when installing the DangerSPL, with no course of recovery. Otherwise, the only other way to avoid the risk of bricking your HTC G1 and jumping into the DangerSPL route to use Cyanogen, would be to use the  CM5.0.7/8 AnySPL (NoneDanger) ROM by Firerat. From July 2010 onwards, a safer method was discovered by lbcoder which allows one to resizes your MTD partitions through the MTD drivers. If you want to do this, please read Firerat's Custom MTD Partitions guide.

As always, there are many other custom firmwares out there that you can try (at your risk). You can find the table to compare the firmwares at AndroidSpin. Otherwise, you can always use HTC's original firmware such as the Android developer Phone edition.

For those who are only interested in custom ROMs which only have minimal modifications from its Official version. Consider those below. Some of these ROMs also have optional expansion packs. If you need more information, check out the ROM bible from Royalknight6190.

Base ROMLink to Custom ROMRootedSPL requirement
HTC ADP Android 1.5 CRC1enomtherYnone
HTC ADP Android 1.6 DRC83
enomtherYnone
T-mobile Android 1.6 DRC83enomtherYnone
T-mobile Android 1.6 DRC92enomtherYnone
T-mobile mytouch 3G Android 2.2ezterryYDangerSPL or Custom MTD
T-mobile mytouch 3G Android 2.2.1RichieDazeYnone

Installing custom firmware

These links to the instructions below are NOT meant for ordinary users, so if you are not the type who can't even install windows from sratch, STOP now and find someone who knows what they are doing or you can hire us to help you. These instruction may not be easy to follow. Even a geek can take several hours to learn and diagnose problems with the rooting and flashing is not working as it should.

So, you are ready to take the pluge and use custom firmware.

Warning:
By using custom firmware, you maybe voiding your warranty. Though you are always flash it back to stock firmware before sending in for repair.
There is a risk that you may BRICK your phone (though G1 is known to be basically unbrickable).
You need to WIPE your phone, so back up first.

Well, detailed instructions for rooting and installing custom HTC G1 firmware onto the US/UK model is already well covered and detailed in other sites. You can read the instructions from xda-developers, androidandme, webnetta, as well as youtube.

For those who have the Australia Optus model, rooting instructions can be found in whirlpool and xda-developers. Those with EBI1 roms, e.g. from Rogers Dream (Canada) or Orange Dream (France) should refer to this guide from XDA-wiki.

Lastly, if you are roaming overseas, make sure you take steps to disable roaming overseas to avoid expensive data charge. You don't want to end up like this poor fellow.

-> settings – wireless controls – mobile networks – data roaming (uncheck box to stop roaming for data).

To make sure, we suggest you remove/change your APN settings to ensure that there is no way that the device can get data via 3G. Alternatively, you can use APNdroid which modify the APN to switch on/off 3G data.

Custom booting splashscreen

For those who don't like the default splashscreen when Android is booting or would like to add a 2nd set of splashscreen in addition to the default. Take a look at these guides by Stericson, aron4588 and ximonx from XDA

How to activate HTC G1 using Wifi

If you have a rooted HTC G1, you can use the Android SDK to issue command to call up the setting page to get wifi connected.

  1. Download and extract Android SDK (Skip to step 6 if you have already installed SDK and Android device driver), e.g. to c:\android-sdk-windows
  2. Run the SDK Setup.exe, go to "available packages", download the "USB driver package"
  3. Once that's completed, go to c:\android-sdk-windows\usb_driver and see if you see the files there
  4. Turn on your HTC G1 and connect the USB cable to the computer, when windows prompt for driver, select the driver in the folder c:\android-sdk-windows\usb_driver
  5. After driver is successfully installed, if you go to Control Panel -> Device Manager, you will see Android phone -> Android Composite ADB Interface
  6. Then, for Windows, go to Programs -> Accessories -> Command Prompt, it should display something like c:\users\username>_
  7. Type "c:\android-sdk-windows\tools" (no quotes)
  8. Type "adb devices", you should a list of attached devices, e.g. HT850GZxxxxx      device
  9. If all you see is "list of devices attached", and nothing below it, check your USB connection or driver
  10. type "adb shell" (no quotes)
  11. type "am start -a android.intent.action.MAIN -n com.android.settings/.Settings" 
  12. You should now see the settings screen on your HTC G1 where you can turn on wifi and enter your wifi password.
  13. Press "back" on the HTC G1 and return to the activation screen and proceed as prompted.

Enjoy your G1 and don't forget to let us know how it goes in our official forum.