• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Guide] How to flash the ZV9 update, for the technically challenged

brotherswing

Android Expert
This thread is now deprecated. An updated guide with more current information can be found here.


Edit! This update has caused as many issues as it fixed. Be aware, you will need a kernel compiled for ZV9 (check with your dev.) I recommend Bobzhome, tvall's, or mgr666's kernels. I have tested all three. Only use this update if you have call quality issues, there is no other reason for flashing this!


The ZV9 radio is part of a security update from Virgin Mobile, and as such removes root access. Jcase from XDA and Jerryscript have cracked the security so it is possible to have the new radio, with root access. The process can be a little intimidating, especially if your technical skills end at putting fresh batteries in a remote.
This guide should make it easy to follow the rather convoluted steps required. I made none of this (with the exception of modifying the Linux scripts to be Windows compatible,) I've only compiled the resources in one place with directions. I assume you know nothing, need everything setup from scratch, and that you're running Windows. Let's begin, shall we?

First of all, we need to be prepared. Set aside about an hour and a half during which you don't expect any calls. The process shouldn't take that long, but this gives you plenty of time - don't rush! The hardest part is getting things set up right. Once you've got that done, it will be very easy.


You will need to download the following files:
ADB, here. Follow the installation instructions found in the link.
Java, here. Install like any other windows program.
USB drivers, here. Unzip, then run the executable. Without this, your phone and PC can't communicate.
CunningLogic-GorditaRoot-4win, here. Unzip the files to C:\SDK\platform-tools. Make sure you can see Gordita.bat in the same folder as adb.exe.
The official VM670ZV9 update from VM, here. Put this on your sd card, in the root directory (not in a sub folder.)
Optional:
Flash Image GUI, here. Install this app on your phone.
Bobzhome's recovery, here.
jcase's modified SuperUser zip package, here.


Setup:
Make sure your have Java, ADB, and the USB drivers installed properly. First Java can be tested by going here. If that works, then you can move to the next step, testing the drivers. Plug your phone into the PC with the USB cable. Windows should detect new hardware and then install the drivers. When you see the message "Your new hardware is installed and ready to use." then you can proceed to the next step. On the phone, go to Menu-Settings-Applications-Developement and make sure Android Debugging is enabled. Now on the PC click start-accessories-command prompt. In the command prompt window, type the following commands (or copy and paste.)
Code:
cd c:\SDK\platform-tools
adb devices
Leave the command prompt open, we may need it later.
If all went well, adb should list your phone. Congatulations! Setup is now complete.


Process:
Stage 1
1) Reboot into recovery. Check your current recovery version. If you have CWMT or MultiBoot you will need to change it, or this WILL brick your phone. Use Flash Image GUI (or the BACKside updater if you're running BACKside - thanks Jerry, you rock!) to flash Bobzhome's recovery.
2) Go to Backup and Restore, choose Backup.
3) Once done, click back to the main menu. Choose apply update from sd.
4) Once that is done, choose reboot system now.
5) Your phone may or may not boot at this point - don't panic! If it doesn't boot, just pull the battery, then boot back into recovery. If it did boot up, reboot into recovery anyway! ;)
6) Choose factory reset/wipe data.
7) Choose apply update from sd (yes, again.)
8) Once done, reboot to system.
9) The phone should boot up to the stock rom. You can verify the radio version now by Menu-Settings-About Phone-Baseband Version. It should end in ZV9. If not, stop. Return to step 3, and repeat.

Stage 2
10) On the phone, go to Menu-Settings-Applications-Developement and make sure Android Debugging is enabled.
11) On the PC, navigate to C:\SDK\platform-tools. Double click Gordita.bat. If it doesn't work (or hits an error), open it with a text editor, then copy and paste each line individually into the command prompt window. You can skip the lines that begin with "echo."
12) Wait for it to finish. You'll know it's done when you see "Recovery flashed! Enjoy."
13) Reboot into recovery.
14) Go to Backup and Restore, choose Restore. Pick your latest backup.
15) Reboot. Done!

Notes:
If you want the stock rom with root access, skip step 14. Instead, choose install zip from sd card, and flash jcase's modified SuperUser zip package. Reboot. Done!
If you want a clean start (like I did) skip step 14. Instead, choose install zip from sd card, and flash your favorite rom (and gapps if necessary.) Reboot. Done!


I appreciate any feedback on this guide, as that will only improve it.
That's all there is to it, enjoy!
 
You might wanna add "by holding volume_down+home+power keys" to "Reboot into recovery".:)
Or add "adb reboot recovery" as a last line in the batch file.
 
Also might want to add that when you are in the stock recovery you have to use the Home button to select things.

