ZTE Blade III - Android
Hardware info on main page.
ROMS - xda - Choffas V0.1,
xda - root many Android,
MoDaCo - ZTE Blade III forums, ClockWorkMod 6.0.3.2 for ZTE Blade III, ClockWorkMod 6.0.4.4 for ZTE Blade III, Multiboot via loop file, TWRP Recovery 2.6.3.0 for Blade III,
Links
ZTE Blade3 blog, connect adb over TCP,
Work log
2015-06-09: battery - after 4d 10h 27m the battery is at 20%.
2015-06-06: battery - yesterday's fix seems to help. The phone has been 1d 13h 35 minutes on battery and it is at 60% now. Nice.
2015-06-05: battery - for a while now (ok, a long time) battery time has been lousy (below two days), and the problem maker seems to be Google Play Services (currently version 7.5.71). A bit of googling got me this from xda-developers PSA: Google Play Services Wakelock Affects Many 5.x ROMs, the comments make it clear that this also affects other versions (like cm11). For a quick fix I tried this (found in a comment): "Go to Settings > Privacy > Privacy Guard > Click the 3 dots in the top right corner and enable "Show built-in apps" > Scroll down to Google Play Services > LONG PRESS Google Play Services > Scroll down and disable "Wake up" and "Keep awake". Then I rebooted the phone. We shall see if it helps.
2014-12-30: app - updated Root Checker Basic to version 5.3.4,
2014-12-21: install cm11 - Android 4.4.4, CyanogenMod version 11-20140702-UNOFFICIAL-KonstaKANG-atlas40, push the new files via adb
tingo@kg-u35jc:~/doc/ZTE/Blade_III/rom/cm$ adb push ./cm-11-20140702-UNOFFICIAL-KonstaKANG-atlas40.zip /mnt/sdcard/ 4265 KB/s (165415836 bytes in 37.868s) tingo@kg-u35jc:~/doc/ZTE/Blade_III/rom/cm$ adb push ./gapps-kk-core-20140608.zip /mnt/sdcard/ 4502 KB/s (21347877 bytes in 4.630s)
boot into CWM, backup and restore - backup first, mounts and storage - format /system wipe data and factory reset install cm-11-20140702-UNOFFICIAL-KonstaKANG-atlas40.zip install gapps-kk-core-20140608.zip reboot
2014-12-21: push the new cwm 6.0.4.9 recovery to the sd card: see that the device is there:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/recovery_cwm$ adb devices List of devices attached de0948c0 device
push the file to the root of the SD card:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/recovery_cwm$ adb push ./recovery-cwm6049-atlas40.img /mnt/sdcard/ 4170 KB/s (7004160 bytes in 1.640s)
Next, I used terminal emulator to install the recovery:
$ su - # dd if=/mnt/sdcard/recovery-cwm6049-atlas40.img of=/dev/block/mmcblk0p17
powered off the phone, held down the volume down button and powered on yes, it runs cwm 6.0.4.9 now.
2014-01-05: apps - I installed the Log Out! application, it lets me log out of all accounts on the phone. What I needed.
2014-01-04: install cm 10.2 from cwm: reboot into recovery:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/rom/cm$ ~/work/android-sdk-linux/platform-tools/adb reboot recovery
I've already done the backup, so do this mount and storage, format /system wipe data/factory reset install zip, choose zip from /storage/sdcard0, select cm-10.2-20131220-KonstaKANG-atlas40.zip choose zip from /storage/sdcard0, select gapps-jb-20130813-signed.zip reboot system now and the cyanogenmod logo shows up. After a while it boots into Android proper. To enable developer options: Settings, about phone, press "build number" several times. Now the phone runs Android 4.3.1, kernel version 3.0.8-CyanogenMod-perf-g01b0069, Memory 391 MB, CyanogenMod version 10.2-20131220-KonstaKANG-atlas40, Build date Fri Dec 20 13:42:17 EET 2013. Build number cm_atlas40-userdebug 4.3.1 JLS36l 4bec88985e test-keys, SELinux status disabled.
2014-01-04: prepare to install CyanogenMod 10.2 (cm 10.2) by pushing the files to the SDcard:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/rom/cm$ ~/work/android-sdk-linux/platform-tools/adb push ./cm-10.2-20131220-KonstaKANG-atlas40.zip /mnt/sdcard/ 3066 KB/s (126860029 bytes in 40.403s) tingo@kg-u35jc:~/doc/ZTE/Blade_III/rom/cm$ ~/work/android-sdk-linux/platform-tools/adb push ./gapps-jb-20130813-signed.zip /mnt/sdcard/ 3154 KB/s (91736799 bytes in 28.398s)
a quick check with the file manager on the phone verifies that the files are at the root of the sdcard.
2014-01-04: install ClockWorkMod 6.0.4.4 via adb:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/cwm$ ~/work/android-sdk-linux/platform-tools/adb reboot bootloader tingo@kg-u35jc:~/doc/ZTE/Blade_III/cwm$ ~/work/android-sdk-linux/platform-tools/fastboot flash recovery recovery-cwm6044-atlas40.img sending 'recovery' (6564 KB)... OKAY [ 0.556s] writing 'recovery'... OKAY [ 1.195s] finished. total time: 1.752s tingo@kg-u35jc:~/doc/ZTE/Blade_III/cwm$ ~/work/android-sdk-linux/platform-tools/fastboot reboot rebooting... finished. total time: 0.002s
Done. Does it work? Yes, holding pressing the volume down key while powering on gets me into cwm. Nice! FWIW, volume up pressed while powering on has the same effect.
2014-01-04: getting the backup off the device via adb:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/0_backups$ ~/work/android-sdk-linux/platform-tools/adb pull /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/ ./2014-01-04.21.06.06/ pull: building file list... pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/recovery.log -> ./2014-01-04.21.06.06/recovery.log pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/nandroid.md5 -> ./2014-01-04.21.06.06/nandroid.md5 pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/cache.ext4.tar.a -> ./2014-01-04.21.06.06/cache.ext4.tar.a pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/cache.ext4.tar -> ./2014-01-04.21.06.06/cache.ext4.tar pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/.android_secure.vfat.tar.a -> ./2014-01-04.21.06.06/.android_secure.vfat.tar.a pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/.android_secure.vfat.tar -> ./2014-01-04.21.06.06/.android_secure.vfat.tar pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/data.ext4.tar.a -> ./2014-01-04.21.06.06/data.ext4.tar.a pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/data.ext4.tar -> ./2014-01-04.21.06.06/data.ext4.tar pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/system.ext4.tar.a -> ./2014-01-04.21.06.06/system.ext4.tar.a pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/system.ext4.tar -> ./2014-01-04.21.06.06/system.ext4.tar pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/recovery.img -> ./2014-01-04.21.06.06/recovery.img pull: /mnt/sdcard/clockworkmod/backup/2014-01-04.21.06.06/boot.img -> ./2014-01-04.21.06.06/boot.img 12 files pulled. 0 files skipped. 3451 KB/s (672293436 bytes in 190.234s)
Have to do it this way since Android devices now show up as MTP devices (ugh).
2014-01-04: make a backup of device before anything else:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/cwm$ ~/work/android-sdk-linux/platform-tools/adb reboot bootloader tingo@kg-u35jc:~/doc/ZTE/Blade_III/cwm$ ~/work/android-sdk-linux/platform-tools/fastboot boot recovery-cwm6044-atlas40.img downloading 'boot.img'... OKAY [ 0.555s] booting... OKAY [ 0.152s] finished. total time: 0.708s
and from (cwm) recovery do backup & restore, backup. This creates a backup on the SD card.
2014-01-04: testing with adb:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/cwm$ ~/work/android-sdk-linux/platform-tools/adb devices List of devices attached P772N10 device
is that the correct device? Yes, I think it is.
2013-06-23: default mounts:
shell@android:/ $ mount rootfs / rootfs ro,relatime 0 0 tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0 devpts /dev/pts devpts rw,relatime,mode=600 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 none /acct cgroup rw,relatime,cpuacct 0 0 tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0 tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0 none /dev/cpuctl cgroup rw,relatime,cpu 0 0 /dev/block/mmcblk0p19 /system ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0 /dev/block/mmcblk0p22 /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,noauto_da_alloc 0 0 /dev/block/mmcblk0p10 /persist ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0 /dev/block/mmcblk0p21 /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0 /dev/fuse /mnt/sdcard2 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0 /dev/block/vold/179:33 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 /dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0 tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
In case I need that later.
Various other info:
shell@android:/ $ busybox uname -a Linux localhost 3.0.8-perf-svn29906 #1 PREEMPT Mon Nov 26 00:57:19 CST 2012 armv7l GNU/Linux
environment
root@android:/ # printenv _=/system/bin/printenv ANDROID_BOOTLOGO=1 ANDROID_PROPERTY_WORKSPACE=8,90368 LOOP_MOUNTPOINT=/mnt/obb PS1=$(precmd)$USER@$HOSTNAME:${PWD:-?} # PATH=/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin USER=root EXTERNAL_STORAGE=/mnt/sdcard LOGNAME=root ANDROID_DATA=/data RANDOM=29823 TERM=vt100 MKSH=/system/bin/sh HOME=/ LD_LIBRARY_PATH=/vendor/lib:/system/lib SECONDARY_STORAGE=/mnt/sdcard2 ASEC_MOUNTPOINT=/mnt/asec HOSTNAME=android BOOTCLASSPATH=/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/filterfw.jar:/system/framework/ZteDrmClient.jar:/system/framework/qcnvitems.jar:/system/framework/qcrilhook.jar ANDROID_ROOT=/system SHELL=/system/bin/sh ANDROID_ASSETS=/system/app
ip info
root@android:/ # ifconfig root@android:/ # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: rmnet0: <> mtu 2000 qdisc noop state DOWN qlen 1000 link/[530] 3: rmnet1: <> mtu 2000 qdisc noop state DOWN qlen 1000 link/[530] 4: rmnet2: <> mtu 2000 qdisc noop state DOWN qlen 1000 link/[530] 5: rmnet3: <BROADCAST,MULTICAST> mtu 2000 qdisc noop state DOWN qlen 1000 link/ether f6:28:e8:9e:9c:f7 brd ff:ff:ff:ff:ff:ff 6: rmnet4: <BROADCAST,MULTICAST> mtu 2000 qdisc noop state DOWN qlen 1000 link/ether 46:a0:39:8d:7e:d0 brd ff:ff:ff:ff:ff:ff 7: rmnet5: <BROADCAST,MULTICAST> mtu 2000 qdisc noop state DOWN qlen 1000 link/ether 3e:c6:35:ad:44:af brd ff:ff:ff:ff:ff:ff 8: rmnet6: <BROADCAST,MULTICAST> mtu 2000 qdisc noop state DOWN qlen 1000 link/ether 96:b3:20:68:72:97 brd ff:ff:ff:ff:ff:ff 9: rmnet7: <BROADCAST,MULTICAST> mtu 2000 qdisc noop state DOWN qlen 1000 link/ether de:34:b3:21:03:e6 brd ff:ff:ff:ff:ff:ff 10: tunl0: <NOARP> mtu 1480 qdisc noop state DOWN link/ipip 0.0.0.0 brd 0.0.0.0 11: sit0: <NOARP> mtu 1480 qdisc noop state DOWN link/sit 0.0.0.0 brd 0.0.0.0 12: ip6tnl0: <NOARP> mtu 1452 qdisc noop state DOWN link/tunnel6 :: brd :: 13: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether f0:84:c9:c3:16:db brd ff:ff:ff:ff:ff:ff inet 10.1.150.2/16 brd 10.1.255.255 scope global wlan0 inet6 fe80::f284:c9ff:fec3:16db/64 scope link valid_lft forever preferred_lft forever
what else?
2013-06-23: I enabled adb access via tcp, by doing this on the phone: open a shell (Terminal emulator)
$ su - # setprop service.adb.tcp.port 5555 # stop adbd # start adbd
This allows me to connect to the phone from a machine with adb installed like so
tingo@kg-u35jc:~$ adb connect 10.1.150.2 connected to 10.1.150.2:5555 tingo@kg-u35jc:~$ adb shell shell@android:/ $ id uid=2000(shell) gid=2000(shell) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats)
You can check the port with
$ getprop service.adb.tcp.port 5555
To return adb to the usb port, do
# setprop service.adb.tcp.port -1 # stop adbd # start adbd
That's it.
2013-06-19: I rooted the phone by following this guide, like this:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/root$ chmod +x root-blade3.sh tingo@kg-u35jc:~/doc/ZTE/Blade_III/root$ sudo ./root-blade3.sh [sudo] password for tingo: Searching for device adb server is out of date. killing... * daemon started successfully * Device found < waiting for device > downloading 'boot.img'... OKAY [ 0.494s] booting... OKAY [ 0.135s] finished. total time: 0.629s Pausing for 1 minute. PLEASE WAIT! 5153 KB/s (2093648 bytes in 0.396s) 0 KB/s (33 bytes in 0.039s) 5775 KB/s (2093648 bytes in 0.354s) 0 KB/s (33 bytes in 0.040s) 5446 KB/s (2093648 bytes in 0.375s) 0 KB/s (33 bytes in 0.039s) 5641 KB/s (2093648 bytes in 0.362s) 0 KB/s (33 bytes in 0.044s) Please wait < waiting for device > downloading 'boot.img'... OKAY [ 0.495s] booting... OKAY [ 0.135s] finished. total time: 0.631s Please wait Done
After the phone booted again, the Superuser app is in the list of apps. Nice.
2013-06-18: I upgraded Android on the phone. I connected the phone via usb and used adb from my Linux laptop to push the update.zip to the sdcard:
tingo@kg-u35jc:~/doc/ZTE/Blade_III/upgrade/Norway Blade III SD card upgrading instruction & software package(2020)-195650B1072ICS_P772N10V1.0.0B10$ ~/work/android-sdk-linux/platform-tools/adb -d push ./update.zip /mnt/sdcard 3045 KB/s (249651064 bytes in 80.051s)
Then disconnect the phone and see if the update runs. Settings, About phone, System updates, it just says that you should copy update.zip to the root of the sdcard, when I press OK it just starts the update. After the update, the phone has a new kernel 3.0.8-perf-svn29906, zte-kernel@Zdroid-SMT and a new build number ICS_P772N10V1.0.0B10.
2013-06-18: I turned on USB debugging in Settings, Developer options.