As i saw there is no thread for the Desire-S to say how to restore the stock CID.
My CID was HTC__N34 and after been S-OFFed by XTC CLIP my CID became from stock HTC__N34 to SuperCID 11111111
The bad thing on that is that i can not receive any OTA since then
Reading from other theads i did the command:
fastboot oem writecid HTC__N34
And i get the following error
c:\SAGA\SAGA>fastboot oem writecid HTC__N34
... INFO[ERR] Command error !!!
OKAY
Is there a different command??
Using fastboot getvar all i get:
c:\SAGA\SAGA>fastboot getvar all
INFOversion: 0.5
INFOversion-bootloader: 2.00.2002
INFOversion-baseband: 3822.10.08.04_M
INFOversion-cpld: None
INFOversion-microp: None
INFOversion-main: 2.10.401.8
INFOproduct: saga
INFOplatform: HBOOT-7230
INFOmodelid: PG88*****
INFOcidnum: 11111111
INFObattery-status: good
INFObattery-voltage: 4199mV
INFOpartition-layout: Generic
INFOsecurity: off
INFObuild-mode: ENG
INFOboot-mode: FASTBOOT
INFOcommitno-bootloader: 3f8ef8d3
INFOhbootpreupdate: 12
INFOgencheckpt: 0
all: Done!
Is there anyone that can help??
Thanks everyone in advance.
Reserved 1
Reserved 2
How bout RUU. Have you tried it?
I believe if your XTC-S-OFF, your hboot is unrewritable/unchangeable, right? I'm thinking your hboot might be the one whose preventing CID modification. But then again, i haven't proven if your CID will change based from the build.prop of a ROM. I maybe at lost here.
Sent from my HTC Desire S using xda app-developers app
I flashed many desire s RUUs but just flashes the rom and the according hboot without changing anything on the CID.I tried also using the fastboot commands on both ENG (0.98.2002 & 2.00.2002) hboots but with no luck.
Is there any option using adb to try.?
Sent from my HTC Desire S
No idea.
All gates should be open regarding your situation. S-OFF with ENG hboot. Now this must be somewhat of a security that XTC-Clip have placed on the phone. Im gonna try changing mine, htc-dev unlocked with 2.0 hboot. Im gonna try using a terminal emulator. Dont have a pc yet. Will it work? Let me see.
---------
Hhmm. Just noticed that its fastboot. Couldn't help you there buddy.
Sent from my HTC Desire S using xda app-developers app
If something comes to your mind please let me know.
Sent from my HTC Desire S
I've found out that cid is stored in a number off different partitions (/dev/block/mmcblk0p*). I accidentally erased 23, which then led me on a hunt to try and fix things up.
Cid is stored, at least, in partitions 7, 17, and 23.
Install Hex Editor from Play and search those (and others) partitions for your current cid and replace it with your old cid.
Warning: you are doing some pretty low level changes here, which if done incorrectly can cause serious problems. I would suggest you back up a partition before you start changing it. I take no responsibility for what happens.
Here are two shell scripts that will take a copy of a partition and write a partition.
Dump partitions: http://db.tt/GuFscLrT
Write partition: http://db.tt/9Z2cn2Tm
Sent from my Desire S
I want to try this out.
I hope it will work.
Sent from my HTC One X
More stuff. Hboots don't all have the same set of oem functions. To find out which one yours support, enter "fastboot oem h" (edit: not "help"). I have yet to come across an hboot that will allow you effectively overwrite the cid.
When you say you don't get OTA updates, do you mean you get nothing when you go into /settings/about phone/system updates or you get the OTA but it doesn't install?
For me, the OTA that installed hboot 2.00.002 was the latest OTA, so there have been no other ones release.
Sent from my Desire S
It doesn't even find the OTA.
I'll try tomorrow and see what happens.
Thanks a lot again!!
Sent from my HTC One X
How do you know that there's an OTA update available?
Sent from my Desire S
If you flash the stock shipped Rom in my case 1.28.401.1 it had to find as before OTA 1.47.401.4 .and then the 2.10.401.8 but now after supercid it doesn't.
Sent from my HTC One X
Ta. That makes sense. By the way, you haven't installed a custom recovery like CWM or 4EXT, right? Otherwise the OTA won't install.
Sent from my Desire S
Using the command:
fastboot oem changeCid HTC__N34
The cid changed from 11111111 to HTC__N34
Why still i can not find OTA.??
Sent from my HTC Desire S
Type *#*#2432546#*#* in dialer and check again
Still no OTA.!!!
Flashed stock 1.47.401.4 RUU then *#*#checkin#*#* went to settings ,checked for updates couple of times and still nothing..
Did HTC stopped the OTAs for DESIRE-S cause of the upcoming ics OTA.?
Is that possible.?
Sent from my HTC One X
avensakias said:
Still no OTA.!!!
Flashed stock 1.47.401.4 RUU then *#*#checkin#*#* went to settings ,checked for updates couple of times and still nothing..
Did HTC stopped the OTAs for DESIRE-S cause of the upcoming ics OTA.?
Is that possible.?
Sent from my HTC One X
Click to expand...
Click to collapse
No worries you can always flash 2.10.401.8 RUU and will get the update straight away when it comes
command not working
I tried this command but I got Command error as wit writeCID
w_hy said:
I tried this command but I got Command error as wit writeCID [/QUOTE Using the command:
fastboot oem changeCid HTC__N34
The cid changed from 11111111 to HTC__N34
You must have s-off & ENG hboot.
Click to expand...
Click to collapse
Hey guys,
today I wanted to debrand my HTC Sensation z710a from Bell Mobility (Canada) to an unbranded version.
Some weeks ago I set my bootloader to S-OFF with revolutionary.
To perform this all, I used this tutorial:
http://www.htcinside.de/htc-sensation-branding-entfernen-so-gehts/
based on: http://forum.xda-developers.com/showthread.php?t=1193033 (Method 1)
To change the CID I did this:
Download the adb tools from here
Extract them to C:\adb
start cmd as an administrator
adb devices (to check if the phone is connected)
adb reboot-bootloader
fastboot getvar cid (I got BM___001)
fastboot oem writecid HTC__001 (for unbranded EU)
fastboot reboot-bootloader
fastboot getvar cid (I got HTC__001)
After that I pick up the desired RUU:
RUU_Pyramid_HTC_Europe_1.50.401.1_Radio_10.56.9035.00U_10.14.9035.01_M_release_223042_signed.exe
I connected the phone to my computer (charge only, no USB debugging) and ran the setup.
The first conspicuity:
During the progress (sending) it aborts with an ERROR [130] : MODEL-ID-ERROR
I cant explain why, because the set CID is available in the android_info.txt
So I changed the CID to superCID (11111111) as the following:
start cmd as an administrator
adb devices (to check if the phone is connected)
adb reboot-bootloader
fastboot getvar cid (I got HTC__001)
fastboot oem writecid 11111111 (superCID)
fastboot reboot-bootloader
fastboot getvar cid (I got 11111111)
After that the flash progress was successful and I set the CID back to HTC__001
I set up my phone with minimal settings (wifi, google account sync) and checked for new updates (ota).
It looks because I got this:
But after verifying I got this:
I try to fix this with this:
- reboot my phone -> same
- set the CID to HTC__102 (unbranded Germany) -> same
- set the CID to superCID -> I got a small update: Make more space application
- after downloading and installing this small update, there are no more updates available
This is curious too:
I downloaded the app "terminal emulator" and ran the command "getprop ro.cid" to readout the set CID.
With set superCID -> it shows BM___001 (thats the original branded cid)
If I have the CID HTC__001 or HTC__102 it shows the correct cid in the output, but with supercid, it shows the branded cid.
My question now is why the OTA update error message appear?
The output of "fastboot getvar cid) bootloader show the correct CID (HTC__001 or HTC__102) and I used an appropriate RUU where the CIDs are included in android_info.txt
And why cant I flash the RUU with HTC__001 or HTC__102 ?
All I want is to:
- debrand my HTC Sensation (with branding from Bell Mobility) -> done?
- have an unbranded cid (HTC__001 or HTC__102) -> done?
- have an unbranded RUU -> done
- get OTA updates and install them successfully -> fail
I would be very happy if someone can help me (quick)
Kind regards
@@RON
EDIT: Do I have to change the MID? -> "fastboot getvar mid" shows "PG5811000"
The android_info.txt contains this:
Code:
modelid: PG5813000
cidnum: HTC__001
cidnum: HTC__E11
cidnum: HTC__032
cidnum: HTC__102
cidnum: HTC__Y13
cidnum: HTC__203
cidnum: HTC__405
cidnum: HTC__N34
cidnum: HTC__304
cidnum: HTC__A07
cidnum: HTC__016
mainver: 1.50.401.1
hbootpreupdate:12
DelCache:1
So its different ... I think, this is the key reason.
In my optinion, it works with superCID, because a set superCID ignores the MID and CID. So die flash progress of the RUU works, but the update will fail, because the MID is different
My idea would be to edit the MID of my HTC Sensation or is this a bad idea?
Short summary for MID:
modelname=z710e -> MID=PG8513000 -> HTC Sensation (Europe)
modelname=z710a -> MID=PG8511000 -> HTC Sensation (4G) (America/Australia)
modelname=z711e -> MID=PG8511001 -> HTC Sensation XE (Europe)
Yesterday I edited my question a lot, so maybe its a bit confising
I have an HTC Sensation 4G (z710a) with branding and would like to put an unbranded RUU (unbranded Europe) on it.
I changed the CID from BM___001 to HTC__001, but its obviously not enough, because my model id (MID) is different to the ROM.
MID=PG8513000 -> HTC Sensation (Europe) -> listed in android_info.txt
MID=PG8511000 -> HTC Sensation (4G) (America/Australia) -> my MID, not listed in android_info.txt
My current question is, if there would be a problem, if I change the MID of my phone?
(I would use the command "fastboot oem writemid PG8513000")
I guess that if:
- I change the MID in android_info.txt in RUU, I could flash the RUU without superCID -> but cant install OTA updates, because MID is different to OTA
or:
- I change the MID on my phone, I could flash the RUU without superCID, too -> get and install OTA updates, because CID and MID are matching with the update (the way I prefer)
Am I correct?
Well guys, changing the MID requires the ENG HBOOT.
I found it here:
http://forum.xda-developers.com/showthread.php?p=32448846
After flashing ENG HBOOT, I was able to run this command:
fastboot oem writemid PG8513000
So I changed my MID and now I have an European HTC Sensation z710e instead of z710a (for America/Australia)
After that I was able to flash the RUU (without superCID, because CID and MID matches):
RUU_Pyramid_HTC_Europe_1.50.401.1_Radio_10.56.9035 .00U_10.14.9035.01_M_release_223042_signed.exe
For testing I flashed an older version of Gingerbread to verify the OTA update ability and it works fine :victory:
As a result I converted my z710a to z710e to use an unbranded HTC stock RUU including OTA updates
Looking for ENG HBOOT ??? -> look at this attachment
@@RON said:
Well guys, changing the MID requires the ENG HBOOT.
I found it here:
http://forum.xda-developers.com/showthread.php?p=32448846
After flashing ENG HBOOT, I was able to run this command:
fastboot oem writemid PG8513000
So I changed my MID and now I have an European HTC Sensation z710e instead of z710a (for America/Australia)
After that I was able to flash the RUU (without superCID, because CID and MID matches):
RUU_Pyramid_HTC_Europe_1.50.401.1_Radio_10.56.9035 .00U_10.14.9035.01_M_release_223042_signed.exe
For testing I flashed an older version of Gingerbread to verify the OTA update ability and it works fine :victory:
As a result I converted my z710a to z710e to use an unbranded HTC stock RUU including OTA updates
Click to expand...
Click to collapse
Thanks a lot @@RON.. Your splendid idea inspired me to do the same with my Asian HTC Amaze. I changed the mid to that of tmobile amaze and was able to successfully overcome the 'variant system' notification and update the firmware.
I see so many guides, but lots of information spread all over the place and much of it unclear. Hence, this guide. I hope everything is clear enough for someone completely new to understand, but also contains the information and resources to be useful to experienced members of these forums. If this is your first time attempting to flash your phone from stock (as you bought it), by the time you've read this post you should have the understanding of what steps to take and why you are doing them.
Prerequisites
First things first, things you will almost definitely need are
ADB and Fastboot as part of Google's platform-tools (16.0.2 windows, linux, macosx)
HTC's Drivers for Windows computers (here)
Android version number (Settings > System > About Phone)
HBoot version number (See hboot section)
USB debugging enabled (Settings > Applications > Development > USB debugging)
Fastboot disabled (Settings > Power > Fast Boot)
Your USB cable
You may also need
Your CID (Carrier ID, see hboot section)
Matching RUU for your carrier/region (Get here here, how to choose here and below)
A GoldCard (made from your SD Card, only needed if RUU for your carrier isn't available, see goldcard section)
Binary to get temproot (zergRush or tacoroot)
Binary to make your phone think it is a lower version number (misc_version_universal)
Revolutionary
Your phone's serial number (see hboot section)
Things you may want
A custom recovery (e.g. 4ext, zip)
An ENG hboot (0.98.2000, 2.00.2002, partition tables change so nandroid before, restore after)
signapk.jar to create a signed update.zip
To make life easy, I am going to assume that you have saved and extracted all files in the same directory as adb/fastboot.
You may decide to create a folder in the root directory of your computer's hard drive to put all these things in, e.g. C:\desires\
You will probably need an open command prompt or terminal on your computer at this location.
HTC Sync should not be installed on your computer as it can interfere with USB commands.
HBoot
To access your phone's hboot, disconnect any USB and power down your phone. Next, hold down the volume down button, then hold power down until the screen lights up. Release power before releasing volume.
Hboot is useful for flashing, getting information about your phone and running commands that you simply can't do from within Android.
Upon entering hboot, you should be confronted with a screen similar to one of these (left is hboot's bootloader, right is hboot's fastboot)
Code:
[COLOR="Magenta"]*** LOCKED *** *** LOCKED ***[/COLOR][COLOR="Green"]
SAGA PVT SHIP S-ON RL SAGA PVT SHIP S-ON RL
HBOOT-x.xx.xxxx HBOOT-x.xx.xxxx (PG8810000)
eMMC-boot RADIO-yyyy.yy.yy.yy_M
Jan 1 1970, 00:00:00 eMMC-boot
Jan 1 1970, 00:00:00[/COLOR]
[COLOR="Blue"]HBOOT[/COLOR]
[COLOR="Red"]FASTBOOT[/COLOR][COLOR="Orange"]
<VOL UP> to previous item
<VOL DOWN> to next item <VOL UP> to previous item
<POWER> to select item <VOL DOWN> to next item
<POWER> to select item[/COLOR]
[COLOR="Blue"]FASTBOOT[/COLOR]
[COLOR="Green"]RECOVERY[/COLOR] [COLOR="Blue"]BOOTLOADER[/COLOR]
[COLOR="Red"]FACTORY RESET[/COLOR] [COLOR="SandyBrown"]REBOOT[/COLOR]
[COLOR="Blue"]SIMLOCK[/COLOR] [COLOR="Purple"]REBOOT BOOTLOADER[/COLOR]
[COLOR="Black"]IMAGE CRC[/COLOR] [COLOR="Red"]POWER DOWN[/COLOR]
What information should you record here?
The HBOOT-x.xx.xxxx (this is your hboot's version)
Whether it says S-ON or S-OFF
Whether it says SHIP or ENG
If it says S-OFF,
You should already be able to flash a custom recovery via a PG88IMG.zip so you can skip ahead.
If it says SHIP, you may want to flash an ENG hboot.
If it says ENG, you may want to keep a backup of your hboot.
If it says S-ON,
If your android version was 4.0.4, you have to unlock the bootloader via htcdev.
If your hboot version is 0.98.0002 or lower, you can use revolutionary right away.
If your hboot is higher, you will need to downgrade by RUU before you can use revolutionary.
If you will be using revolutionary, you will need a few more bits of information.
If your screen looks like the one on the left, navigate to FASTBOOT and select it, and it will change to the one on the right.
Next, plug in your USB then in your command prompt enter the following commands;
Get your phone's serial number
Code:
fastboot devices
Get your phone's Carrier ID (for use with choosing RUU)
Code:
fastboot getvar cid
You have everything you need from here (for now) so power down or reboot your phone so it starts normally.
Temproot Requires Android 2.3.5 or lower.
This is useful if you have to downgrade your RUU. You will need your USB connected for this. You don't need to do this if you already have root, as the aim of temproot is to give you root until you next power down your device.
First, choose your weapon, zergRush or tacoroot. If one isn't working for you, use the other. Don't use both at the same time.
Using zergRush
Code:
adb push zergRush /data/local/tmp/zergRush
adb shell
chmod 755 /data/local/tmp/zergRush
/data/local/tmp/zergRush
shell will exit
Using tacoroot is a bit more complicated but works on more phones, you need to have gone into recovery at least once (tacoroot has command for this)
Code:
adb push tacoroot.bin /data/local/tmp/tacoroot
adb shell
chmod 777 /data/local/tmp/tacoroot
/data/local/tmp/tacoroot --recovery
Phone reboots to recovery, once it is there, reboot manually
Code:
adb shell /data/local/tmp/tacoroot --setup
Phone reboots again, if it stops at bootloader, choose reboot. It is now ready to be rooted
Code:
adb shell /data/local/tmp/tacoroot --root
You should now be rooted, to check this go back to shell
Code:
adb shell
exit
and look to see that there is now a # where there was a $.
If you have successfully got temproot, next is using misc_version. However, this is also a good time to install Titanium Backup, should you want to save any of your data. Busybox and superuser may also be required for Titanium to work, I didn't do it myself.
misc_version Requires root or temproot.
misc_version is used to trick your phone into thinking it is running an older version. Setting this number lower than the RUU you want makes the phone think the RUU is newer, and so lets it run.
Code:
adb push misc_version /data/local/tmp/misc_version
adb shell chmod 777 /data/local/tmp/misc_version
adb shell /data/local/tmp/misc_version -s 1.27.405.6
You should now be ready to downgrade by RUU.
RUU Requires misc set to lower version number. Will wipe your phone. Bootloader must be locked.
Choosing a RUU is quite simple, take the CID you found in the hboot section and compare it to this list of carriers
prank1 said:
vendor CID
SuperCID 11111111
AirTel-India ????????
Asia-HK-CHT HTC__622
ATT CWS__001
BM BM___001
Bouygues-Telecom BOUYG201
Brightstar-PTB BSTAR502
Brightstar-SPA BSTAR301
Chunghwa-Taiwan CHT__601
CT HTCCN702
CU HTCCN703
DCM DOCOM801
DOPOD DOPOD701
Era T-MOB009
Fastweb-IT FASTW401
GOOGLE GOOGL001
H3G-DAN H3G__F05
H3G-Italy H3G__402
H3G-ROI H3G__003
H3G-SWE H3G__G04
H3G-UK H3G__001
HTC-Asia-SEA HTC__037
HTC-Asia-SEA-WWE HTC__044
HTC-Australia HTC__023
HTC-BE HTC__E41
HTC-Czech HTC__C24
HTC-Denmark HTC__F08
HTC-Dutch HTC__E11
HTC-EastEurope HTC__032
HTC-ELL HTC__N34
HTC-FRA HTC__203
HTC-FRA-Bouygues HTC__247
HTC-GCC HTC__J15
HTC-GER HTC__102
HTC-India HTC__038
HTC-ITA HTC__405
HTC-Nor HTC__Y13
HTC-Norway HTC__H10
HTC-Poland HTC__B25
HTC-PTG HTC__506
HTC-Russia HTC__A07
HTC-Singapore ????????
HTC-SPA HTC__304
HTC-Sweden HTC__G09
HTC-Turkey HTC__M27
[*]HTC-WWE HTC__001
Hutch-Australia HUTCH001
O2-DE O2___102
O2-UK O2___001
Open-Channel HTCCN701
Optus-Australia OPTUS001
ORANGE-AT ORANG113
ORANGE-BE ORANG012
ORANGE-CH-FRA ORANG203
ORANGE-CH-GER ORANG104
ORANGE-ES ORANG309
ORANGE-French ORANG202
ORANGE-PL ORANGB10
ORANGE-PO ORANG008
ORANGE-SK ORANG006
ORANGE-UK ORANG001
Rogers ROGER001
SMC-Voda-HK SMCVD001
StarHub-Singapore ????????
TELEF-Spain TELEF301
Telstra TELST001
TELUS TELUS001
TIM-Italy TIM__401
TMA T-MOB102
TMCZ T-MOB004
TMD T-MOB101
TMH T-MOB007
TMHR T-MOB006
TMMK T-MOBL11
TMNL T-MOB003
TMSK T-MOB008
TMUK T-MOB005
TMUS T-MOB010
TWM-TW HTC__621
VIRGIN-UK VIRGI001
VODA-Africa-South HTC__016
VODA-Australia VODAP021
VODA-Germany VODAP102
VODA-Greece VODAP006
VODA-Ireland VODAP019
VODA-Italy VODAP405
VODA-Mobilkom VODAP120
VODA-Netherland VODAPE17
VODA-New-Zealand VODAP022
VODA-Portugal VODAPD18
VODA-Proximus VODAP024
VODA-SA VODAP026
VODA-SFR VODAP203
VODA-Spain VODAP304
VODA-Swisscom-DE VODAP110
VODA-Swisscom-FR VODAP212
VODA-Swisscom-IT VODAP416
VODA-Swisscom-WWE VODAP015
VODA-TR VODAPM27
VODA-UK VODAP001
Click to expand...
Click to collapse
Now go over to a repository of RUUs and select the oldest one for your carrier. If there isn't one, then try the generic one for your region (e.g. Europe/Asia/WWE).
The purpose of downgrading is to get an older hboot, so you will be looking for a RUU with version number 1.4x.xxx.x or lower.
There are a lot of SAGA RUUs hosted on androidruu.com androidfiles.org
If the install fails, you may need a goldcard (see GoldCard section) then come back here.
If the install works, go on to Revolutionary.
GoldCard
A GoldCard is used to make your phone ignore it's Carrier ID (CID) and branding when updating with a RUU. It, in effect, grants you "Super CID" whilst it is connected to your phone.
There are many ways to make a GoldCard, but not all SD cards work.
My preferred method uses the goldcard binary and is done with your phone connected by USB.
Code:
adb push goldcard /data/local/tmp/
adb shell chmod 777 /data/local/tmp/goldcard
adb shell cat /sys/class/mmc_host/mmc2/mmc2:*/cid > tcid
set/p cid= < tcid
del tcid
adb shell /data/local/tmp/goldcard -c %cid% -o /data/local/tmp/goldcard.img
adb shell dd if=/data/local/tmp/goldcard.img of=/dev/block/mmcblk1
Your SD card should now be a goldcard. Reboot and try running the RUU again.
Unlocking Bootloader Will wipe your phone. Don't do this if you're S-OFF.
This lets you flash a custom recovery and custom ROMs using a S-ON device. If you're able to use revolutionary or are already S-OFF, I advise against unlocking your bootloader. After this, when on a custom ROM that has been rooted, if you want to get S-OFF you can use misc_version, re-lock your bootloader and downgrade by RUU.
To unlock your bootloader, head over to htcdev.com/bootloader, choose "All Other Supported Models" and follow the steps it gives you. You can use the same adb and fastboot as linked in this guide.
You may want to backup /dev/block/mmcblk0p16 and /dev/block/mmcblk0p3 to your SD card (via dd) before unlocking, so you can see what is changed and in the future, if go on to S-OFF your device, attempt to lock as if it was never unlocked.
To re-lock your bootloader with fastboot, issue the following command (note that the device will remember that it was unlocked).
Code:
fastboot oem lock
Flashing Requires S-OFF or unlocked bootloader.
There are many ways to flash your phone; through recovery, using fastboot flash, fastboot flash zip, PG88IMG.zip and using dd. It is useful to know several methods as you may encounter a situation where one may not work but another will. A S-ON but unlocked device will still prevent some parts of the phone from being overwritten (e.g. hboot).
If you have reached here and just want to put a custom ROM onto your device, put the ROM's zip onto your SD card then the next step is to flash a custom recovery (usually via fastboot). After that, boot into the recovery and: 1. Backup your phone (savepoint), 2. Wipe the phone (clean start), 3. "Install from .zip" (flash ROM).
In all examples, I will demonstrate flashing "my_recovery.img" to the recovery partition.
By fastboot flash
Reboot to bootloader, select fastboot, connect USB, then
Code:
fastboot flash recovery [COLOR="Blue"][B]my_recovery.img[/B][/COLOR]
Wait for it to complete, reboot your device and it is done.By fastboot flash zip
This is the most similar to the method used by a RUU installer. It requires you to create a zip file as in the PG88IMG.zip for it to work, with the exception that you have the file on the computer and not on the SD card.
Reboot to bootloader, select fastboot, connect USB, then
Code:
fastboot oem rebootRUU
fastboot flash zip [COLOR="Red"][B]PG88IMG.zip[/B][/COLOR]
Wait for it to complete, reboot your device and it is done.By PG88IMG.zip
You create a zip file where the ".img" files are named the same as the partition you want to overwrite, and include an "android-info.txt" file to say "this is an important update".
File structure:
Code:
PG88IMG.zip
├android-info.txt
└[COLOR="Blue"][B]recovery.img[/B][/COLOR]
Example "android-info.txt"
Code:
modelid: PG8810000
cidnum:VODAP***
cidnum:VIRGI***
cidnum:T-MOB***
cidnum:TIM__***
cidnum:TELST***
cidnum:TELEF***
cidnum:eek:RANG***
cidnum:eek:2___***
cidnum:BOUYG***
cidnum:H3G__***
cidnum: HTC__***
mainver: 14.01.401.2
hbootpreupdate:13
DelCache:1
DelDevlog:1
Place the PG88IMG.zip file in the root of your SD card and reboot to bootloader. It will be automatically detected, preventing you from doing other actions whilst it is there. After it has flashed, remove or rename the file so that the bootloader won't detect it again next time.
Wait for it to complete, reboot your device and it is done.By dd
This is the only one done by adb (root environment, S-OFF) and the only one that lets you modify un-named partitions and skip version checks. It can also be done from recovery, but remember to mount /sdcard/ if you plan to use it.
Typing a wrong number when doing this can easily brick your phone, so some consider it the most dangerous method.
First, look up which block you want
Code:
mmcblk0p7 rcdata (still protected on revolutionary S-OFF)
mmcblk0p17 misc
mmcblk0p18 hboot
mmcblk0p19 splash1
mmcblk0p21 recovery
mmcblk0p22 boot
mmcblk0p25 system
mmcblk0p27 cache
mmcblk0p26 data
mmcblk0p28 devlog
mmcblk0p29 pdata
Then run the command
Code:
adb push [COLOR="Blue"][B]my_recovery.img[/B][/COLOR] /sdcard/
adb shell dd if=/sdcard/[COLOR="Blue"][B]my_recovery.img[/B][/COLOR] of=/dev/block/[COLOR="Red"][B]mmcblk0p21[/B][/COLOR]
(if you need to use su to get root, seperate "adb shell" from "dd" and "su" between them)
Wait for it to complete, reboot your device and it is done.
Backups Restores require S-OFF
Other than using your recovery's backup, you can also backup partitions through dd. This does not require S-OFF and is similar to flashing with dd but with the input and output paths the other way around.
For example, to backup your hboot as "my_hboot.img", find the block it is on (listed above) and run the command
Code:
adb shell dd if=/dev/block/[COLOR="Red"][B]mmcblk0p18[/B][/COLOR] of=/sdcard/my_hboot.img
If you are not going to be changing special partitions, normal backups made through your custom recovery are easier and store all your data.
update.zip Requires S-OFF or unlocked bootloader
An update.zip lets you interact with the filesystem as root without fully loading up Android via fastboot, stock recovery or custom recovery. It works in a similar way to PG88IMG.zip but with scripting, and the .zip needs to be signed.
The following is an example of how you might create an update.zip to root your device, grey entries are generated upon signing. Remember to include update-binary.
Code:
update.zip
├META-INF
│├com
││└google
││ └android
││ ├update-binary
││ └updater-script
│├[COLOR="Grey"]CERT.RSA[/COLOR]
│├[COLOR="Grey"]CERT.SF[/COLOR]
│└[COLOR="Grey"]MANIFEST.MF[/COLOR]
└system
└xbin
├busybox
└su
The updater-script contents for this example could be as follows below.
It is important to leave a blank line at the end of this file so that it works as expected.
Code:
mount("MTD", "system", "/system");
delete("/system/bin/busybox", "/system/xbin/busybox");
delete("/system/bin/su", "/system/xbin/su");
package_extract_dir("system", "/system");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm(0, 0, 06755, "/system/xbin/su");
unmount("/system");
To sign the zip, use signapk.jar with a pem certificate file and pk8 key file. You can generate your own or use the ones in the zip attached below.
Code:
java -jar signapk.jar certificate.pem key.pk8 update.zip update-signed.zip
Once signed, you have two choices of how to apply it
By recovery; place the update-signed.zip on the root of your SD card and rename it to update.zip. Now reboot into bootloader, choose recovery. If you're on stock recovery, you may be prompted by an exclamation mark here, hold volume up and volume down, press power and then release the buttons to proceed to the next screen. Now choose to apply update.zip.
By fastboot; boot into your bootloader, go to fastboot, and run
Code:
fastboot update update-signed.zip
The different commands you have available to you in updater-script are below
Code:
abort()
apply_patch(<source_file>, <targt_file>, <target_sha1>, <target_size>, <patch1_sha1>, <patch1>[, ..., <patchN_sha1>, <patchN>])
apply_patch_check(<file>, sha1_1[, ..., sha1_N])
apply_patch_space(<number_of_bytes>)
assert(<condition>)
delete(file1[, file2, ..., fileN])
delete_recursive(dir1[, dir2,...,dirN])
file_getprop(<property_file>, <key>)
format(<filesystem_type>, <partition_type>, <partition_or_device>)
[COLOR="Grey"]e.g. filesystem_type; "yaffs2", "ext4"
partition_type; "MTD", "EMMC"[/COLOR]
getprop(<key>)
ifelse(<condition>, <script_if_true>, <script_if_false>)
is_mounted(<mount_point>)
mount([<filesystem_type>, ]<partition_type>, <partition_or_device>, <mount_point>)
[COLOR="Grey"]e.g. filesystem_type; "yaffs2", "ext4"
partition_type; "MTD", "EMMC"[/COLOR]
package_extract_dir(<package_path>, <destination_path>)
package_extract_file(<package_path>[, <destination_path>])
read_file(<file>)
run_program(<program>, <arg1>[, .., <argN>])
set_perm(<user_id>, <group_id>, <mode>, <file1>[, <file2>, ..., <fileN>])
set_perm_recursive(<user_id>, <group_id>, <dir_mode>, <file_mode>, <dir1>[, ..., <dirN>])
set_progress(<fraction>)
sha1_check(<data>[, <sha1_1>, ..., <sha1_N>])
show_progress(<fraction>, <seconds>)
symlink(<target_path>, <link1>[, ..., <linkN>])
ui_print(<text1>[, ..., <textN>])
unmount(<mount_point>)
write_raw_image(<image_file>, <partition>)
Credits
xp314a, drivers
prank1, CID vendor list
Revolutionary, S-OFFing and zergRush
jcase, tacoroot
zryvffn, misc_version_universal
Google, adb and android
htcdev, bootloader unlocking
Many others
Thanks for reading, hope this clarifies a lot.
Please message me if you see any errors.
This
Is
Epic
:beer::beer:
Very nicely done :thumbup::beer:
how comes you've managed to accumulate all this knowledge? great formatted posting! where were you before XDA?
paul_robo?
Impressive work :thumbup:
Sent from my HTC Desire S using xda premium
ben_pyett said:
how comes you've managed to accumulate all this knowledge? great formatted posting! where were you before XDA?
Click to expand...
Click to collapse
I was not a member here before I joined.
All the knowledge is out there, much on xda, some across wikis and other forums, I accumulated it because rather than just blindly following a guide to S-OFF and flash my phone, I wanted to actually learn and understand what I was doing at each step.
Knowledge begets knowledge.
As for posting it, I was a little surprised to see nobody had compiled all the information I was looking for together, it was either guides based on more guides, or odd posts spread across the internet. I saw a gap so filled it!
How to Root.
Frndz here is my htc Desire HD Information,plz tell me the right way to root it?:crying:
shahzaib8711 said:
Frndz here is my htc Desire HD Information,plz tell me the right way to root it?:crying:
Click to expand...
Click to collapse
Try looking in your device forum this is for the desire s (saga).
"You learn something new every day if you're not careful" - Wilf Lunn
Very very helpful for a newbie like me, thanks for this.
shahzaib8711 said:
Frndz here is my htc Desire HD Information,plz tell me the right way to root it?:crying:
Click to expand...
Click to collapse
you need to unlock bootloader, then flash custom recovery (for example CWM or 4EXT) via fastboot, then flash superuser flashable zip via recovery
EXCELLENT! Just installed a new ROM and a Desire S for the first time, and this was a lifesaver
(One minor correction: think you need to chmod misc_version before you run it, at least I did.)
dbdkmezz said:
EXCELLENT! Just installed a new ROM and a Desire S for the first time, and this was a lifesaver
(One minor correction: think you need to chmod misc_version before you run it, at least I did.)
Click to expand...
Click to collapse
Thank you for pointing this out! I've updated that section to include a chmod, along with some other minor changes throughout. Please keep letting me know if you spot other things that are not clear / wrong. I want this to be the highest quality possible for people who aren't just looking for a 1-click solution.
Hmm I have just purchased an HTC Desire S, and it comes Locked and S-off. I think I only need to flash a custom recovery to start playing, but after entering the command, it says "not allowed"
Should I try to unlock my bootloader?
blackhawk_LA said:
Hmm I have just purchased an HTC Desire S, and it comes Locked and S-off. I think I only need to flash a custom recovery to start playing, but after entering the command, it says "not allowed"
Should I try to unlock my bootloader?
Click to expand...
Click to collapse
Yh u must still unlock bootloader
Hi everyone,
Not sure it this is the right topic or not...
I have been searching flashable zip of stock rom (ICS) of our beloved desire s. i found GB ones but not ICS. If anyone has it or knows the link, please share it. I want to return to stock!!...I am on hboot 2.02...Thanks in advance.
jmcclue said:
Yh u must still unlock bootloader
Click to expand...
Click to collapse
Unlocking the bootloader should not be necessary if the device is S-OFF, it's likely something else was going on if there was a "not allowed" error. Remember, S-OFF opens up the device more than unlocking it does.
suresh86 said:
Hi everyone,
Not sure it this is the right topic or not...
I have been searching flashable zip of stock rom (ICS) of our beloved desire s. i found GB ones but not ICS. If anyone has it or knows the link, please share it. I want to return to stock!!...I am on hboot 2.02...Thanks in advance.
Click to expand...
Click to collapse
The stock ICS was never properly completed and released unfinished. If you want ICS or newer, it's a much better choice to go for a custom ROM.
The HTC UI is called "Sense". If the reason you're looking for stock is the feel, then any custom Sense ROM will be similar.
Great guide ty for making one.
Please add info about revolutionary bc when you got beta key it can contain upper case and lower case.Problem is when you got l (lower L) and I (upper i) in same beta key.I got that problem and after a while I copied key to notepad (or word), select it and changed font to see difference then I got my phone S-OFF via revolutionary.
paulie-uk said:
Unlocking the bootloader should not be necessary if the device is S-OFF, it's likely something else was going on if there was a "not allowed" error. Remember, S-OFF opens up the device more than unlocking it does.
Click to expand...
Click to collapse
Yes i know exactly what s-off is. Basically, i know from experience that when ur phone is s-off and then lets say u go to sell the phone and u put it back to stock (ruu) ur bootloader will become locked again but still s-off, and to flash lets say recovery in fastboot, it will say something like remote error not allowed bla bla bla, so then u unlock bootloader via htcdev and then ul be back to full s-off and u can flash away mad. I know this because i had to do it with my sensation (twice) and desire. Soo im guessing that the person who he baught the phone off, flashed a ruu to sell the phone, hence the locked & s-off.
Hello,
I wanted to restore my Desire S (remove S-OFF, root and set up a stock rom).
So first I updated the HBOOT-Version to 2.00.0002. After flashing the HBOOT the information in Bootloader were changed to
###LOCKED###
SAGA PVT SHIP S-ON RL
HBOOT-2.00.0002
RADIO-3822.10.08.04_M
eMMC-boot
In the second step I tried to install the stock RUU. For the installation I used "RUU_Saga_S_HTC_Europe_2.10.401.9".
But the installation failed with an error message, that the CID is wrong. I completely forgot, that the CID is VODAP102.
So then I tried to install the RUU "RUU_Saga_Vodafone_UK_1.32.161.1" but this failed, too.
I get the error message, that the current main-version on the Desire S is higher then the main-version of the ROM.
When I start my Desire it stuck on the HTC-Logo. I always tried to extract the rom.zip from the RUUs, rename it to PG88IMG.zip and install it from the Bootloader.
But after it checked the ROM I got the same errors (CID and main-version).
The next idea was to downgrade the HBOOT, so I reboot to bootloader.
In the bootloader I noticed, that I dont't get an ADB-connection. The command "adb devices" doesn't show my device. I have only a fastboot-connection.
The command "fastboot getvar all" show the following output:
version: 0.5
version-bootloader: 2.00.0002
version-baseband: 3822.10.08.04_M
version-cpld: None
version-microp: None
version-main: 2.10.401.9
serialno: ############
imei: ############
product: saga
platform: HBOOT-7230
modelid: PG8810000
cidnum: VODAP102
battery-status: good
battery-voltage: 4199mV
partition-layout: Generic
security: on
build-mode: SHIP
boot-mode: FASTBOOT
commitno-bootloader: ebd3df7d
hbootpreupdate: 12
gencheckpt: 0
Can someone help me, please?
I have no idea anymore how I can fix this.
(Sorry for my english)
It's simple, you need to find the correct RUU (both version-number-wise and CID-wise) and run that
Aquous said:
It's simple, you need to find the correct RUU (both version-number-wise and CID-wise) and run that
Click to expand...
Click to collapse
Yeah , but that problem is, that I only found the RUU_Saga_Vodafone_UK_1.32.161.1. I don't find a newer version.
Can someone help me, please?
I don't find a newer RUU and don't know what I can do else. I have no ideas more.
You can always use the ICS RUU, but keep in mind that ICS has bugs and that you will void your warranty.
You could also use a RUU with a different CID and use a goldcard.
When I use the ICS RUU, can I downgrade without HTC-Dev to a lower HBOOT-Version after the installation?
Depends the creation of a goldcard on the sd-card or the device? I tried to create a goldcard on another device, but the RUU-installation failed anyway.
Al-Caone said:
When I use the ICS RUU, can I downgrade without HTC-Dev to a lower HBOOT-Version after the installation?
Depends the creation of a goldcard on the sd-card or the device? I tried to create a goldcard on another device, but the RUU-installation failed anyway.
Click to expand...
Click to collapse
With the goldcard use the 2.10.401.9 RUU again. If the goldcard is correctly made you should have successful flash this time.
You can use it like this or use Zergrush or other temproot in order to lower the version and then flash the Vodaphone RUU to return to Stock if you need that specific version for some reason
Sent from my HTC Desire S
I made a goldcard, but the installation of the RUU failed anyway. I put my SD-Card in an other Desire S and tried to create a Goldcard. According the tool goldcard was made successfully. But when I try to install the RUU, I get a CID-error.
Does the creation of the goldcard depends on sd-card or device?
Al-Caone said:
Does the creation of the goldcard depends on sd-card or device?
Click to expand...
Click to collapse
There was a discussion here and I think it can depend on both.
Speaking from my experience when I bricked my DS I created the goldcard on my PC so it was not related to any device data.
Try to extract the Rom.zip from the .09 RUU, copy to the SD card and reboot to bootloader as you did before but with the goldcard this time
Sent from my HTC Desire S
Al-Caone said:
I wanted to restore my Desire S (remove S-OFF, root and set up a stock rom).
So first I updated the HBOOT-Version to 2.00.0002.
Click to expand...
Click to collapse
If this means you still have a custom recovery, that custom recovery should still have root and therefore you'll be able to misc_version from it, even if normal android is unbootable due to partition table changes from changing hboot versions.