Also after I used the Gordita.bat and then went into recovery, I noticed that I was still on the stock recovery. Looking in the Gordita.bat file, it is flashing recovery.img, while the recovery that was unzipped to that directory is still listed as VM670NH_recovery so once I changed that to just recovery and reran Gordita.bat it flashed correctly.
 
Nice write up brotherswing! One thing I noticed is in about phone on stock ROM the baseband seems to be written by the rom. The software version seems to pull its info from the radio. So to verify you should look there. I've actually had stock ROM tell me baseband zv9 software zv4 and qpst said zv4 also.

Sent from my LG-VM670 using Tapatalk
 
Thanks for the great feedback! I'll correct the bat, and clarify some things like checking your baseband. I will post it over at AC, but I have to do these things piecemeal when I have ten minutes to spare. Caring for a three month old takes a huge chunk of my time, and over half my posts (like this one) are done one handed.
 
Thanks for the great feedback! I'll correct the bat, and clarify some things like checking your baseband. I will post it over at AC, but I have to do these things piecemeal when I have ten minutes to spare. Caring for a three month old takes a huge chunk of my time, and over half my posts (like this one) are done one handed.

Know the feeling except mine is now 3. Just a bit anxious to have a guide thread like this over there. Leslies thread wasn't really meant as a guide to flash the whole update but that's what it's sort of become after I found out her radio zip wasn't appearing to stick.

Sent from my LG-VM670 using Tapatalk
 
Also might want to add that when you are in the stock recovery you have to use the Home button to select things.

Also after I used the Gordita.bat and then went into recovery, I noticed that I was still on the stock recovery. Looking in the Gordita.bat file, it is flashing recovery.img, while the recovery that was unzipped to that directory is still listed as VM670NH_recovery so once I changed that to just recovery and reran Gordita.bat it flashed correctly.
I just checked it out, the bat seems to point to the correct file at my end. I'll keep an eye out to see if anyone else has this issue.
 
Just did the guide exactly as you posted it. Everything worked perfectly. Took 30 minutes and I felt like I was taking my time.

Thank you!
 
Pay close attention each time you reboot after flashing the update.zip file. You are looking for a progress bar during boot-up (right at the beginning). If you see this, the radio is being flashed. If you don't see it, do a factory reset in recovery and try again. ;)
 
Pay close attention each time you reboot after flashing the update.zip file. You are looking for a progress bar during boot-up (right at the beginning). If you see this, the radio is being flashed. If you don't see it, do a factory reset in recovery and try again. ;)

While still on the recovery screen correct? After flashing the update I pressed reboot system and that's when I saw the text.
 
While still on the recovery screen correct? After flashing the update I pressed reboot system and that's when I saw the text.

I've heard reports of it happening both ways. The whole process is a little flaky, thus the double flash.
 
We could probably get rid of the double flash if someone could extract the new stock recovery to use from the beginning (flash stock recovery-factory reset-flash update.zip)

Sent from my LG-VM670 using Tapatalk
 
Well, I have the original stock recovery image on my mediafire page. We could try flashing the stock recovery first, then the update. Unfortunately I can't test it, I'm already updated.
 
I've been digging through the recovery code a bit this weekend, never have in the past since there were good recoveries available.

It appears as if VM is using a pretty standard method of flashing the radio. The code comments state that it is done on reboot after the main firmware has been flashed.

There is however a comment in the code that states there is a possibility of device specific code taking actions outside the standard recovery:
Code:
        // device-specific code may take some action here.  It may
        // return one of the core actions handled in the switch
        // statement below.
That switch statement handles most of the extended commands, so there could be more than meets the eye. However, it looks as if things are proceeding in the standard manner.

Next up, time to dig into the bootloader. ;)
 
The one bummer to this is that this may mean we cannot dump the previous radios. If the lower level firmware handles the writing of the radio image, which it appears to, then it would take a lot of digging through decompiled garbage, and a lot of luck, to figure out what is happening. We (IHO devs) are trying to come up with a way to piggyback/mirror the process. Might get lucky enough to at least get a raw dump, but I'm not holding my breath at this point.

Till then, unless you are a member of the flash-addicts-society, there's really no compelling reason to update the radio. I say that with the caveat that you don't flash anything without a backup of what you are replacing, including the radio (my personal OV is still on ZV4). ;)

I dream of the day when someone releases a fully open source OS, including all drivers, loaders, and sysfs.
 
Jerry just answered my question which is whether it is really worth it to update the radio. Until there is a method to update the radio code that does not involve flashing the full VM update I am going to hold off on this. I suspect the best we could hope for would be a modified recovery that can do the job or at least a special purpose recovery that would temporarily replace the custom recovery that is on the phone.

In all honesty I would like to have a phone with a chat camera, a rear facing camera that can take some half decent pictures which means at least 5 MP and a larger screen.
 
Back
Top Bottom