[Moto X General] Nicene Nerd:
Hello all! I recently won a Sprint Moto X on eBay for the shockingly low price of $130, and I decided to attempt to flash it to Page Plus. So, in order, that others may benefit from this awesomeness, I decided to post a basic guide. One thing to note is that, if you have flashed Sprint phones to Page Plus before, the process is very similar.

DISCLAIMER: This guide comes with no guarantees of any kind. If you lose personal data or service, brick your phone, or lose your arm to gangrene, I am not responsible.

Stuff You Need

A PC running Windows

Motorola Drivers (download here)

SPCUtility APK (download here)

DFS (download here)

QPST (download here)

Page Plus PRL (attached)

10.key file (attached)

Stock, rooted Moto X 4.4.2 firmware (you can try an older version, but I've only tested on this)

How to Do It

First, if you don't have one, get a Page Plus phone number and account. You'll need it for manually programming.

If you have trouble getting Page Plus to accept your ESN (which is the MEID you'll find in Settings > About Phone > Status), try live chat until someone is okay with activating a 4G phone. They will probably warn you that they offer no support for programming 4G phones.

Make sure to Live Chat with Page Plus and ask for your MDN, MIN, and SID. Most likely, your MDN and MIN will be your phone number.

Once everything on Page Plus' end is set up, dial ##DIAG# on your phone. In the screen that appears, click the overflow button and choose Edit. Then set Diag Port to Enable.

Now install the Motorola drivers so you can connect your phone to your PC. This is sometimes a tricky process, and I don't know why. Google is your friend if you have trouble. When successful, you will see this in Device Manager.

Before attempting to program, you need your MSL. Install the SPCUtility APK and use it to get your MSL.

If you haven't already, install DFS. Open the program and click the Ports button in the upper-left corner. Then double-click the Motorola QC Diag Port to select it. (If you don't see this port, the drivers are not properly set up.) Close the Ports window.

Enter your MSL in the SPC box under the Ports button. Then click the SPC send arrow. Your log window should show DEVICE UNLOCKED. (If the log window is not visible, click the Log button in the upper-right.)

(Optional) In the General tab, click Read in the SPC box. Then replace the SPC string with 000000 and click Write. This sets your MSL to all-zeroes, useful for future programming.

In the General tab, click Read in the Config box. It may already read NV_ONLY. If it does not, set it and click Write.

Go under the NAM tab and click Read at the bottom. The fields will populate with your phone's current programming. Now replace the numbers in both MIN A and MIN D fields with your MIN. Fill the MDN and PCS fields with your MDN. Finally, in the Home box, fill in your SID and click Write.

In the PRL box, click Load and select the Page Plus PRL you downloaded. Click Write.

At this point, you may click Reset and your phone should have talk/text. Try taking and sending one of each to verify that everything has gone right so far.

Now go back to DFS and send your SPC again to get back to work. In the Data tab, click Read, and then fill out all of the UID fields and the HDR AN NAI field with XXXXXXXXXX@vzw3g.com (the X's being your phone number). In the PPP SIP NAI, use XXXXXXXXXX@dun.vzw3g.com. Put "vzw" (sans quotes) in all of the password fields, and make sure the authentication box is checked. Click Write.

Go to the Mobile IP tab and click Read. At this point, I admit that I do not know 100% what I am doing, but that these settings worked for me. Basically, make your settings look like these ones, but input your number where I scribbled out my own. Also, for everything in the Selected Profile Settings box, put it in both the first and second profile selections. After filling each of those out, click Write current profile settings. Then click Write in the left box.

At this point, reset your phone. You might have working 1X after a minute. Irrelevant, because we're about to go for 3G. Close DFS.

Open QPST Configuration (install it if you haven't). Click Add New Port... and select the only available port. Click Okay, then go to Start Client > EFS Explorer. Select your phone and enter your MSL. It will take a minute to read the phone's EFS data.

Once the EFS data is loaded, right click the root directory and click New > Directory. Name the new folder DMU.

Inside the DMU folder, click File > Open and select the 10.key file you downloaded. Verify the target path is /DMU/10.key.

When the file is copied successfully, click Phone > Reset Phone. When the phone reboots, wait a minute or two. You should have 3G!

3G speed test results here

MMS Fix

Download and install 8sms from the Play Store or their website.

If you're using KitKat, be sure to set the new app as your default SMS app.

In the app, go to Settings > MMS Settings.

Now set the following:

MMS Network: Sprint

MMSC: http://mms.vtext.com/servlets/mms?X-VZW-MDN=XXXXXXXXXX (the X's being your phone number)

MMS Proxy: leave blank

MMS Port: 8080 (if that doesn't work, try 80)

MMS over WiFi: Off

Volia! You should have working MMS.

Now, I freely admit that there are numerous places to go wrong here, but this is what worked perfectly for me. If you have trouble, tell me and I'll try to help. Also, check out this thread for general flashing reference. Viper is an expert at these kinds of projects.

Happy flashing!