Full Update Guide - Rogers Dream EBI1 to CyanogenMod
From CyanogenMod Wiki
This is a guide to updating a Rogers Dream on the original/stock 1.5 (Cupcake) system to CyanogenMod 4.2.x+EBI1. The rooting method described below will not work on a phone that has had the Rogers Mandatory Update applied (At present, even 'goldcard' rooting methods have fallen short. Check here for updates to see if someone has come up with a way yet: http://forum.xda-developers.com/showthread.php?t=522127&page=82 ). If your build number in settings, about phone is 1.89.631.1 you have the Rogers Mandatory Update applied.
This guide will also upgrade your Rogers radio to the latest version as distributed in the Rogers Mandatory Update. This should allow your phone to be recognized on Rogers networks as having had the update applied.
Warning: This approach keeps the phone on an EBI1 radio. This means you have to be very discerning in what images you choose to install as most of the G1/Dream system images and recovery images will not work on your phone!
Warning #2: Using this will prevent you from upgrading to the latest CyanogenMod at the time of release. You have to wait for an EBI1 kernel to be released for it before you can use it (typically a few hours, but in extreme circumstances, it may be days). This also means you cannot use the CM Updater from the market without adding a server for the EBI1 kernel. See Updating CyanogenMod.
Warning #3: Please do not follow this guide if you have already replaced your radio with an EBI0 radio (as in haykuro's original guide). See Upgrade Rogers Dream Radio
Warning #4: As with any other device there is always a risk of bricking while flashing the firmware. Even though the risk will be very small if you follow the guide properly and do everything exactly as it says the risk is still there.
Contents |
[edit] Why?
Why go down this road instead of using the root methods that install an EBI0 G1/Dream radio (basically converting your EBI1 phone to a G1)?
Much is speculation, but I wanted to keep my phone as EBI1 in order to see if it would fix this issue. It turned out the issue was unrelated but there may be other reasons to keep the phone on its native radio.
Others have offered the following reasons (debunk if you will, as there is a lot of misinformation out there):
- The Rogers Dream has more memory than the G1 and using an EBI1 radio allows full access to that (definitely unconfirmed)
- Using EBI1 radio on an EBI1 device reduces potential for radio-related bugginess (seems believable)
- Should you decide to turn back and reinstall your stock Rogers system for whatever reason, this simplifies the process.
- Rogers Edge speeds are better on the 32B/EBI1 kernel (according to anonymous on the discussion page)
- On Jan 22 Rogers sent out a text message to Dream and Magic owners saying that you must install the latest software update and they will be disabling data services on Jan 24. Read more about it at: http://www.litui.net/archives/796. It looks like Rogers is checking the radio version so updating the radio will make Rogers think that you have installed their update and hopefully they will re-enable your data.
[edit] Installing from Scratch
[edit] Prerequisites
- Rogers Dream EBI1 running Rogers' stock 1.5 system. This probably will not work with 1.6 or newer.
- A computer with Windows, Linux or Mac and a USB cable to connect your phone to it.
[edit] Preparations
The rooting process will wipe your phone, so you need to back up anything that is important to you. Your paid apps are linked to your account so you can just download those again. The calendar, gmail, and contacts sync with the google servers so these will be restored for you. You do need to back up things like bookmarks, text messages and notes. There are apps in the market to help with this.
Download the following files then copy all of them to the root of your sd card (not in a folder):
- Download Amon_RAs Rogers Dream Recovery (recovery-RA-dream-v1.6.2R.img) from here (XDA Page - Be sure to download the one with a "R" at the end) (Mirror) (Old Version 1.5.2R)
- Download rogers_root_unzipme.zip (Mirror ,Mirror) (md5sum: d522e09be7ddec00ef2354533c14cd2f). Make sure you check the md5sum. This is very important because if there is something wrong with the file it will likely brick your phone.
- Extract only "update.zip", rename it to "spl-1332005.zip". Don't bother extracting the other files. They are not only unnecessary for this process, but could contribute to you bricking your phone.
- Download the latest CyanogenMod version.
- Download the latest EBI1 port file latest version. This is required to allow the CyanogenMod ROM to boot on a phone with an EBI1 kernel.
Set up fastboot on your computer:
- Download the fastboot utility from http://developer.htc.com/adp.html#s2 for your operating system and place it in a convenient directory.
- If using Windows, you also need http://hotfile.com/dl/21083613/a828c81/AdbWinApi.dll.html (Mirror) in the same directory.
- If using Windows, install the USB Driver from http://www.anddev.org/download.php?id=449.
- If using Linux see http://developer.android.com/guide/developing/device.html#setting-up.
- Download htc_system_img_14721.zip (Mirror 1) (Mirror 2) (md5sum: 7a3a2a9bc99a0e8894b62eb9921c000d)
- Extract "system.img" and place it in the same folder as the fastboot utility.
- Download the 3.22.26.17 radio from here (Mirror 1) (Mirror 2)(Mirror 2), rename it to radio.img and place it in the same directory as fastboot.
You've now prepared all the files required for the process.
[edit] Installing a Recovery
In order to replace the SPL on your phone and install CyanogenMod on the system, you will need a customized recovery utility. Ordinarily, fastboot would be the easiest means of installing the utility but Rogers is now distributing phones with v1.33.0010 and higher SPL versions (aka: "Perfect" SPL) which prevent fastboot from flashing images.
To install a recovery utility on these phones, we need to make use of a root escalation exploit. The easiest way to do that is to use Recovery Flasher (FlashRec) as follows.
- Enable execution of non-market applications on the phone ( "Settings/Applications/Unknown sources" )
- Install Zinx's Recovery Flasher from http://code.google.com/p/flashrec/
- In the box type
-
sdcard/recovery-RA-dream-v1.5.2R.img
-
-
Press the backup image. If that fails, tap to the right of backup button, an asterisk will appear and the flash button will be available. Flash the recovery image.
- If it takes a long time, it may have failed. Don't worry. Try again after restarting the app or rebooting your phone.
- When the image is finished, shut down the phone and, while holding the Home key, power it on again. Keep holding Home until you see the RA-recovery screen.
At this point if your system is hung at the Rogers logo something has gone wrong. Don't worry, you're not bricked. Pull the battery and turn the phone on again and repeat from step 3. If it still doesn't work, double check again to make sure you are on Android 1.5. The Recovery Flasher utility will only work if you're on a version of Android that Rogers/HTC hasn't yet fixed.
If you are at the recovery screen, move on to the next step.
[edit] Make a Nandroid Backup
This is not required but is strongly recommended and doesn't take very long. Nandroid will take an image of your phone that you can restore later, just in case.
- Go to Backup/Restore
- Press Nand Backup, press Home to confirm
- When the backup finishes press back to return to the main menu.
[edit] SPL Replacement
We can now use the recovery utility to flash a replacement SPL that will allow us to use fastboot. Be aware that this is the only point in this process wherein you can brick your phone. If you have not verified the md5sum of the file in step #1 now would be a good time to do so.
-
From the ra-recovery screen choose "[Alt+F] Flash zip from sdcard". Choose "spl-1332005.zip". Make sure you selected the right file and press Home to confirm.
- Wait while the SPL is flashed. It shouldn't take long.
- Reboot the phone. It may boot into Android system recovery with a "Formatting CACHE:..." message at the bottom. No confirmation will show up (edit: Formatting CACHE only takes a few seconds), just select reboot from the menu, it should successfully boot into the Rogers system once more.
[edit] Flash the Radio and System Image
Since the CyanogenMod cannot include proprietary Google applications, it needs to be installed on top of an existing 1.6 (Donut) system image. In the official instructions for EBI0 devices (such as the G1) it's recommended to use the HTC ADP 1.6 "Recovery" (-ota-) image. This is a zip file that's installed using cm-recovery much the same as CyanogenMod itself or the SPL you just installed. Unfortunately, this update is bundled with a radio image that is incompatible with the EBI1 kernel. Because of this, if 1.6 is installed using the "Recovery" zip, the update will brick your phone.
Fortunately, there are two methods to get around this. One method is to use a defanged version of the system image that does not include the radio.img. It is much easier but some people have encountered repeatable crashes with the Call Log so we will not use this method. The method that we will use to flash the system image uses fastboot to flash system.img directly so that the accompanying radio.img will never touch your phone.
- Shut down your phone and, while holding the Camera button on the side of the phone, turn it on again. Do not release the Camera button until you arrive at a white screen with skateboarding androids along the bottom.
- Verify that at the top of the screen your listed HBOOT version is 1.33.2005. This tells you the SPL replacement was successful and you can go on with the process. If your HBOOT version still reads 1.33.0010, 1.33.0009 or similar, you are still on the Rogers stock SPL. Try the SPL replacement procedure again.
- Attach a USB cable and press Send to go into fastboot mode. Confirm that your computer sees the phone by typing the following on a terminal or command prompt:
- (You will first need to "cd" to the directory that contains fastboot and the system.img. When using Linux you may need to type "sudo" before the fastboot commands to run them as root.)
-
fastboot devices - It should show the serial number of your phone and should not give any warning messages. If you are on Windows and it does not see your phone make sure that the USB drivers are installed properly (make sure that the device looks fine and there are no errors in the device manager).
-
Type the following commands to flash your radio with the newer Rogers EBI1 radio, wipe your Rogers system image (and userdata, and cache) and replace it with the HTC image:
-
fastboot flash radio radio.img - The system will flash and you will see a green progress bar on the fastboot screen while the image is transferring and a red progress bar while it's installing. Once it is done proceed on to the next command.
-
fastboot erase system -w -
fastboot flash system system.img
-
- You will see the progress bars again. Keep your finger above the Home button so you can press it when required.
- Press Back to reset and immediately (before you see the Rogers logo again) press and hold Home until you're back in ra-recovery.
- If you end up hung at the Rogers boot logo you probably didn't press Home in time or didn't hold it down long enough. Just pull the battery and try again.
As of right now you are in limbo and do not have a usable phone.
[edit] Flash CyanogenMod
CyanogenMod is intended for the G1 and will not run out-of-the box on an EBI1 radio such as ours. The kernel needs to be replaced with one that's been specifically compiled with consideration for our radio version. Fortunately there are some people nice enough to compile those and release them for us very quickly after Cyanogen releases an update.
-
You should be in the recovery, so select "Flash zip from sdcard"
- Select update-cm-4.2.x.zip and press Home to confirm
- When it finishes, select bc-4.2.x-ebi1.zip and press Home to confirm
- You can now go back to the main menu then reboot your phone into your new CyanogenMod install. It might stay on the Rogers and/or Android logo a little longer than usual the first time, this is normal. It will stay there a long time. The next time you reboot it will be back to normal. When finished you should be greeted with a functional CyanogenMod home screen.
That's it! You have successfully rooted your phone and installed CyanogenMod!!!
[edit] What's Next?
You can now install apps that require root access such as WiFi Tether
[edit] APN Settings
CyanogenMod comes with automatic settings and they may work fine for you but if you are have mobile data related problems you can try these alternate settings. To add/edit APN settings: Go to Settings–>Wireless controls–>Mobile networks–>Access Point Names
Add or Edit the following information:
Name: Rogers
APN: internet.com
Username: wapuser1
Password: wap
MCC: 302
MNC: 72 (or try 720 with newer SIM cards)
And for Media Messaging, a new APN will need to be created with the following parameters:
Name: Rogers MMS
APN: media.com
Username: media
Password: mda01
Server: 172.25.0.107
MMSC: http://mms.gprs.rogers.com
APN type: mms
MMS Proxy: 10.128.1.69
MMS Port: 80
[edit] Audio Resources
CyanogenMod only includes a few ringtones for space considerations. This file has many, many more.
- All phones, Download:
- http://n0rp.chemlab.org/android/audio-resources.zip
- MD5Sum: 7340ba86ddd4fba918ef97601c675ef9
- Unzip contents to root of SD Card
- The phone will automatically recognize the audio files
[edit] Apps2SD
This will allow CyanogenMod to move your apps to the SD card, freeing up more room on your phone.
- Press and hold Home and then press Power to boot into recovery mode.
- Select "[Alt+P] Partition sdcard" then "[Alt+0] Partition SD"
- The default sizes should be fine but you can change them if you want.
- Thats it! CyanogenMod takes care of the rest. Reboot your phone.
- It may take longer to start up because it is copying the apps to your sdcard
[edit] Themes
Some themes may not be compatible with EBI1 phones. You can install the themes through CyanogenMod updater or save the zip to your sdcard and apply using recovery. Make sure you have CyanogenMod working before you flash the theme and that the theme is for the correct version of CM. Here is a list of themes that are known to work:
- Enoch
- Community Hero Mix
- Mau5
- Please add more themes to this list if you know they work
[edit] Updating CyanogenMod
Updating CyanogenMod is quick and easy. You will not loose any settings or apps in the process.
- Download the latest CyanogenMod version and EBI1 kernel port then save them to your sdcard
- Reboot into recovery (hold home and power on) then apply the update-cm then the EBI1 port
- Reboot your phone. This may take longer then normal again.
This can be made easier by using CyanogenMod updater. To set it up:
- Download CM-Updater from the market (QR Code) or here
- Open CM-Updater then hit Menu > Configuration > Advanced Settings > Update Folder
- Replace the text box contents with a . Click OK
- Next go to Menu > Configuration > Theme Update Settings > Manage Theme Servers > Menu > Add Theme Servers
- Enter http://briancrook.ca/update_file.json (QR Code) as URL. Save.
To update:
- Themes > Menu > Check Now
- Select the newest bc-ebi1 file from the theme section
- Click on it and download it, choose Apply Later when finished.
-
Download the newest Cyanogen ROM from the ROM section. Choose Apply Now.
- This will reboot to recovery and flash the newest cyanogenmod.
- Now apply the EBI1 port file.
- Reboot your phone. This may take longer then normal again.
If you can't see some updates in CMupdater you may need to enable display all or experimental updates in the settings.
[edit] BE CAREFUL: Some tips
- Avoid themes, enhancements, add-ons or anything else that writes to the kernel. Be very sure before installing a theme that it is EBI1-friendly.
- Be very careful of any upgrade or mod instructions that require you to install an HTC "Recovery" zip/image, a replacement radio, or anything that might cause a difference of versions thereby bricking your phone.
- eg: you currently have an EBI1 system and recovery image. If you flash an EBI0 radio image you will no longer be able to boot your phone. In this situation it is fixable if you know how but there are other situations that are not.
[edit] Thanks
To zinx and rikupw for the info, Cyanogen for the mod, and Radix and Brian Crook for the kernel ports.
