| || |
Fixing Virgin MMS for ported roms
Because every other week I get someone asking how to do this... Here you guys go.
I did not create this, Jerryscript and Brooksyx (XDA) are the ones who figured it out.
The pre-patched files are their work, not mine.
VERY Important! / WARNING!!!
This NEVER has worked with Sense, don't even ask, I won't respond.
This usually only works with CM7 and CM9.
It will occasionally work on AOKP, but rarely with AOSP. When it does with either, expect the rom to become unstable after 24-36 hours. By unstable, I mean you cannot open anything without it locking up or rebooting. No I cannot fix it.
I spent $300 on a phone so I didn't have to deal with this mess, I don't want to keep doing this for people, so no, I won't do it for you. This method works on very few roms so don't expect miracles. I went from a ported Evo 4g to an Evo V so I didn't have to deal with constant patching and unstable roms. The first time I needed a phone in an emergency, the rom became unstable on me because of this very patch. BEWARE.
If none of this works, you are on your own.
Also, don't expect a walk through on decompressing framework.jar, if you can't find out how, you probably won't be able to make this work anyhow. As simple as this seems, very few people seem to get it right and even after explaining it, many still ask me to do it for them, it took me 3 times to get it right.
I'll start with the hard part, the part that usually ends your chances at pulling this off.
First off you need a compatible file, the cdmasmsdispatcher file can be pulled from a working CM7 or CM9 rom, CM7 and CM9 have changed some lately, so this method may or may no longer work. At the end, you will find working CM7 and CM9 files, however, these are older and may or may not be helpful.
In the new rom, if you can't find this file, you are out of luck and will need to find an alternate method, because even if you find cdmasmsdispatcher, replacing it will only lead to a force close since it won't be compatible.
You can find the cdmasmsdispatcher in inside system/framework/framework.jar. You will need to decompress framework.jar and then locate the cdmasmsdispatcher file. Usually it is located at "\classout\com\android\internal\telephony\cdma" or something similar. Replace this with your donor file and recompile it.
Don't even try with Sense, all attempts have failed. Yes we used files from the Wildfire, including apns, cdmadispatcher, and mms apk's. Forget it, you WILL have to modify code to make it work, there is no simple way of just swapping files. Do not ask. We went down this road on XDA several times, it WILL NOT WORK. I won't even respond to it. Been there, done that, not doing it again. Unless you can code, you will NOT get it to work.
Next is the APNS file (system/etc/apns-conf.xml)
Change the main config line (and nothing else) to:
<apn name="SPG" numeric="31000" mcc="310" mnc="00" apn="1" user="null" server="null" password="null" proxy="null" port="null" mmsproxy="null" mmsport="null" mmsprotocol="null" mmsc="http://mmsc.vmobl.com:8088/mms?" type="mms" />
Note: If you lack this file, you may be able to use a app to change it.
Getting it into a rom however, is on you.
Last and easiest, you need to change the build.prop
CDMA_CARRIER_ALPHA := Sprint
CDMA_CARRIER_NUMERIC := 310120
CDMA_CARRIER_ALPHA := Virgin_Mobile
CDMA_CARRIER_NUMERIC := 311490