** Last Updated 30/08/2010 23:45 – I have updated the post to reflect the release of OpenDesire v4.0 (the original post was built around v3.6).  For future releases, I will not revise the post as all you need to do is substitute the ROM file for the newer release if available; the rest of the guide remains the same.  To check the latest file, head over to this thread **

It’s been a while now since the official Froyo OTA was released and installed by most people who will be reading this post.  For most of you, using the official Froyo will be more than enough to satisfy your soul but for some, you’ll be wishing you had waited a few days; certainly enough time to allow the developers to root the official OTA and thereby giving you what we all – apparently – want, value added extras!

Initially, for those who followed the official upgrade path to Froyo, and I include myself here, there was not much we could do once the initial Froyo honeymoon period was over.  The Froyo update also included a new HBOOT driver which meant that we could not perform root, or play with the recovery very easily.  As with all things though, a little time and this has all changed.  So, if your happy with Froyo (and please, I am not saying that there is anything wrong with it, the official Froyo is great and for the average user, will be more than enough to bring a big smile to your face) then you can stop reading this post; but if you crave the ability to root and delve further into your Desire’s abilities then read on, I’ll show you how to downgrade your HBOOT and install an already rooted, custom Froyo ROM image and install a custom recovery along the way meaning you can easily change ROMs at will in the future.

I decided to install the excellent OpenDesire ROM from AdamG which is as close to stock as possible but with performance enhancements and a very small footprint.  It’s also a vanilla ROM so does not contain the Sense UI overlay (which I prefer as it runs much quicker and smoother than the HTC ROM).  Of course, you can choose any ROM you wish; see here for options and more information on each ROM.  Once you have a custom recovery and root, you can of course swap and change between these ROMs at will, daily if you wish.  To use a different ROM, simply change the download in the first step of the guide below.

Caveat: A word of warning, HTC and your network provider will frown at anyone trying to install custom software onto one of their devices and will quite rightly use this as an excuse for not honouring any warranties.  The method shown in this post has been tested by myself and works, however if you do not understand any of the steps or do not follow the guide, you risk damaging your phone and owning a very expensive ‘brick’; please ensure you read the entire post before attempting this yourselves and ask any questions before you need to ask them.  I will not be held accountable for any bricked phones; you follow this guide at your own risk.

This guide is based on an unbranded Desire handset running the latest HTC official Froyo ROM (although my Desire once upon a time used to be a branded Virgin Mobile handset, you can find a guide here for a step by step guide for debranding and upgrading to the official Froyo ROM) meaning a firmware version of 2.09.405.8, HBOOT version of 0.92.0001 and radio version of, importantly it is also based on an AMOLED Desire and not one of the newer sLCD versions.  It’s very important that you check to make sure what specifics you have before following this guide; if unsure ask a question.  This guide will also work on other combinations but you may need to follow additional steps depending on your individual device.

Before proceeding with this guide, ensure that you backup any important data on your Device, by following this guide your Desire will be restored to a state which does not have any of your applications or user data.  You’ve been warned.

Ok, now that’s all of the boring stuff out of the way, let’s get on with the guide:

  • Download the following files to your local machine, for simplicity I usually save them to the desktop as you’ll be needing them again shortly: [PB99IMG] [Official 2.1 WWE OTA] [misc_update] [OpenDesire ROM] [Froyo Radio]
  • Remove your SIM care from your Desire.  You shouldn’t need to do this but some devices has been SIM locked during ROM flashing so best be safe
  • Ensure your Desire is sufficiently charged, I usually make sure it is at least 50% charged; you don’t want the battery running out during the flashing process
  • As above, triple check everything is backed up that you want to keep

Now we can start the actual downgrade process.

