[HTC Desire S] gu1dry:
/* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or the end of the world. Please do some research
* if you have any concerns about flashing a radio before flashing it!
* YOU are choosing to make these modifications, and if you point the
* finger at me for messing up your device, I will laugh at you. */

How to Flash:

In order for this to work, the HTC Desire S needs to be S-OFF. Flashing the radio with a corrupt file or interrupting the flash, can brick the device, please proceed with caution.

Download the your choice of radio for the HTC Desire S.

Make sure the filename is PG88IMG.zip exactly or it will not work and copy it to the same folder as adb (the /platform-tools folder within the Android SDK folder).

Connect the HTC Desire S to the computer via USB.

On the computer, open terminal and run the following commands:

adb push PG88IMG.zip /sdcard/PG88IMG.zip
adb shell md5sum /sdcard/PG88IMG.zip

NOTE: The md5 should match up the provide the original download location. If not, redownload & try again.

adb reboot bootloader

The HTC Desire S will reboot & usually boot into fastboot. Pressing the Power button will put the device into the bootloader.

The bootloader will scan for the radio update. Once it finds the update, select Yes.

Allow the bootloader to finish flashing the updated radio, and reboot the HTC Desire S normally.

Downloads:

From Gingerbread-based RUUs:

From the Saga Test RUU:

20.23.30.0802U_38.02.01.11

md5: 68b46430f42c07ecdc4f1e68bdaf9123

From the 1.28.401.1 RUU:

20.28b.30.0805U_38.03.02.11

md5: 27d85ee9604584becfa59c213708370a

From the 1.30.110.2_R RUU:

has the same radio as the 1.28.401.1 RUU

From the 1.30.111.1 RUU:

has the same radio as the 1.28.401.1 RUU

From the 1.30.112.1 RUU:

has the same radio as the 1.28.401.1 RUU

From the 1.31.61.1 RUU:

has the same radio as the 1.28.401.1 RUU

From the 1.31.65.1 RUU:

has the same radio as the 1.28.401.1 RUU

From the 1.31.206.1 RUU:

20.28b.30.0805U_38.03.02.14

md5: a898a290eb58ec618ceb3865a90dc878

From the 1.31.351.1 RUU:

20.28b.30.0805U_38.03.02.15

md5: 757cde85b4e8736db93088134f9afc8e

From the 1.31.707.2_R RUU:

has the same radio as the 1.31.351.1 RUU

From the 1.31.720.2_R RUU:

has the same radio as the 1.31.206.1 RUU

From the 1.31.771.1 RUU:

has the same radio as the 1.31.206.1 RUU

From the 1.31.832.3 RUU:

20.28d.30.0805U_3805.04.02.01

md5: 631afebe525a455f34b2238108ac1b43

From the 1.31.950.2_R RUU:

has the same radio as the 1.31.206.1 RUU

From the 1.31.1020.1 RUU:

20.28c.30.0805U_38.03.02.16

md5: 5d82b1d2a70a46eaa93ad10964809f1a

From the 1.32.161.1 RUU:

has the same radio as the 1.31.351.1 RUU

From the 1.35.1113.2 RUU:

has the same radio as the 1.31.832.3 RUU

From the 1.36.415.6 RUU:

has the same radio as the 1.31.832.3 RUU

From the 1.36.841.3 RUU:

has the same radio as the 1.31.832.3 RUU

From the 1.46.1400.8 RUU:

20.28f.30.085AU_3805.04.02.28

md5: f4951ae92f6abd85823d916f46e5312e

From the 1.47.401.4 RUU:

20.28I.30.085AU_3805.06.02.03

md5: 57a3fcc5f72ec928050dbcb32018215f

From the 1.47.832.1 RUU:

has the same radio as the 1.47.401.4 RUU

From the 1.47.950.3 RUU:

has the same radio as the 1.47.401.4 RUU

From the 1.48.707.1 RUU:

has the same radio as the 1.47.401.4 RUU

From the 2.10.401.4 OTA:

20.48.30.0822U_3822.09.08.20

md5: 053544276893dfcc3a7a722c834b6020

From the 2.10.401.5 RUU:

20.4801.30.0822U_3822.10.08.04

md5: 2fddef29eb1f8001d9cad14f48061f54