A Simple Guide to Rooting the HTC EVO3D GSM (Hboot 1.49.0018), Installing the LeeDroid v5.4 ROM and Unity3b Kernel.
Recently I bought 2 sets of HTC EVO3D from Kogan. Kogan is a grey importer who operates from within Australia. Their products are generally sourced from other countries and shipped to Australia from Hong Kong direct. I have heard of some good feedbacks dealing with the company and also heard of some not so nice ones. Kogan is pretty active on facebook so check them out if you want to buy from them. But anyway, the first set was bought for my wife. Price paid was A$349 + $19 shipping. The unit arrived within 6 days and as this is a grey import set, I wasn’t sure where it is coming from. For those of you who are not aware, the EVO3D’s bezzle (the part surrounding the camera unit) comes in 2 colours (either gold or red). The unit that was supplied is gold in colour. My wife wasn’t particularly fond of this colour and so this ends up to be my phone later on…….
The unit was also supplied with a 8GB Samsung Class 6 MicroSD card, a USB cable + charger with Australian plug and a Amaysim prepaid sim card. Kogan’s website did not say a MicroSD card and a Amaysim SIM card will be included so I am not complaining. After the battery was charged and the phone booted, I realized that this is a grey import set from the UAE, as evidently from its Arabic language selection. Fortunately, there is an option for us to select the language to be English (UAE) so we can continue to use the phone. I have not observed any hardware issues (so far) with the set and we are relatively happy with the unit. The only complain so far (which is expected) is the poor battery life of the phone. On a typical usage cycle, the phone will be almost flat by say 6pm. Not good enough I thought.
The second set was ordered about a week later just when Kogan decided to increase the price by $10. Sneaky. But anyway, I thought A$359 + A$19 shipping is still an affordable figure for me. (Note: the price has gone up once again and today (6th May 2012) the price is A$379). The second unit arrive on the 4th day of order, was supplied with the exact same thing as the first unit, EXCEPT that it has an additional voucher code for the HTC Locations Premium Navigation. The code is only good for the Malaysia/Singapore map so this will not be of much use within Australia. On booted, I realized that this is a grey import set from Singapore (evidently from the Singtel application on the phone). This phone came with a red camera bezzle and my wife likes the colour better so this becomes her phone and I inherited the UAE version.
Okay. As this is not intended to be an unboxing guide but a rooting guide, I will dive straight into it.
I am only going to root my phone. My wife is happy with the stock HTC configuration so I will leave her phone alone. This is also a good strategy for me as I then have a stock EVO3D phone to compare with my rooted one.
An old Fashion Disclaimer
This guide was written and documented by me as I attempt my FIRST Android phone rooting EVER done in my life. So do not expect this to be perfect. Expect unintended errors. I am learning this a baby step at a time. If you find things unclear, the best bet for you would be to go on XDA forum and visit the section dedicated to the HTC EVO3D. There are many talented members there who are also very helpful. Remember, if in Doubt, Ask! Don’t attempt something with a half-cooked knowledge. You will find yourself in a lot of grief later. You have been warned.
My lawyer said I should make it perfectly clear (in red, bold and underlined) that I am not responsible for any damages caused by this guide. My lawyer also instructed me to warn you that you may lose important data, apps, precious time and money and even possibly brick your phone because of following this guide, and to all of which I will not be hold liable to compensate you in anyway. This is a guide for information only and if you find errors needing correction, please let me know and I will amend the guide accordingly. So make sure you understand all the risks involved before going further.
Getting to know the phone
My EVO3D is a GSM set designed to operate with the 900MHZ and 2100MHZ 3G network. So this phone *should* work with Optus and all other Telco companies riding on the Optus network – such as TPG Mobile, etc.
HTC EVO 3D X515m
Background of Rooting
Rooting an Android phone has a lot in common to the jailbreaking of iphone and/or rooting of a NAS such as the Buffalo Linkstation Quad Pro. See here for My Buffalo Linstation Quad Pro NAS rooting guide. The ultimate aim is to obtain root user permissions to the filesystem so we can enhance the operating environment by directly modifying the system files. Of course, we are so accustomed to the jailbreaking of iphones because the jailbreakers are so good in their coding effort that in most cases, jailbreaking an iphone is no more than downloading the software, connect the iphone/ipad to the PC and pressing a single button.
Apple only has several iOS products in circulation (3GS, 4, 4S, ipad 1 and 2), so the talented jailbreaking crews only need to concentrate their effort on 4 to 5 models. This is not so easy on the Android platform as not only we have a lot more different manufacturers running the show, the number of models produced by each one will make you wish that you have photographic memories (Just look at how many Android phones produced by HTC). Add the different bands (CDMA, GSM, etc) produced to suit the Telco, and we have an extremely confusing (and complicated) phone platform to jailbreak/root. Rooting a phone becomes even more complex when all the tutorials on the internet started to use acronyms like RUU, CID, CWM, HBoot, S-On, S-Off, etc. Rooting becomes a superhuman task and this could well be the reason why it is always a much more daunting task to root an Android phone.
I am not fully across the background of rooting and so I will just document what I know, and my knowledge is limited to only the EVO3D. XDA Developers is the first forum that you must visit to learn more about rooting.
Here are some good newbie guides to rooting.
An Overly Simplified Analogy of Rooting
To make things easier for me, I like to remember things using an analogy. Well this may not be the best analogy (or even a correct one) but this the way I do it. The Bootloader of an Android HTC phone is akin to the front door of a house. The house is analogous to the Android filesystem. The front door is always locked and only the owner of the house holds the key to it. If the owner gives this key to a trusted friend, this friend can unlock the door, enter the house and moves around freely within the house but his freedom is restricted only to the living room.
The living room is analogous to the ROM of the Android phone. The living room defines the house, gives it character and gives it extra functionality. The trusted friend of the house owner has all the rights to decorate the living room however he wants. He is allowed to remove things from the living room and similarly, he can also move new things into the living room. There is one part of the house that the trusted friend must not enter and this is the kitchen. The kitchen is analogous to the Kernel system of the Android phone.
To ensure that the security to the kitchen is not compromised, the house owner equipped the kitchen with a high end security alarm. This security alarm is analogous to the S-ON and S-OFF security on all HTC phones. Now why is the kitchen so important? The kitchen is hidden away from sight but is probably the most important part of the house. The kitchen defines how the food are cook inside the house and how they are served and what kind of secret recipes are used to prepare the meals. Without the kitchen, the house won’t function as a whole because there won’t be food on the table and no one likes an empty stomach.
So to root the phone means that you have unlocked the bootloader to gain basic access to the Android filesystem. With root access, you can change the ROM of the phone, and change how the phone’s interface looks. But you can’t change the kernel unless you gained special clearance to bypass the S-ON security of the phone.
Getting to know the bootloader version of the phone
To know the bootloader version of the phone, remove the back cover of the EVO3D, remove the battery. Wait for 1-2 seconds or so. Then re-insert the battery. Put the back cover backs on. Press the volume down button firmly first, and then press the power button at the same time. Continue pressing both buttons until the phone boots into a white screen which should be similar to the following. This is commonly known as the bootloader of the phone. If you have issues entering the bootloader, this thread “How to boot into bootloader (HBOOT)“ from Androidforums.com may help. You would probably have to read the entire thread.
Once you boot into the bootloader, the volume up and down keys will scroll the menu up and down. The power button serves as the selection/enter key.
Let’s try to understand the cryptic lines on this screen. There are notably 3 lines that we are interested in:
- The first line shows that the bootloader is locked.
- The second line shows the HTC codename of the EVO3D. The EVO3D has a CDMA version and a GSM version. The former’s codename is HTC Shooter and the latter HTC Shooter_U. So just by observing the bootloader, one can easily determine that this is a GSM phone with a GSM ROM. Note that there is a “S-ON” as part of this second line. This means the phone has its Security set to On (aka S-ON to the Android community)
- The third line shows that the bootloader has a version of 1.49.0018. This is commonly referred to as the HBoot. So my Hboot is simply 1.49.0018.
Starting to Root
Most tutorials on the internet will suggest 2 ways to unlock the bootloader.
The hardcore Method
The first way is to manually unlock the bootloader using the tool provided by the folks at http://revolutionary.io. There is a shortcoming to this method. On the HTC EVO3D GSM version, it only works with version 1.49.0007 and 1.49.000.8 of the bootloader. Obviously this won’t work with the stock bootloader on my phone. There is a way around this. The strategy is to downgrade the stock bootloader to 1.49.0007. The common way that I know is to upload a “PG86IMG.zip” file to the root directory of the microSD card, enter the bootloader of the phone using the volume down button + power button (see above), and the phone will proceed to load the PG86IMG.zip file automatically….the entire process is more complicated that this.
Here is an extremely concise guide by Dazbobaby titled “Rooting HTC EVO 3D Hboot 1.49.0018 – Installing custom ROM for HTC EVO 3D” that detail exactly how this is done. I would rather not duplicate his tutorial guide here, so go to his page if you want to know more. I have tried this method and sadly to say that this is not working for me but you may have better luck if your hboot is anything but 1.49.007 or 1.49.008.
This thread [How to] Downgrade and Unlock and S-OFF “Almost” Every GSM EVO 3D Out There !!! is yet another good resource detailing how to downgrade the hboot and unlock the boot loader.
The Layman Method
The second method (and the method that works for me) is to officially request the unlocking code from HTC. HTC provides the unlocking code to all HTC users but the caveat to this is that once you have unlocked the bootloader this way, the process leaves a traceable watermark on the Android system (I stand corrected if this is not true) so that if you send the phone to HTC for service during the warranty period, HTC will know that you have unlocked the bootloader and thus your warranty is void.
I am sure there is a way to beat the system but I am not across this. Go to htcdev.com, register your name and follow the instructions. It is a pretty straightforward process. Note that this process will ask you to install some software onto your PC. Follow the instructions and do so. It is pointless for me to replicate all the instructions here because HTC’s website is already so clear and concise.
Note that the htcdev bootloader unlock method will merely unlock the bootloader. It will NOT remove the security of the phone to S-OFF status. That being said, it is NOT necessary to achieve S-OFF just to flash a new ROM to the phone. So if things are done right, your phone would have been rooted by one of the above methods. We can now proceed to flash a new ROM.
Install ClockworkMod Recovery to the Phone
The easiest way to flash a new ROM onto the phone is via this software ClockworkMod Recovery. This is commonly known as CWM in the Android community. But what exactly is CWM and what is it used for?
Here are some good guides to what CWM is and how to install it.
and if you want a visual guide, here is a good video from zedomax.
And if you are too lazy to check out the above guides, then just remember that “a custom recovery for Android phones and tablets that allows you to perform several advanced recovery, restoration, installation and maintenance operations on your Android device that aren’t possible with the stock recovery“
Now let’s get that CWM for the EVO3D. Browse to www.clockworkmod.com/rommanager and you should be able to see all the recovery images files specific to your phone. The latest version for the EVO3D as of this writing is “recovery-clockwork-220.127.116.11-shooteru.img”. Download this into the PC.
Now we can install CWM into the phone. The process is not too difficult and again, zedomax has an extremely detail guide on his youtube channel. I would highly recommend you look into his video.
Here is a quick summary of steps I took along the way (following zedomax’s video guide pretty closely here):
- Make sure that HTC Sync is installed on the PC. This should already be installed if you unroot the phone using the HTCDev.com method. Otherwise, you would need to google this on the internet, download and install it yourself.
- Start EVO3d. Go to settings -> power -> turn fastboot off
- Now turn off the phone with power button. Do not connect the USB cable yet.
- Start the phone with vol-down button and power button pressed simultaneously to go into the bootloader mode.
- Go to fastboot and press power button. Connect the USB cable now. The fastboot text will now change to fastboot USB.
- On the PC, copy the latest CWM image file previously download to C:\Android directory (any other folder is fine too). Create this directory if it is not already created. Just as a side note, I also have these files in this directory as a leftover from the HTCDev rooting process – adb.exe, AdbWinApi.dll, fastboot.exe and unlock_code.bin.
- Start a cmd console window on the PC.
- Type fastboot flash recovery recovery-clockwork-18.104.22.168-shooteru.img into the command prompt. The output should be similar to the following:
C:\Android>fastboot flash recovery recovery-clockwork-22.214.171.124-shooteru.img sending 'recovery' (4460 KB)... OKAY [ 0.901s] writing 'recovery'... OKAY [ 10.430s] finished. total time: 11.331s
This would indicate that CWM is now installed.
- The phone will now return to the “Fastboot USB” screen and there will be several options that you can choose:
Select Bootloader and hit the power button.
- This will bring us to the next screen that says
Select recovery and hit the power button.
- Clockworkmod recovery will now start.
This is how it looks on my phone.
I select “reboot system now” because I am not ready to flash (yet).
The phone will now reboot into the original HTC rom as usual.
Selecting the right ROM to flash
Most of the ROMs available on the internet are compiled by extremely talented individuals. Firstly, it is important to know that ROMs are highly specific to the phone you use. So if your phone is CDMA, then you have to use a CDMA based ROM. Likewise if you have a GSM phone.
A summary list of all the ROMs available for the EVO 3D GSM can be found on this page – HTC Evo 3D GSM Development Index Thread. More information can be found on the parent page EVO3D GSM Android Development.
Unfortunately for EVO3D GSM users, there are only a handful of ROMs suitable for this version. The notable ones are LeeDroid, ROMeOS3D, KingCobra. I am sure there are others but these are the three I can think of now. The other ROMs that you commonly read about online (such as Cleanrom Reborn, MeanRom, Viper Redline, etc) for the EVO3D are only for the CDMA versions of the phone.
So I decided to go with LeeDroid, which happens to be an extremely good and stable ROM as well. Read here for more info – [ROM]LeeDrOiD 3D V5.4[KERNEL] V5.4 2nd April |Aroma|Tweaks|Fast|Stable|Beats. Here is a youtube video showing how the LeeDroid ROM is running on the EVO3D.
You can go to LeeDroid official website by clicking this link. Make sure you go on XDA forum and send him a word of thanks for his dedication and great work. Without people like him, you and I will still be using stock ROM.
So if you wish to install this particular ROM, download the ROM following the link into the PC. This is the file I downloaded – “LeeDrOiD_3D_V5.4-Final-GB.zip”. The ROM file is usually several hundred megabytes in size. Make sure you actually downloaded the ROM file and not the kernel file. After you have downloaded the ROM file, we need to copy this to the microSD card on the EVO3D.
Connect the EVO3D to the PC via the USB cable, EVO3D will prompt if we want to access the sd card via storage mode. Select this and then press Done button. We can now see EVO3D’s sdcard storage as one of the drive on the PC. Copy the ROM file to the root directory on the sdcard.
Flashing the ROM
Now power off the phone. Remove the battery and re-insert the battery after 1-2 seconds. Boot the phone with the volume-down and power button key pressed simultaneously. Press these 2 buttons until the phone go into bootloader mode. The phone will now return to the menu where it says:
Select recovery and hit the power button.
clockworkmod recovery will now start.
Select wipe data/factory reset, hit the camera button and NOT the power button. The power button does not do anything here.
This is a new phone and I have nothing worthy to backup on my phone in this state so I will just proceed without backup.
This will go to the following screen
Select “Yes — delete all user data“. Press the camera button again.
It will take a couple of seconds to delete the data and the end result is this screen below.
The phone will then display the menu system again. This looks like this:
use the vol up/down button to select “install zip from sdcard“.
This will bring up another screen.
use the vol up/down button to select “choose zip from sdcard“. Press the camera button again
This will bring up all the list of files on the SD card
Select the LeeDrOiD_3D_V5.4-Final-GB.zip ROM file. Press the camera button again
Now a prompt to ask if this is to continue.
Navigate to the “Yes – Install LeeDrOiD_3D_V5.4-Final-GB.zip“. Press the camera button
The process will complete in a flash and a popup button appears.
press the camera button to proceed.
another screen comes up and say if we should continue with the installation. press the camera button to accept.
use the volume button to highlight the “I agree with the Term of use” checkbox. Press the camera button to select.
use the vol button to navigate such that the “NEXT” button is selected.
press camera button again. The LeeDroid Changelog is now displayed.
press the camera button to proceed further.
It will then prompt to see if we want to install w/out wiping. I select Perform a full wipe.
use the vol button to navigate again. then press camera button.
then navigate again to next button. and press camera button.
the next screen ask us if we want additional mods
I select these mods:
- Remove dancing droid
- Crypted AGPS fix
- HTC Boot animation
- XLoud Engine
- Samsung EGL Drivers
Obviously you should select whatever is suitable for you.
The next screen will prompt you what to remove.
I select these:
- HTC Stocks
- HTC Watch
Finally press camera button to proceed.
The ROM is now ready to be installed.
Again, press the camera button to proceed.
It will now install the rom. This should take a couple of minutes.
The installation will progress further until the following screen shows:
It will then come to this screen where it says the flashing is complete.
Press the camera button once again.
LeeDroid installation will now exit and return to the previous ClockworkMod screen.
This is the part where I am puzzled and don’t know what to do. There does not appear to be a valid thing for me to select.
Then suddenly the phone refreshes itself and show a menu seletion called “+++++ Go Back ++++++“.
I also observed that there is an additional text “Back menu button enabled” at the end of the screen.
So i select the “+++++ Go Back ++++” menu and hit power button. Don’t press the camera button here.
this will bring up another screen where we finally have a menu item called “Reboot system now“. Select this gladly and hit the power button.
The moment of truth! And the phone is now flashed with a custom ROM!
A side note is that the the rebooting process is VERY LONG. Perhaps a little too long for me to start wondering if the installation has failed or the phone has locked up. So make sure you allow sufficient time before pressing the panic button.
Upon unlocking the lock screen, all I have to do next is to select the carrier, etc…just like it is a new phone.
The good thing is that I now have an English menu and Australia is on the list!!
What Works and What Doesn’t.
While the ROM works well, I do find that WIFI is not working on my phone. Upon trying to enable wifi, it always give up with an error. Initially I thought it may be an issue with the ROM itself, so I reflashed to an earlier version v5.3 but alas the problem still persist. A little research on the internet shows that this could be an issue with the stock kernel. Updating the kernel *should* mitigate the issue. However, this would involve getting the phone to S-ON and is no easy task for me. A quick tour to the XDA forum reveals a tiny secret from the Android community – we can easily flash a new kernel using an app called Flash Image GUI written by Joey Krim without downgrading the Hboot version and getting the phone securty to S-OFF!! Now that is what I call COOL! This is A$0.99 from the google play store. The price is very reasonable and I am happy to pay 1 buck for the app.
Next, we need to find a suitable kernel to flash with but let’s discuss what else is not working on the phone.
The 3D camera does not appear to work out of the box for me. For whatever reasons, any 3D shots taken will no longer look 3D anymore because the images just happen to overlap one another. Your mileage would vary in this case. So this may or may not happen to you. Again, a trip to google land reveal a simple patch in the form of a zip file. You can download this file “HTCCamera_1920x1080_v0.11_by_bio_signed.zip” by clicking on this link. Additional info re. this particular patch can be found here – [MOD] Camera from HTC Amaze 4G, v0.11.
To install this, all you have to do is to follow the ClockworkMod steps as detailed previously but instead of flashing the ROM zip file, you flash this particular patch file instead. Installation is very easy and I find that I am able to get the 3D camera working straight away after flashing this patch and reboot.
Finding a Good Kernel to Flash
Now I need to get back to solving the WIFI issue I am currently facing. Apart from wanting to fix the kernel because of a broken WIFI, I also want to get the most of it in terms of functionality and performance. Overclocking the kernel is the least on my mind but I do want a kernel that is deem to have the best battery life performance.
The HTC Evo 3D GSM Development Index Thread has a list of kernels available for the EVO3D. More information can be found on the parent page EVO3D GSM Android Development. There are many good kernels that are great on the EVO3D and the selection process is more of a personal preference than anything else.
Here is a very comprehensive battery life benchmark test between different kernels – [GSM][KERNELS][26-APR-12][v1.34]Difference between each KERNEL on benchmarks,same ROM. This is a LONG roller-coaster thread but a highly recommended read, if you are care about the battery life to your device.
My first priority is to get the WIFI back up. So I decided to try the latest LeeDrOiD_Evo-3D-GSM_V5.4-FINAL-GB-KERNEL.zip kernel. Installation is so simple that it is beyond belief. Simply download this zip file to the root directory of the microSD card on the EVO3D device. Then start up Flash Image GUI app, make sure that “kernel Image” is selected and then browse to locate the kernel file on the sdcard. Then press the “Flash Image” button and follow the prompt. A reboot then follows and after that, viola! A new kernel is installed! All without mucking around with Hboot and S-Off. What a great app!!
After the reboot, I find that this indeed fixed the WIFI issue on the EVO3D. WIFI now works and there are no longer any issues. Nice.
After using my EVO3D with the latest LeeDroid ROM and Kernel, I decided to change the kernel to the Unity3B by chad0989. Here is the original thread – [KERNEL PATCH] Force AC (fast) Charging – patch complete – where this is mentioned. I download the kernel from this link. Be sure to go to his website http://www.incredikernel.com/ and thank him for his work.
I also installed IncrediControl (available from google play) which allows us to control the CPU voltages with an easy to use GUI…but this is best discuss at another post.
If you read this article all the way from the beginning, I thank you for your patience. If you just scroll to this last paragraph, I also thank you for your time.
After using my EVO3D for a week or so (after it is Rooted, “ROM”ified and “KERNEL”ized), I find that the EVO3D is a very capable device. The improvement brought about by a custom ROM and kernel to the device is indeed significant and I can certainly observe this by direct comparison with the stock EVO3D used by my wife. If whatever I described in this article did not scare you off in any way, I would encourage you to give rooting a try. I am sure you will find the time and effort spent worthwhile to the experience of using this phone. Lastly I hope you find this guide useful. Happy rooting 🙂