[Upgrading, Modifying and Unlocking] Heatshiver:
I AM NOT RESPONSIBLE FOR ANY NEGATIVE IMPACTS OR CONSEQUENCES ON YOUR PHONE IF YOU SO CHOOSE TO USE THIS GUIDE.

I own the ZTE U950 and had realized that there is very little information (in English) on how to do anything beyond stock for this incredible phone. After hours of research and translation I was able to figure out everything needed to get this phone to a "better" state. Since then I - and other XDA members - have been trying to keep the ZTE U950 alive...

ZTE U950 SPECS

NVIDIA TEGRA 3 (1.3MHz)

1GB RAM

4.3" Display (480x800)

5MP Front Camera/0.3MP Back Camera

Android OS 4.0.4

DRIVERS

Here are the "Join Me" drivers so that your PC can recognize the ZTE U950.

KERNEL

Stock - This is the stock kernel's source file.

Custom - This is a custom kernel for stock ROMs that can be OC'd to 2.5GHz.

ROOT

1) Make sure you have USB Debugging Mode and Unknown Sources checked in your phone Settings.

2) Connect your phone to your PC.

3) Download and open Genotools.

4) The program will open, click the 4th tab (last tab on the right).

5) Ensure that your phone is plugged into your PC.

6) Click the

2nd

ROOT button.

7) A popup window will appear, press OK.

8) Your phone will then have a popup window, click the "Restore My Data" option.

9) The phone will restart several times, leave it for a few minutes.

10) This is the odd part... The phone will likely not stop restarting, and when you try to click the unlock key for the screen, it will automatically restart. Disconnect the phone. It should continue to restart.

11) Force the phone off.

12) Restart the phone.

13) If you have SuperUser, you are then rooted. If not, repeat these steps.

ROOT - NEW VERSION #1 (UNTESTED!):

1) Download the file here.

2) The instructions read verbatim are, "1 If your phone is not acquired before the ROOT privileges, we choose 1 root [next line] 2 after enter". Which I assume means click root, then enter...

ROOT - NEW VERSION #2 (UNTESTED!):

1) Download the root kit here made for the ZTE U950 (it uses the Chinese recovery), and extract to your desktop.

2) On your phone, go into Settings and enable USB Debugging under Developer options.

3) Connect the phone to your PC (Windows OS should fail to recognize the device).

4) Run either DrvInst_x64.exe or DrvInst_x86.exe. If you are unsure what you have, run both, the wrong one will fail with an error message.

5) After installation, unplug and replug your phone.

6) Go into Device Manager. You should be able to see a "ZTE TD Handset ADB Interface" under the "Android Phone" section. If you don't, reinstall the drivers again.

7). To root, simply run the U950_Root.bat file, and follow the instructions.

RECOVERY (CWM/TWRP)

1) Download the Chinese CWM or English TWRP recovery.img and place it into the root folder of your external SD card.

2) Download a terminal emulator. (If you are unable to download one, use the APP TRICKS described near the bottom to install a terminal emulator onto your phone.)

3) Open the terminal emulator.

4) Type in "su" then hit the return button.

5) Now type in the following:

dd if=/sdcard/recovery.img of=/dev/block/platform/sdhci-tegra.3/by-name/SOS

(and press the return button)

6) There should be a few lines beginning with something like 14052 or 14272, if not, then the above input was not typed correctly. If so, the recovery should now be installed.

GET INTO RECOVERY

1) Turn the phone off.

2) Hold the Power button + Volume Down button. When the ZTE logo comes up, count two seconds and then let go of the buttons.

3) The phone will enter into recovery. Use the Volume rockers for up and down and the power button to choose (if on CWM), or simply touch the buttons (if on TWRP).

4) I will describe the standard processes here if using CWM - the menus are top-to-bottom on the phone, which are written left-to-right here:

The Main Menu:

[*] Reboot system now

[*] Select zip to flash/install

[*] Wipe data

[*] Wipe cache

[*] Backup and restore

[*] Flash memory/Format

[*] Advanced setting

[*] Turn off phone

The Zip Menu:

[*] Install from zip

[*] Install from internal

Wipe Date:

[*] Confirm wipe data

[*] Do not wipe data

Wipe Cache:

[*] Confirm wipe cache

[*] Do not wipe cache

Backup and Restore:

[*] Backup

[*] Restore

ROMS (ALWAYS MAKE A BACKUP BEFORE FLASHING ANY ROMS TO THIS PHONE!)

Factory ROMs

(in order of release)

U950V1.0.0B02

