Here is what I have been working on, and the thoughts that I have just been thrown out there, and if anyone has any thoughts, ideas or recommendations please add:
I am currently using an unrooted samsung galaxy s sph-D700 flashed to VM with no mms.
Most of the credit goes to Brooksyx for the ideas posted here
My initial thought is that it can't be that complicated to alter the apn settings within any rom to get mms rocking for a sprint phone flashed to Virgin Mobile and things seem overcomplicated.
From this following thread what are the limitations of apn manager? Could apn manager be used on any ROM that doesn't have secured apn settings, and is there a way to find out which ROMs for any phone have unsecured apn settings? Is there a way to unsecure your apn settings and change them to fit the VM settings
http://forum.xda-developers.com/showthread.php?t=1404270&page=19
From this same previous thread at the bottom, would it be possible to just edit the cdmasmsdispatcher.smali file to fit the specific ROM and phone you are trying to enable mms? This one, I am currently working on comparing the cdmasmsdispatcher.smali file from the stock optimus v, the epic 4g sleeper ROM and and Brooksyx's cm7's to see what exactly are the changes that need to be made to enable mms without messing up the functionality of the ROM.
Thirdly, and the most complicated route would be to use the following thread and basically cook the ROM itself and enable mms.
http://forum.xda-developers.com/showthread.php?t=1081239
I will continue to edit this thread as my thought process progresses.
The hardest part about Virgin Mobile MMS reception is the way in which it is sent. Essentially, it is "encrypted". This is why you will receive messages from "9999999999" with a bunch of incomprehensible characters in the message. There is information sent within the message that has to be stripped ahead of time and then the message can be interpreted correctly. All of the Virgin Mobile roms have an edited framework that makes this work. Essentially, even if the rom's APN settings are "unlocked", merely editing the APN settings would only allow for you to send MMS, not receive.
For receiving, you are on the right track with the editing of the APNs and the CDMAdispatcher.smali file, but every time the rom is updated, if there are changes to the framework, (which there inevitably are), the fix no longer works. That's why, as of now, there is only a fix for Cyanogen for Virgin flashed Epics. Now that we know what's going on and which files to edit, it's entirely possible to edit all of those files for each specific rom, but I wouldn't hold out much hope for having a universal flashable fix. There really isn't an "easy" fix as of now to get this working.
I guess I am lacking a bit on how apn manager works as well. My interpretation is that apn manager essentially changes your active apn configuration to "send" mms based on carrier? Couldn't the apn manager.apk essentially be modified to send VM mms. I guess I would think the protocol for sending through VM would be standardized while the receiving would be specific to device?
Also I am curious about mmsdispatcher.smali code, as code editing is extremely tedious per each ROM trying to find the parts specific to mms, which segments need to be edited just to enable mms, so it can be copied and pasted from ROM to ROM and device to device, if even possible?
Sent from my Xoom using xda premium
All that APN manager does is allow you to edit the APN so that the phone can communicate with the MMS server of the specific carrier you want. For certain carriers, just using APN manager or editing the APN settings from the standard APN menu will be more than enough to send and receive MMS. The problem lies with the way in which VM dispatches MMS, (which requires framework edits.) The other issue is that some roms don't allow 3rd party edits to the APN, much like CM9, so APN manager doesn't necessarily work all the time. It is fairly easy to edit the APN settings in Android, so as long as you have the settings, you shouldn't really need APN manager. (If you don't have the settings, APN manager won't help you very much anyway.
The CDMAdispatcher.smali issue is a bit more complicated. The code that decrypts the MMS from Virgin is the same no matter what, but it needs to be written into the rom-specific CDMAdispatcher.smali file, making sure that you don't break any dependencies. Then you have to recomple classes.dex, put it into the framework. If the framework changes, your fix breaks. The framework changes from one version of CM9 to another require a review, patch, and re-build of framework.jar. If you couldn't go from one version of a single rom to another without having to recompile, then you wouldn't be able to go from one rom to another.
You can do a universal APN edit to get send to work, but receive requires more custom work. A lot of that is explained in detail in the original flash to VM thread that you posted. Thankfully, Brooksyx created his own thread for the MMS fix a while ago. It has the flashable fix for CM7 CM9. He updates the CM9 one as soon as the new version of CM9 drops. You can find it here He may have more insight into creating for different roms, but the code has to be added to the .smali file, which is rom-specific, then you recompile, place it in the framework, and then edit the framework within the rom. It's a big job, and there's no generic fix, (at least not yet.)
I am making some headway here although I am a bit confused about some of the scripting. Can anyone tell me what ".line xxx" in the script of the cdmasmsdispatcher.smali file represents or what it references, so if I reedit I correctly script this.
Related
Hi people, 2 questions please.
1) I am trying to personalize a custom ROM by including a few apks into /data/app and signing the zip. Upon flashing, everything boots up fine. However my custom apps do not appear to be installed, same method used to work when I was on custom Eclair ROM. Appreciated if someone can shed some light on this.
2) Also is there anyway I can edit a settings file in a ROM to auto detect the GSM network and retrieve the APNs accordingly immediately after flashing? I have tried editing /system/etc/apns-conf.xml and correcting my provider's APN settings without much success. Solved: Found double entries for my provider's APN in apns-conf.xml
Thanks in advance!
Rooted HTC Desire
Hello i would like to ask a fast question, how would i be able to edit the APN on a ICS rom for htc evo 4g cause i have metropcs and apn manager, or apn backup restore wont work, any help that would helpp me fix this will recieve a gift via paypal
ICS blocked 3rd party apps from writing the apn so your best bet would be to use GOSMS Pro and change the mms settings under advanced in the menu options since it doesn't write to the apn it just uses the apn thru the SMS app leaving the apn partition intact
We are legion, for we are many
oh ima give it a try if it works ill pm you
That's the only thing I can think of until an ics with epst is available and you can use the ## codes to access the apn partition I'm not sure why Google blocked apps from accessing the apn unless they are trying to prevent carrier flashing but idk why they would care since they aren't the phone provider
We are legion, for we are many
-EViL-KoNCEPTz- said:
That's the only thing I can think of until an ics with epst is available and you can use the ## codes to access the apn partition I'm not sure why Google blocked apps from accessing the apn unless they are trying to prevent carrier flashing but idk why they would care since they aren't the phone provider
We are legion, for we are many
Click to expand...
Click to collapse
thats exactly what im saying like seriously why would they even care they just sell the phones. but thanks man im going to have to wait.
I found another fix but it will require a PC the rom zip, 7zip, Apk manager and notepad++ you will have to edit the apn recompile the apk push it back to the romzip with 7zip and the flash the modified rom, or flash it overtop of itself if you don't want to have to reset all of your apps and settings etc
We are legion, for we are many
You can use HiApn global from the market to write apn's
Sent from my DROIDX using XDA App
i got HIAPN working ill let u know if all goes good
If hiapn doesn't work if u send me your rom and the settings you need I can modify the rom for you to flash overitself and get your settings to stick it shouldn't take me more than an hr to decompile mod and recompile the apk you need
We are legion, for we are many
well i need it for a sense 1.0 rom , ive searched the web and i get no mms script for sense 1.0
http://forum.xda-developers.com/showthread.php?t=1312414
Has anyone been able to edit their APN settings successfully on ICS? I used the widget and edited the default Sprint APN and changed it to what my APN backup xml had for Boost Mobile but my MMS isn't working. :/ Tried rebooting my phone and sending another and it says it fails to send and pops up a message saying "Service not activated" or something to that effect. Regular SMS and phone calls work. Help??
Also noticed my voicemail isn't working either. I guess I need to go back to GB ROM, lol.
ICS blocked the ability for 3rd party apps to edit APN so in order to do it you have to manually edit them in the ROM zip prior to flashing at least that's the only way I've been able to figure out so far since there's no epst for ics yet
We are legion, for we are many
-EViL-KoNCEPTz- said:
ICS blocked the ability for 3rd party apps to edit APN so in order to do it you have to manually edit them in the ROM zip prior to flashing at least that's the only way I've been able to figure out so far since there's no epst for ics yet
We are legion, for we are many
Click to expand...
Click to collapse
Can you ecxplain how???
You will have to decompile an apk nod it and recompile it and replace it in the rom zip ill have to look at the exact Apks in a lil bit Im on sprint so I haven't had tto do it another option is to use gosmspro it will allow u to change apn without changing it in the rom so it bypasses the stock settings which is alot easier for ppl who aren't familiar with reading and editing code
We are legion, for we are many
U R Awesome!!!
-EViL-KoNCEPTz- said:
You will have to decompile an apk nod it and recompile it and replace it in the rom zip ill have to look at the exact Apks in a lil bit Im on sprint so I haven't had tto do it another option is to use gosmspro it will allow u to change apn without changing it in the rom so it bypasses the stock settings which is alot easier for ppl who aren't familiar with reading and editing code
We are legion, for we are many
Click to expand...
Click to collapse
Wow that was so damn quick.... U r awesome man!!
Will try the gosmspro... I am kinda familier with coding and stuff but fairly new to android so I will stick to the apk for now.
Will let you know how things work out.
Thanks again man
-EViL-KoNCEPTz- said:
You will have to decompile an apk nod it and recompile it and replace it in the rom zip ill have to look at the exact Apks in a lil bit Im on sprint so I haven't had tto do it another option is to use gosmspro it will allow u to change apn without changing it in the rom so it bypasses the stock settings which is alot easier for ppl who aren't familiar with reading and editing code
We are legion, for we are many
Click to expand...
Click to collapse
I tried the gosmspro but it has some different firm of settings. All I Ned to do Ia add a 10 digit MdN number and Google.com...
But in the gosmspro app there are very different setting options.
I had backed up my apn settings from the apn backup and restore setting all I want to know is if I can use the generated XML file to get the
einga in the from file itself and if yes then how can one go forward doing that???
I found on the market "apn settings shortcut" links you right to the systems apn menu its not a 3rd party app or a widget so try that and let me know if it works please
Digglez said:
I found on the market "apn settings shortcut" links you right to the systems apn menu its not a 3rd party app or a widget so try that and let me know if it works please
Click to expand...
Click to collapse
Sorry man its just that I had tried many different solutions and yet couldn't get my 3g connection back so decided to just jump to the Clean GB Rom.
But the MIUI Beta v4 rom seems promising and I will be updating soon. Will let you know how things work out.
I know a lot of people have had issues using Cyanogenmod on MVNO networks, mostly with data services. I was able to find a fix in this thread: http://forum.xda-developers.com/showthread.php?t=2340437&highlight=s3.
The CM10.2 fix worked straight from installing the .zip in clockworkmod, but for the CM11 fix I had to overwrite the "apns-conf.xml file" in the "CM11/system/etc" .zip, and then flash the whole CM11.zip after factory resetting my phone. I was finally able to get LTE service this way.
However, my issue is that I still can't send MMS, even though the mmsc is already set to "http://mms.plspictures.com" which is the MMS URL for Ting. Has anyone figured out a fix for this, or why it's happening?
EDIT: Just figured it out.
Part 1: So after flashing a working APN list to get LTE, I downloaded a messaging app that allows you to input MMS settings within the app. I'm using 8sms, but Hangouts might work too. I just used the MMS settings from the working APN list. I tried it on the stock app and it didn't work.
Part 2: I'm only able to send/receive SMS when data AND wi-fi are both enabled, I'm not sure why. I'm also updated to CM 11 M8, so I'm not sure if this would have worked on earlier versions. It's weird because I know that I was able to get MMS over data alone on 10.2
I've spent the last day or so looking here on xda and across the web for an answer to this, and I can't seem to find it.
I just freshly installed the Nightly from 2/20 onto my T-Mobile OP7P, and one of the things I always do first is edit the APN settings, including adding 'dun', so I have the option of tethering when I travel. You can't do it through the Settings, so you have to edit the .XML file if you want that.
However, I noticed that the list of APNs in Settings doesn't match the normal file that I would edit in stock. The one in stock being in /system/etc/apns-conf.xml, searched that file for some of the ones showing in the APN list in Settings, and they're nowhere in that file, including my own.
So, obviously Lineage OS is pulling the APNs from a different file, but for the life of me, I have no idea where that file is. Anyone here have any idea?
otrap said:
I've spent the last day or so looking here on xda and across the web for an answer to this, and I can't seem to find it.
I just freshly installed the Nightly from 2/20 onto my T-Mobile OP7P, and one of the things I always do first is edit the APN settings, including adding 'dun', so I have the option of tethering when I travel. You can't do it through the Settings, so you have to edit the .XML file if you want that.
However, I noticed that the list of APNs in Settings doesn't match the normal file that I would edit in stock. The one in stock being in /system/etc/apns-conf.xml, searched that file for some of the ones showing in the APN list in Settings, and they're nowhere in that file, including my own.
So, obviously Lineage OS is pulling the APNs from a different file, but for the life of me, I have no idea where that file is. Anyone here have any idea?
Click to expand...
Click to collapse
What carrier are you currently using? I can send you mine. I had to use my stock apns-conf.xml with lineage and havok
Sent from my moto g(6) play using Tapatalk
Sands207 said:
What carrier are you currently using? I can send you mine. I had to use my stock apns-conf.xml with lineage and havok
Sent from my moto g(6) play using Tapatalk
Click to expand...
Click to collapse
Hey man. I use T-Mobile. I'm good on editing it. I'm not good on actually locating it in the root file system. The APNs reflected in the settings aren't the same as the ones reflected in the /system/etc/apns-conf.xml file, so they've gotta be pulling from somewhere else.
otrap said:
Hey man. I use T-Mobile. I'm good on editing it. I'm not good on actually locating it in the root file system. The APNs reflected in the settings aren't the same as the ones reflected in the /system/etc/apns-conf.xml file, so they've gotta be pulling from somewhere else.
Click to expand...
Click to collapse
What i did to get around that was pretty easy on my end. I deleted the current apns in android settings so none were listed. Then i used fx root browser and copied my stock apns-conf.xml and then went back to apns settings and reset to default. I rebooted and my carrier was there, I am using LTE so i had to enable it as it was set by default to global initially. I also screenshotted my stock apn settings values in case i got lost in the process. I do have a master apns-conf.xml with t-mobile included for some of the ROM's i make. Let me know if you get stuck. Good luck!
Sent from my moto g(6) play using Tapatalk