Important:  This guide assumes that you still have your original gold card from previously upgrading your Desire’s ROM.  You will need a gold card in your Desire to successfully complete this guide so if you do not have one or have formatted your microSD since you last used it, create one with the aid of this guide.  If you’re unsure, create a new one anyway.

  • Copy the 5 files that you have just downloaded onto the root of your microSD card and then depending on how you did this, either put the microSD card back into your Desire or unplug your Desire from your PC
  • Turn off your Desire
  • Turn your Desire back on whilst holding down the Volume Down key, this will take you to the HBOOT menu.  Wait until PB99IMG.zip is automatically found and verified
  • Press the Volume Up key to begin the downgrade process.  Once the downgrade has started wait until all of the steps have completed, your Desire will automatically reboot during this process.  It’s important that you do not interrupt the power or turn your phone off whilst the downgrade is talking place
  • Once the downgrade process has finished, press the Volume Up key to reboot

At this stage, you will have a downgraded Desire running an official 2.1 Éclair ROM.  You can check this by skipping through the initial installation steps and going to Menu>Settings>About Phone>Software where you should now find your firmware is version 1.21.405.2, if you were watching while your Desire rebooted in the above step you’ll also have noted that the HBOOT is now 0.80

You now need to remove PB99IMG.zip (there is no need to remove the other files, unless you want to) from the root of your microSD before continuing with this guide, also download the following files, again to your desktop for ease: [Unrevoked3] [Unrevoked USB driver]

Next continue with the guide:

  • Uninstall any versions of HTC Sync that you currently have installed on your PC
  • Enable USB Debugging on your Desire, this can be found by navigating through Menu>Settings>Development>USB Debugging, you’ll be asked to confirm this with a security dialogue box, click OK
  • Ensure that the correct adb drivers are installed on your PC, to test this restart your phone in HBOOT mode (reboot with the Volume Down key held in) and go to Device Manager on your PC.  You’ll probably find that the adb device – your Desire – will have an exclamation mark next to it meaning the driver is not installed correctly.  Right click this and choose to update the driver, pointing the wizard to the USB driver you downloaded on your desktop earlier (you may need to extract the archive first)
  • Start the Unrevoked process by running the reflash_package executable on your desktop and follow the onscreen instructions

The Unrevoked package will now root your Desire and install a custom recovery image, meaning you’ll have far greater control over your Desire in the future and allow you to now continue and install the custom Froyo ROM.

  • Once the Unrevoked process finished, you should be in your new custom recovery
  • Select install zip from sdcard by using the Volume Up and Volume Down keys to navigate, using the optical trackball to select the correct option
  • Select choose zip from sdcard
  • Select misc_update from the SD and confirm it by navigating to Yes. This will repair your /misc partition
  • Go back to the front screen on the recovery menu by using the Back key
  • Select both the wipe data/factory reset option and wipe cache partition option before continuing
  • Select install zip from sdcard then choose zip from sdcard
  • Choose radio- 2.zip from the list and wait for the upgrade to take place then update-od-4.0-signed.zip and wait for the upgrade to take place (remembering that if you downloaded a different ROM at the beginning, you’ll need to select that option instead)
  • Once the upgrade has taken place, choose reboot from the menu

That’s it.

The initial reboot will take longer than normal, once your Desire has started turn it off again and replace your SIM card, then turn it back on and enjoy your new, even faster Froyo!

Notes: I’ve followed this procedure a few times now to test it all works, on one occasion during the initial reboot after the upgrade process my Desire seemed to sit way too long on the initial boot at the splash screen.  If this happens to you (I mean more than 5-10 minutes, it will take longer than normal this is OK) then don’t panic, just pull the battery and restart in HBOOT mode, then reflash the ROM again by following the final 4 steps above, very occasionally it doesn’t seem to take first time, this used to be the same when I was flashing my old G1!  Before reflashing, use the wipe data/factory reset option and wipe cache partition option.

For those like me who miss the HTC clock widget, there is an alternative available (although it has long since been pulled from the market) called fancywidget which can be downloaded from here.  It’s almost undistinguishable from the original HTC version.