U950V1.0.0B14

U950V1.0.0B18

U950V1.0.0B22

U950V1.0.0B04

U950V1.0.0B05

Custom ROMs

(in no particular order)

6240-jingjian

MIUI3.3.7

CustomRom-B14

DeodexedMIUI3.3.7

EN&CN-MIUI3.3.7-msdfyc4zwg

MIUI3.2.8-ysdfyc4zwg

Signed-121223-MZECN-CookedROM

SignedROM

V2.0.0-Hiapk-XC-iSignFile

12-21ROM

4.2CameraROM

RandROM

MIUI1220

V2-MaunJ

CM10/.1 - HeatSka Edition

This should be listed under ROMS, but I felt that it needed its own section. Ska and I worked on this for quite some time getting all the kinks worked out. We did not create the original version of this unofficial Cyanogenmod port, but the original had many issues and was not maintained after its initial release. All the major problems have been worked out in our HeatSka edition.

The ROM was initially CM10 (4.1.2), but it has been mixed with files that list it as 4.2.2 (CM10.1) under the information section. In either case, it is Jelly Bean! Aside from the fixes we have implemented, there are also numerous tweaks and mods for UI speed, network speed, battery consumption, app installs, and much more. There is almost no theming, just enough to know that this is our enhanced (and better) variation.

The only known issue that may arise is CPU throttling. We have included an app called, "LGP880 Booster". This app will allow a CPU speed boost when turned on, with a temperature threshold to prevent overheating. If you wish to save battery, only enable this app when playing a game or using CPU-intensive apps.

DOWNLOAD: CM10.1/2 - HeatSka

FLASH A ROM

1) Download a ROM.

2) Place the ROM in the root of the phone's SD card.

3) Enter into recovery.

4) Wipe data.

5) Wipe cache.

NOTE: Wipe data and cache are the Factory Reset button in TWRP.

6) Follow the menus to get to the ROM in the SD card.

7) Click the power button to choose the ZIP if on CWM (or just push the designated button on TWRP).

8) The ROM is being flashed.

9) Follow the left arrow (the last selection) on the menus to get back to the main menu.

10) Choose the first option on the main menu to reboot on CWM (or click Reboot followed by System in TWRP).

NOTE I: The ROM will probably be in Chinese. Find the Settings icon and click it. Go down to the Language & Input setting and click it (there is a capital "A" next to it). Click the top setting and choose the desired language.

NOTE II: There may not be an English keyboard available, so download this 4.2 keyboard ZIP file and flash it in recovery.

INSTALL GOOGLE PLAY

1) Download and install a file explorer like ES Explorer (free) or Root Explorer (paid). (If the phone is unable to download a file explorer, use the APP TRICKS described near the bottom to install one onto the phone.)

2) Download and take the three files from the RAR file for Google Play and place them in a folder on the phone that can easily be reached with a file explorer.

3) Open up a file explorer.

4) Move the three files to the "/System/App" folder on the phone.

5) Give the three files each the same permissions (Read for all three groups, and Write for User).

6) Restart the phone and Google Play should now be installed.

Notes: a) There are cases where two Google Play store icons may appear. They should both work and not cause problems.

b) If the store does not show, redo the process above.

c) This trick does seem to work on other Android devices as I have successfully done this on a Galaxy Note N7000.

INSTALL FACTORY ROM

1) Download a Factory ROM from above and place the "update.zip" file in the root of your external SD card.

2) Go to Settings.

3) Go down to About Phone and click that.

4) Click on System Updates.

5) Remove the check mark.

6) Click OK.

7) The phone should restore to whichever factory update file was used.

APN FIX (MOBILE DATA FIX)

If your mobile data is not working then use this method to fix your APN:

1) Revert to stock ROM (or any custom ROM where mobile data does work).

2) Download and open a file explorer like Root Explorer or ES Explorer.

3) Go to /system/etc

4) Copy "apns-conf.xml".

5) Go to /sdcard/

6) Paste "apns-conf.xml".

7) Flash ROM.

8) Download a file explorer and open it.

9) Copy "apns-conf.xml".

10) Go to /system/etc

11) Paste "apns-conf.xml" (overwriting the existing file).

12) Reboot the phone.

13) Mobile data should now work.

GAME SUPPORT FOR ZTE U950 (WORKS ONLY FOR U950V1.0.0B02)

Note: I have not tested this. Apparently the first firmware version of this phone is not recognized by Google Play for certain Tegra games. If this occurs, try the following method.

1) Make a backup of the System folder. (It is easier to make a Backup of the entire ROM in recovery...)

