Wednesday, 21 October 2015

How I got my Sprint LG G2 (LS980) to work on T-Mobile - Guide with Screenshots



I have a Sprint LG G2 (LS980) that I wanted to use on T-mobile. There is a ton of info scattered in various threads on achieving bits and pieces of this task, but nothing I could follow straight through to get it done. I did not come up with any of the info in here, I just assembled it to form a guide that I used to successfully get my LS980 working on T-Mobile. Thanks to all the hard work of everyone else who wrote the apps I used, and those who came up with the exploits that made it all possible.

(Also, I wrote this in HTML before I realized I had to use BBCode here. I used a HTML to BBCode converter, so if something looks formatted weird, let me know, I might have overlooked it)

Apps Used
Flash Stock Rom
Based on steps here.

Downloads
Install LG Drivers
  • Run the downloaded file 'LGUnitedMobileDriver_S51MAN313AP22_ML_WHQL_Ver_3.1 3.2.exe'

  • Click Next through the prompts, they require no real configuration.

  • If successful, you should get a prompt:



Quote:









LG United Mobile Driver Installed Successfully.







Setup LG Flash Tool
  • Run the downloaded file Setup_LGFlashTool_1.8.1.1023.exe

  • Click Next through the prompts, nothing needs unique configuration. It will install by default to C:\LG\LGFlashTool\

  • Copy the downloaded MegaLock.dll from earlier into C:\LG\LGFlashTool, and over-write the one that is already there.


Boot into Download Mode
  • Plug usb cable to computer

  • On the phone, hold volume up and plug other end of usb cable into phone

  • Screen will show 'Download Mode'


  • The screen will then show 'Firmware Update'


  • The device is now in Download Mode and ready to be flashed


Configure Port for Phone
  • Open Device Manager and expand Ports (COM & LPT)

  • Right click LGEAndroidNet USB Serial Port and choose Properties


  • In the Properties window click the Port Settings tab, then click Advanced


  • In the Advanced Settings window, set the COM Port Number to COM41 and click OK


  • The entry in Device Manager should show as having COM41 now.



Flash the Phone
  • Run LGFlashTool as Administrator
    • "C:\LG\LGFlashTool\LGFlashTool.exe"


  • In the Model Config window that opens:
    • Check Select Manual Mode

    • DLL:"C:\LG G2\LGLS980_20130904_LGFLASHv151.dll"

    • S/W:"C:\LG G2\LS980ZVA_01\LS980ZVA_01.tot"

    • Click Ok



  • In the LG Flash Tool screen click the Yellow Arrow to Start


  • The Port 1 box should, after a second, show Ready!


  • If the Port 1 box does not start showing processing after a few seconds, unplug the phone then plug it back in. This should start it.


  • As it processes, the phone may reboot a couple times (I never counted how many times)

  • At 94% my phone will restart, and the app will show 'Waiting 120 sec for reboot'. When the phone restarts at this point, it is loaded into the OS and waiting to be configured. I have never gotten the Flash Tool it to hit 100% successfully, despite being in the phone. I have not seen this to be a problem yet.

  • Once inside the phone, close the Flash Tool.


Root the Device
The device has to be in debug mode before it can be rooted with this method.

Enable Debug Mode
  • Open Apps| Settings



  • Select About Phone


  • Choose Software Information


  • Click Build Number 7 times. After about 4 clicks you will see feedback indicating remaining clicks until you are a developer



Quote:









You are now 3 steps away from being a developer.





  • After 7 clicks, you will see a popup that says:

    Quote:









    You are now a developer!






  • Back out to the root of Settings and choose Developer options


  • In the Developer Options, check USB Debugging




Root the device
  • Download IOroot here.

  • Extract the downloaded ioroot.zip

  • Run ioroot.bat as Administrator

  • A cmd window will launch and show:



Quote:









enable ADB connection..
Developer Options unlocked and ON.
USB debugging ON.
Accept RSA key fingerprint.
Press any key to continue...





  • On the Phone, click OK when prompted for Allow USB Debugging?


  • On the Computer, press ENTER to advance the batch

  • The batch script will next pause showing:



Quote:









USB Connection Mode needs to be toggled.