I hope you’ve found this useful, please remember to sign up to my FeedBurner service to receive email updates of further posts.  Please leave any comments of questions below and either I or one of the other frequent flyers will get back to you soon.


I have been asked by a few people how to make a goldcard using a Mac, but as I do not have access to one at the moment I have not been able to produce a guide however thanks to Johnny and some research using Google you’ll be pleased to know that I have now produced a guide.

Caveat:  I have not been able to test this myself as currently I do not have a Mac to test with; however I have read various comments confirming that this method works.  Please post a comment to let me know how you get on.

PLEASE backup the entire contents of your microSD before proceeding, in one of the first steps you’ll need to reformat.  I will not be accountable for anyone neglecting to do this and loosing data – you have been warned!

So, to create a goldcard using Mac OSX, simple do the following:

  • Backup the data on your microSD
  • Click Menu on your mobile
  • Go to Settings and then SD & Phone Storage
  • Click Unmount SD card
  • Click Format SD card

We now need to know the microSD cards CID number, using this method; we can find it by going to the market and downloading ASTRO File Manager.  Once you have downloaded and installed it, do the following:

  • Open ASTRO File Manager
  • Navigate to sys/class/mmc_host/mmc1/mmc1:82d1 (you’ll find that 82d1 will be different on your device)
  • Long press on the CID file
  • Select Open As and then Text
  • Select File Editor
  • You’ll be given a long number, make a note of this

Next we need this long number in order to create your goldcard image; this can be done by using a simple tool found on this page:

  • Copy the number carefully into the data field and hit Submit
  • Make a note of the new number

Next to create the actual goldcard image by going to this page:

  • Enter the number from above into the SD Card Serial (CID) field
  • Enter the other details and hit Generate Goldcard
  • Check your email and save the attached goldcard image file to your user directory

Connect your Desire to your Mac and do the following:

  • Pull down the notification bar and press Charge Only (if you have previously changed the default option this may be different, i.e. HTC Sync)
  • Select the Disk Drive option and hit Done
  • On your Mac, open Terminal which can be found by clicking through Applications>Utilities>Terminal (or your Linux Terminal)
  • Type the following:
    diskutil list
  • You should be able to see your microSD card; you can recognise it from its size and by the fact that its type is DOS_FAT_32.  You need to make a note of the Identifier for example disk2s1
  • Now you need to unmount the microSD, assuming your Identifier was disk2s1 (change the value ‘2’  based on the number you got after the word ‘disk’) enter the following:
    diskutil unmountDisk /dev/disk2

Finally, to create your individual goldcard do the following:

  • Open Terminal once again and type the following:
    sudo dd bs=512 if=~/goldcard.img of=/dev/disk2
    (remembering to change the ‘2’ if appropriate)
  • You’ll need to enter your password when prompted (or if using Linux, the password for root)

That’s it, goldcard created!

For anyone wanting to download the official OTA Android 2.2 FroYo ROM for their HTC Desire directly from the HTC live server, you’ll find that they have removed the file.  Fear not, I have uploaded a mirror here.

If you need some guidance on installing the update, including installing on network branded and locked handsets, I have a guide here.

With the release of FroYo on the HTC Desire, HTC also bring us the ability to sync directly with iTunes via HTC Sync.  In order to use this new feature, you will need to download and install both the latest version of iTunes (v9 or greater) and HTC Sync [Mirror] (v3.0.5387).

The new version of HTC Sync not only gives the ability to sync with iTunes, but also allows far greater control over which items to sync with your PC and also, which items to backup from your phone; you can now control separately music, photos, calendar, contacts, bookmarks and documents.

Note: You need to uninstall the old version of HTC Sync before installing the new version and, although not prompted to do so, sync doesn’t seem to work until you have restarted your phone and PC after the install.

All in all, a very welcomed update.