2) Insert the build.prop file from this file.

3) Clear the Data for Google Play store (Settings > Apps > Google Play > Clear Data).

4) Reboot the phone.

5) When opening Google Play it should make give their agreement again. If it doesn't, then Data has not been cleared.

6) The rows modified in the build prop is as follows:

Desire ro.product.model = X

HTC ro.product.brand =

Desire ro.product.name = X

Desire ro.product.device = X

...

HTC ro.product.manufacturer =

AGAIN, I HAVE NOT TESTED THIS SO USE AT YOUR OWN RISK!

APP SUPPORT FOR ZTE U950

Note: Some apps will throw package errors after downloaded and then will not install. This method will help a lot of these errors from occurring. It doesn't work for all, but it will for some [tested with Dead Trigger 2].

1) Download this file.

2) Use a file explorer like ES Explorer (free) or Root Explorer (paid) and put com.google.android.maps.xml in /system/etc/permissions

3) Put com.google.android.maps.jar in /system/framework

4) Reboot the phone and now apps should install without issue.

DEAD TRIGGER 1

1) Enable graphics details to High in Setup/Others.

2) Exit the game.

3) Use a file explorer like ES Explorer (free) or Root Explorer (paid) and go to /data/data/com.madfingergames.deadtrigger/shared_prefs/

4) Edit the com.madfingergames.deadtrigger.xml file.

5) Change <int name=”UnityGraphicsQuality” value=”1″ /> to <int name=”UnityGraphicsQuality” value=”2″ />

6) Change <int name=”OptionsGraphicDetail” value=”2″ /> to <int name=”OptionsGraphicDetail” value=”3″ />

7) Save the com.madfingergames.deadtrigger.xml file.

8) Remove all write permission on User, Group and Other for the com.madfingergames.deadtrigger.xml file.

9) Delete the com.madfingergames.deadtrigger.xml.bak file.

Note: This technique works on any non-Tegra device.

APP TRICKS

If apps cannot be downloaded normally (from Google Play), this guide will show an alternative method on how to install them:

1) Download the necessary apk file online.

2) Open the 4.2LatinIme.zip with 7zip or WinRAR and delete the keyboard APK (or keep it if not installed yet).

3) While the ZIP is open go into "/Sytem/App" and place in it any APK you want installed.

4) Boot into recovery.

5) Flash the ZIP file.

6) Reboot and the app(s) should be installed.

Note: I have noticed that certain apps do not flash properly so an alternative APK needs to be downloaded. However, once you have the right apps to install Google Play, you should be able to download any apps from the store.

HARDWARE FIXES BY SKA

NOTE: Always work without the battery attached to the phone.

SIM Card No Longer Works

INFO: There is a diode which provides voltage to the SIM card. Somehow it has become loose, which disallows current to the SIM. Thus, the baseband cannot recognize the SIM card any longer.

FIX: The easiest way to fix and check something is to "re-flow" the PCB (printed circuit board). The modem soldering must be re-flowed in order to reconnect the loose diode and re-allow voltage back to the SIM card.

Touchscreen Not Displaying

Open up your phone. If you don't know how, then you won't be able to continue...

There are three connectors on the left soc side. Check the upper connector near the audio jack and try to seat with a pair of tweezers very gently.

There is a white line on every connector - apart from the battery connector - pull up straight. It must be exactly at the of the beginning of the brown clip when pulled downwards.

MISC

I have successfully paired this phone with a PS3 controller using Sixaxis. This is not unique to my phone as I have verified that there is support within the Kernel for this.

It does seem that Wii controller support can be turned on according to the kernel...

There are no known custom kernels for this phone, however, the incomplete Cyanogenmod ROM available does seem to use its own kernel.

The phone is "stuck" on ICS 4.0.4 with almost every ROM. The incomplete Cyanogenmod ROM upgrades the OS to JB 4.1.2.

The phone is known to have heating issues on different (all?) firmware versions. While these do not seem to attribute to hardware failure, it is an annoyance.

Different firmware versions apparently produce varying levels of GPU performance: The best in GPU performance is U950V1.0.0B14, but this build may produce issues in some games. The worst in GPU performance is U950V1.0.0B18, but it is stable. The U950V1.0.0B22 is stable as well but has better GPU performance than B18. I have found no information on how well the first and last firmware versions perform in terms of GPU.

To disconnect the battery connector you need to place a spudger beneath and lift up. It is the same method used for the connectors of fans, temperature sensors, and the battery in a MacBook Pro 2006/7/8.