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

Root [Virgin Mobile] Will MD4 bootloaders work with MD7 firmware?

fourpac

Newbie
So we know that moving the HLOS bin file (the modem firmware) from MD7 works in the MD4 firmware with CM 10.1 (according to the tutorial posted on here), but does not turn on LTE. According to the tutorial, this is to utilize the Jellybean bootloaders found in the MD4 firmware and avoid the ICS bootloaders found in MD7. Since this leaves us without LTE, what if we go the other way? Will taking the MD4 bootloaders and putting them in the MD7 firmware brick my phone?
 
Bootloaders should not impact LTE at all.

Also may want to specify what Virgin model. The newer MG2 phones have JB bootloaders already from what I can tell.
 
Following this tutorial, which is for MD7 phones, you must use the MD4 firmware in order to get the Jellybean bootloaders because the MD7 firmware has ICS bootloaders and won't let you install CM 10.1. That's why the bootloaders are important, not necessarily for the LTE functionality. Now, obivously, using this method to get CM 10.1 working on MD7 phones, you will lose LTE functionality. The method in this tutorial - taking the MD7 modem firmware and putting it in the MD4 baseband firmware - solves the biggest problem of getting CM 10.1 around the ICS bootloader of the MD7 baseband, but it still causes that LTE issue somehow. Since we know that LTE works on CM 10.1 for Sprint MD4 devices, my guess is that something in the MD4 baseband firmware disagrees with with the MD7 modem firmware when it comes to LTE. So, what I'm suggesting is putting those Jellybean bootloaders from MD4 (which are necessary just to get CM 10.1 to install on the device) into the MD7 baseband firmware which would hopefully solve the LTE problem.
 
From what I have learned:

If you have a Factory MD7 phone = you have ICS bootloaders

If you have a Factory MG2 phone = you have JB Bootloaders

That is why I asked what version of the Virgin Mobile phones you have - 1st generation (MD7) or 2nd generation (MG2). No sense in taking a risk of installing Sprint MD4 bootloaders on a phone that came with Virgin Mobile MG2 JB bootloaders.

Baseband = modem

MD4 = Sprints last? Factory ROM

MD7 = Virgin Mobiles 1st Generation Factory ROM

MG2 = Virgin Mobiles 2nd Generation Factory ROM

Bootloaders = IMO Dangerous to flash. Messup = Hard Brick

That tutorial flashes the Sprint MD4 bootloaders (replacing the modem basband with vmu MD7) in order to flash sprint ROMs. This due to most ROMs have an "assert" lines verifying its a sprint phone with correct bootloaders.

Its easily bypassed. I do it because of my stock JB Virgin Bobile MG2 bootloaders. I would rather manually edit a few lines to add my bootloaders rather than flash the Sprint ones.

This is a standard CM10 assert line. This is one of the reason you flash the Sprint MD4 bootloaders - to pass assert checks
Code:
assert(getprop("ro.product.device") == "d2spr" || getprop("ro.build.product") == "d2spr" || 
       getprop("ro.product.device") == "d2spi" || getprop("ro.build.product") == "d2spi");
assert(getprop("ro.bootloader") == "L710VPBLJ7" ||
       getprop("ro.bootloader") == "L710VPBMA6" ||
       getprop("ro.bootloader") == "L710VPBMB1" ||
       getprop("ro.bootloader") == "L710VPBMD4" ||
       getprop("ro.bootloader") == "L710VPAMD7");

Since I have a 2nd generation MG2 (JB) Phone I dont flash the Sprint JB bootloaders. I manually change the assert lines to this to work with my phone:
Code:
assert(getprop("ro.product.device") == "d2spr" || getprop("ro.build.product") == "d2spr" || 
       getprop("ro.product.device") == [SIZE="4"][B]"d2vmu"[/B][/SIZE] || getprop("ro.build.product") == [SIZE="4"][B]"d2vmu"[/B][/SIZE]);
assert(getprop("ro.bootloader") == "L710VPBLJ7" ||
       getprop("ro.bootloader") == "L710VPBMA6" ||
       getprop("ro.bootloader") == "L710VPBMB1" ||
       getprop("ro.bootloader") == "L710VPBMD4" ||
       getprop("ro.bootloader") == [SIZE="4"][B]"L710VPAMG2"[/B][/SIZE] ||
       getprop("ro.bootloader") == "L710VPAMD7");


That said I dont think anyone with MG2 phones has been able to flash a ROM over Android 4.2.1 and have it work.

IMO - The reason LTE works with Sprint - because its Sprints lines. We are on Virgin Mobile piggy backed on Sprint - the red headed step child.

Looking at the build.prop and system/app apks our phone uses some some of system called "Chameleon"

Example:
Sprint ROMs build.prop has this:
Code:
ro.cdma.home.operator.numeric=310120
ro.cdma.home.operator.alpha=Sprint

Now If I were to edit this with the Virgin settings it changes to this:
Code:
ro.cdma.home.operator.numeric=311490
ro.cdma.home.operator.alpha=Virgin Mobile US

BUT

If you look at a stock factory ROM its settings are:
Code:
# Chameleon Default Operator (VMU with Chameloen)
ro.cdma.default_numeric=310000
ro.cdma.default_alpha=Samsung


Its a bit odd - I havent figured it out yet.
 
Back
Top Bottom