Last update: 18/09/2010 22:00 – To reflect the release of another official OTA update, 2.10.405.2 there is now a new post available here.

Earlier today, HTC released via an OTA update FroYo, Google’s latest release of the Android operating system.  The release however was only targeted at those who purchased their handsets unlocked and devoid of any network operators branding.  Also, owing to possible concerns over bandwidth and server overloading the OTA update is being rolled out slowly so not everyone will have the notification to download just yet. So, that leaves those without an unlocked and unbranded handset left with Éclair (or Android 2.1) missing out on all of the FroYo fun.  However, there is of course a way around this; just follow this guide.

Caveat: As is usual with such things, messing around with the ROM will void your manufacturers warranty so please be aware of this before proceeding, also whilst I have had absolutely not issues to date (and I have flashed the ROM many times now), should you encounter an issue part way through it is possible to brick your phone; so please ensure you understand these instructions before proceeding.  I will not be held liable for any damage you cause to your own handsets. For the purposes of this guide I am assuming like me, that you want to do a fresh install of FroYo and not an upgrade keeping all your current settings and apps in place, I choose to reinstall apps from the market afterwards.  Of course if you want to upgrade instead this should work also, although I have not tested it. This guide assumes that you have HBOOT 0.82 or below, if you have HBOOT 0.83 this method will not work and you will get an Error 140 during the RUU process.

Also worth noting that some of the newest Desires do not have the AMOLED screen anymore, but are shipping with SLCD which also have the 0.83 HBOOT, the update contains the screen driver for the AMOLED screens and not the SLCD screens, so if you follow this guide and perform the update, you’ll be left with a blank screen as the new driver is not compatible (if you have done this by mistake, there is a way back, but the fix is not for novices).  To find out which version of HBOOT you have you’ll need to reboot into FASTBOOT mode, turn your device off and restart with the volume down button pressed.  Also, please DO NOT flash this update if you are currently on Orange UK as the new radio contained within the update will cause you problems, instead you’ll have to wait for the official Orange update or delve into the world of custom ROMS (I recommend heading over to XDA Developers for further information). One final word of warning, by installing the official 2.2 update as in this guide, you will also upgrade your HBOOT version to 0.92 which means that you cannot ‘root’ your phone afterwards; of course this is not an issue if you have no intention of running custom software or messing around further with your device  Root will no doubt follow soon I would imagine.  In the mean time there is now also a way of downgrading your HBOOT, details can be found here.

Essentially, if you want the latest official Desire software as you would get ‘out of the box’ from a shop, this update is for you.  If you want a custom phone with the ability to access root, stop and ensure you fully understand that HBOOT will be upgraded before proceeding.

First of all, you need to complete the following important step:

  • Read the above warning again and make sure you understand it; ensuring that you have the correct HBOOT version as reading some of the comments, some people have followed the guide with an HBOOT of 0.83

Next you need to set up ADB on your PC and ensure that you have the correct version of the USB driver (which if you have already installed HTC Sync, you should have) installed, to do this do the following:

  • Download the latest Android SDK directly from Google by clicking here
  • Extract the SDK .zip file to c:AndroidSDK on your PC
  • On your phone, click Settings>Applications>Development and ensure that USB Debugging is enabled
  • Plug your phone into your PC via a USB cable (ensuring that your phone is on, obviously).  You should now get a popup telling you that new hardware device drivers are being installed; this might take a few moments to complete
  • Open a command prompt and type the following:
    cd [then press Enter]
    cd AndroidSDKtools [then press Enter]
    adb devices [then press Enter]
    you should see a serial number pop up, it’s the serial number of your phone.  If this is the case you can proceed to the next step