Toggle USB mode to another setting and then back again.

Ex.
Charge Mode to MTP then MTP back to Charge.
Ethernet Mode to MTP then MTP back to Ethernet.
Sometimes unplugging USB and then plugging back in helps.

Then press ENTER to confirm ADB root...
--------------------------------------------------------





  • On the Phone, switch the USB mode to a different option,then switch it back.


  • On the Computer, press ENTER to advance the batch script

  • The batch will show:


Quote:









adbd is already running as root
uid=0(root) gid=0(root)

If you do NOT see uid=0(root) gid=0(root) above then
it is likely your device firmware is not supported or
USB mode was not toggled properly. You can try to
run the script again or..
PRESS CTRL+c to stop this script...

If you DO see uid=0(root) gid=0(root) mentioned above...
CONGRATS.. Rooted ADB is now confirmed.
You will have a rooted ADB shell but no apps on the
phone will be able to access root functions.
PRESS ENTER to backup EFS and continue with full root.

PLEASE NOTE!
Continuing with full root can trip LG's rootchecker.
This means your phone will show ROOTED in Download mode.
You can remove root flag by flashing stock firmware...
.bin .cab .tot or .kdz


If you do not want to possibly invalidate your warranty
press CTRL+c to stop this script...
--------------------------------------------------------
Press any key to continue . . .





  • Make sure you see uid=0(root)gid=0(root) as shown in the screenshot above

  • Press Enter to continue The script will next show:



Quote:









Backing up EFS...
6144+0 records in
6144+0 records out
3145728 bytes transferred in 0.626 secs (5025124 bytes/sec)
6144+0 records in
6144+0 records out
3145728 bytes transferred in 0.617 secs (5098424 bytes/sec)
2978 KB/s (3145728 bytes in 1.031s)
2977 KB/s (3145728 bytes in 1.031s)
__________________________________________________ ______
EFS partitions now in ioroot folder on computer
named modemst1.img and modemst2.img


They will come in handy in case of an emergency.
Store them somewhere you won't lose them.

Press ENTER to continue with full root.
--------------------------------------------------------
Press any key to continue . . .





  • Press Enter to continue

  • The script will show:



Quote:









Mounting system, pushing su binary...
2525 KB/s (121260 bytes in 0.046s)
WARNING: generic atexit() called from legacy shared library
0 KB/s (629 bytes in 1.000s)
Rebooting Phone.
__________________________________________________ ______
You should hopefully now be fully rooted!!

IOroot complete.

Confirm root with Root Checker app from Play Store.
--------------------------------------------------------
Press any key to continue . . .






  • The phone should reboot and be rooted now.


Check Root with Root Checker

If nothing went wrong, the phone should be rooted now. To make sure, we can use Root Checker. (there are probably other apps that will do this as well, but I used this one)
  • Download, install, and launch RootChecker

  • In the application, click Verify Root

  • It should return back showing

    Quote:









    Congratulations! this device hasroot access!







Unlock SIM
Steps here are from this article. I am just writing it out here with notes that helped me.
Replace 'Carrier' folder
  • Within the extracted contents, copy the 'Carrier' folder onto the phones internal storage (I copied it to Internal Storage\Downloads)

  • On the Phone, open Root Browser and navigate to where the Carriers contents were copied

Note: My screenshots show me copying the files from where I copied the files to in Internal Storage\Downloads (storage\sdcard0\Downloads)
  • Click Storage


  • Click sdcard0


  • Click Download


  • Long press carrier


  • Click copy


  • Click the green back arrow until you're back at root


  • Click Paste


  • When prompted, choose to overwrite.

Note: Alternatively, you could rename the original 'carrier' folder for safekeeping... I never did though.


Quote:









carrier already exists. Do you want to overwrite it?





  • Reboot the phone.


Replaceapns-conf.xml
From original post - "To make APNs stick automatically"
Note: I later add a new APN, despite having replaced the apns-conf.xml here. I honestly don't know if this step is necessary for that reason, but I did it in my process, so I'm adding it here.
  • Within the extracted contents, copy the apns-conf.xml onto the phones internal storage (I copied it to Internal Storage\Downloads or root\storage\sdcard0\download)

  • On the Phone, open Root Browser and navigate to where the apns-conf.xml was copied


  • Long press the apns-conf.xml and choose copy


  • Navigate to root\etc, and click paste


  • When prompted to overwrite, choose Yes

