Google Dev Phone

I brought myself a Android Dev Phone 1. It runs Android, and is sold as the Tmobile G1 in the US and UK. The hardware, made by HTC, is known as the HTC Dream.

Software

The ADP1 comes with the "1.0" image. Recently released to T-Mobile customers was an update called RC33, which contains the 1.1 version string.

There is not yet an official way to upgrade to an image of this vintage. Jean-Baptiste Queru is a Googler who liaises with the community as part of the Android Open Source Project (ASOP).

00:08  shenki: jbq: do you have anything to say on a new adp1 image?
00:08  jbq: shenki: we're working on it.

    #android, on irc.freenode.net, Tue, 10 Feb 2009 00:08:04 +1030

Unfortunately working on it could mean anything form "we have 10 engineers making it happen", all the way down to "we might have it out in a few months". If I was talking to the a manager of the Android project and had to chose between shipping a release to a hardware vendor that would make it to millions of phones, or shipping an update to developers who already have access to the hardware, then I would understand if it was a low priority. At the same time, these developers are creating value for the platform for free, so I would want to keep them somewhat happy.

Initial Setup

APN Settings

These are the settings required for using the phone on 3 in Australia, thanks to Tim.

Step 1:

Create a new APN with the name "Three" and set the following values,

  APN: 3netaccess
  APN Type: default
  Everything else left as 

Step 2:

Create another new APN with the name "Three MMS" and set the following values,

  APN: 3services
  MMSC: http://mmsc.three.net.au:10021/mmsc
  MMS Proxy: mmsprox.three.net.au
  MMS Port: 8799
  MCC: 505
  MNC: 06
  APN Type: mms

Using adb on Ubuntu

Create a file /etc/udev/rules.d/50-android.rules containing the line

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"

Bypassing setup wizard

I didn't have a data plan enabled for my SIM, and wanted to activate using wifi instead. There's no GUI for setting up wifi until you've passed the setup wizard, so the wizard needs to be disabled:

$ adb shell "echo app.setupwizard.disable=1 > /data/local.prop"
$ adb shell reboot

WPA Enterprise

While not supported in the GUI, the underlying infrastrucutre is there for using WPA Enterprise.

If you have root on your device, edit /data/misc/wifi/wpa_supplicant.conf and add
whatever network you want; it will even show up in the list in the UI. This example
works for me:

network={
  ssid="MyEmployer"
  key_mgmt=WPA-EAP
  identity="myusername"
  password="mypassword"
}

If your network is more complicated (tunnels, certificates, etc), see the
wpa_supplicant project's default configuration file, which has many examples towards
the bottom.

http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf

Development