Next we need to create a goldcard by doing the following:

  • Copy all of the data on your microSD card to a backup location on your PC
  • Format the microSD to FAT32 format
  • Open a command prompt one again and type the following:
    cd [then press Enter]
    cd AndroidSDKtools [then press Enter]
    adb shell cat /sys/class/mmc_host/mmc1/mmc1:*/cid [then press Enter]
  • You should get a long number something along the lines of 532600bd227d9c0347329407514d5420
  • Goto this page and copy the number in the above step into the box and hit Submit, you’ll then be given another long number
  • Go to this page and enter this new number into the SD Card Serial (CID) field
  • Enter the other details and hit Generate Goldcard
  • Check your email and save the attached goldcard image file to your pc, I usually save it to the desktop as you’ll be needing it shortly
  • Download HxD Hex Editor from here and install
  • Open HxD Hex Editor. If you are using Windows Vista or Windows 7, you must run the application as administrator
  • Go to the Extra menu and select Open Disk.  Under physical disk, select Removable Disk (your microSD card), uncheck Open as Read-only and click OK.  Note that you should select physical disk NOT the logical disk
  • Go to the Extra menu again and select Open Disk Image.  Open the goldcard image that you received by email and saved above
  • You should now have two tabs; one is your removable disk and the other is your goldcard image.  Press OK when prompted for Sector Size (selecting 512 (Hard disks/Floppy disks)) and click OK
  • Click on the goldcard image tab.  Go to the Edit menu, choose Select All then select the Edit menu again and select Copy
  • Click on the Removable Disk tab.  Highlight offset (line) 00000000 to offset (line) 00000170 (including the 00000170 line), then click on the Edit menu and select Paste Write
  • Click on the File menu and select Save, accepting the warning
  • You now have a goldcard

Now that you have your goldcard, you need to download a generic HTC RUU update in order to flash your phone with a generic, unbranded version of Android 2.1

You can download the file from here (1.15.405.3 European), here (1.15.405.4 WWE) or here (1.21.405.2 WWE) – NOTE: Some people are finding that they can flash the 1.21 ROM and then FroYo directly, whilst others are finding that they need to flash the relevant 1.15 ROM first, if you try the 1.21 first and it doesn’t work you’ll get an error so simply re-try with the 1.15 and go from there.

To flash the update, simply run the file you have just downloaded (note: once this file is running it’ll restart your phone in bootloader mode and your PC will attempt to install another driver, it’ll work but the software will time out waiting to recognise your phone as your PC will need to restart to apply the new file.  Simply leave your phone connected and in the bootloader and restart your PC, then run the file again and it’ll work!) – You will now have an unbranded, generic Desire (although in my case I still had the Virgin boot screen curiously).  To double check, go to Menu>Settings>About Phone>Software Information and check that Software Number is 1.15.405.3, 1.15.405.4 or 1.21.405.2 before continuing. Next you need to download the FroYo update file which you can find here [Mirrorthe file has already been renamed to update.zip], once you have done this rename the file update.zip and copy it to the root of your microSD.  Turn your phone off then do the following:

  • Turn your phone on whilst holding down the volume down button to enter the HBoot menu
  • Choose the Recovery option by using the volume down button and the power button to select, your phone should then restart in recovery mode where you’ll be greeted with a red triangle and exclamation mark
  • Press and hold the volume up button and press the power button once, then choose to apply update.zip at the next menu
  • The FroYo update will now take place during which time your phone will reboot several times, the whole process takes about 10 minutes
  • Once you have booted up into FroYo and configured your settings, copy your files back onto your microSD card and you are good to go!.

** Looking ahead, I will create a similar walkthrough when Gingerbread is released, if you want to be notified when this is published, please signup to my blog feed via Feedburner to receive email notifications **

A big thanks to Timi for all of his help answering the comments below.  It’s great to see when readers get involved and share their knowledge and expertise.

Downgrading HBOOT and installing custom Froyo ROM

If you have come across this post looking for a way of downgrading your HBOOT and installing a custom Froyo ROM instead of the official OTA ROM as detailed above, I have a post detailing how to do that here.

I hope you find this useful.  Enjoy!