Note: Again, you could rename the original to keep a backup.

  • Navigate to root/data/data/com.android.providers.telephony/databases

  • Delete/Rename telephony.dband mmssms.db

Note: I didn't actually delete the telephony.db and mmssms.db originally, and I still had success. But I also don't know what deleting those so they can be rebuilt does, so I included the steps.
  • Reboot the phone.


Update build.prop
Backup build.prop
  • Open Root Explorer and navigate to root\system

  • Long press build.prop and choose Copy, then click Paste to create a backup.






Edit build.prop
  • Download and install ROMToolbox Lite.
    • We're going to use the Build Properties application included in the Toolbox for editing the build.prop.


  • Open Root Explorer and navigate to root\system

  • Click build.prop and choose to open with Build Properties



  • If you get the Welcome screen, click OK

  • Locate and click on each of the following settings, and set the Value as shown below, and click Save

persist.service.crash.enable=1
ro.build.target_operator=spr
ro.carrier=spr





  • Reboot the phone.


Switch the Radio
  • Download and install RadioSwitcher (I only had success with version 1.2.)

  • Open Radio Switcher, and set the Preferred network type to LTE/GSM/WCDMA




Create a New APN
Despite replacing the apns-conf.xml earlier, I still ended up having to create a new APN.
  • Download, install, then open ChangeAPN

  • Click Menu and choose New APN


  • Here are the settings I used in the APN from here


Quote:









Name:*T-MOBILE
APN:*epc.tmobile.com
Proxy:<Leave in Blank>
Port:*<Leavein Blank>
Username:*<Leavein Blank>
Password:*<Leavein Blank>
Server:*<Leavein Blank>
MMSC:*http://mms.msg.eng.t-mobile.com/mms/wapenc
MMSproxy:*<Leavein Blank>
MMSport:*<Leavein Blank>
MCC:310
MNC:260
Authenticationtype:*<Leavein Blank>
APNtype:default,supl,mms
APNProtocol:Leave it to the Default one





  • Click Menu then Save


  • Reboot the phone


Notes
After all of this was complete, I had the LS980 working on my T-Mobile SIM card successfully. Some other threads I've read discussed installing recoveries like TWRP to make a backup, but every time I tried, it ended up causing a boot loop, so I ultimately didn't do it. From what I can tell it is not a necessity to simply get the phone to work on T-Mobile. Once all the settings/changes have been made, I just popped in my SIM Card from my other phone and it worked fine.

Known Issues
Since we got it running on T-Mobile, there are a few issues that we've been facing.

Unable to call some numbers

When trying to make calls, ff the number does not have a 1 at the beginning, I get a crash.


Quote:









Unfortunately, the process com.android.phone has stopped.






Adding a '1' before the number has corrected it.
This article lists another possible more permanent fix, that I will eventually try out:

Quote:









If you want to fix this manually, Follow the following fix found by jsergio123)
*To fix the issue of the com.android.phone process crashing when you don't dial a 1 in front of the number edit the /data/data/com.android.providers.settings/databases/settings.db file with a SQLlite editor and change in the "system" table "assist_dial" and "assist_dial_init_db_check" to "0". If you don't see those 2 rows then you can add them. Fix permissions, wipe cache and reboot.




Text Messages, and Multimedia Messages Fail to send
When trying to send texts, or picture messages, I was getting regular failures.
This article had a solution.
1. In dialer press ##443336772#, you will get a 6 digit SPC code, remember it!
2. In dialer press ##DATA# , this will take you to hidden Data settings
3. Select MMSC
4. Hit Edit, you will be prompted for your SPC code, enter it
5. Now have 3 options: Set URL, Gateway, and Set Port. Set all

My working settings:
Set URL: http://mms.msg.eng.t-mobile.com/mms/wapenc
Gateway: 10.12.0.2
Set Port: 80


6. Reboot



No comments:

Post a Comment