Friday, May 6, 2011

Breaking My Android Tablet for Fun and Profit...

 I had some pretty lofty goals in mind. --But, life and technical difficulties got in my way.

So before apathy wins these are the results I got and they are presented as I got them.

The bad, not as consistently tested as I would do at work. The good, the results should be somewhat reliable. The great, these are likely to be somewhat representative of what normal users can expect as I have only rooted the device and not optimized any further.

Quick Summary:

ROM              2.1 1204    2.2 0120    2.2 0330
Wireless         OK, Static  OK, DHCP    OK, DHCP
Market           OK          OK          BEST
Angry Birds      Yes         No          No
MyPaperAirplane  No          No          No
Quadrant         No          227         204
CPU Benchmark    OP Error    3848ms      4088ms
BenchmarkPi      2848ms      4194ms      3759ms
System Benchmark 929         830         806

Results: I realize everything points to a lesser experience with the newest software updates.
However, the device just feels better with the newer stuff.
I won't miss Angry Birds, I bet there's a hack but I won't chase it down.
I did not get to play MyPaperAirplane, the tests indicate they find an accelerometer and an orientation sensor.
But the tilting game was not getting readings from the sensors.


We will eventually be testing the ROMs, be patient or skim a couple pages down...

To install the Eclipse Development package with ADB in it for Linux, I followed this tutorial as a guide...

http://maketecheasier.com/install-android-sdk-in-ubuntu-karmic/2010/01/11

The part where you point Eclipse at the SDK was a little different, I ended up going into Window > Android SDK and AVD Manager and saying OK to everything.

At that point I thought I was close enough and decided to try connecting via ADB.

Fail.

I needed a reboot on my laptop, which was unusual-- but eclipse was huge and I bet it has it's fingers in all kinds of stuff.

First my adb was located in /home/brad/androidSDK/platform-tools/
I gave my SDK folder the name androidSDK. platform-tools is the updated place where google put ADB.

Still a no-go.

ADB seemed okay, I was just unable to connect to my device.

adb devices gave me this output:

brad@laptop:/home/brad/androidSDK/platform-tools$ adb devices
 
List of devices attached
????????????   no permissions


lsusb gave me:

brad@laptop:/home/brad$ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 009: ID 18d1:d00d Google Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


Once there I had to add to a new file to my rules.d directory.

brad@laptop:/home/brad$sudo vi /etc/udev/rules.d/90-android.rules


Then I added this line in accordance with the matching information from lsusb for the "Google Inc." device. (All on one line - formatting is breaking this into two lines.)

SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d00d", MODE="0666"

Saved and closed the file with :wq .

From there I was able to send adb commands via:

brad@laptop:/home/brad/androidSDK/platform-tools$adb -d <command> <arguments/parameters...>

Yay.

I installed the Universal Androot .apk with this command.

brad@laptop:/home/brad/androidSDK/platform-tools$adb -d install /home/brad/Desktop/ZT-180/root.apk

(I renamed the .apk to make typing the file name easier.)

The ZT-180 with Android 2.1 Eclair 1204 ROM stores it's .apk files in the /data/app folder.

I entered the adb -d pull <remote resource> <local resource> command:

brad@laptop:/home/brad/androidSDK/platform-tools$adb -d pull /data/app /home/brad/Desktop/ZT-180

com.adobe.reader.apk
com.antutu.ABenchMark.apk
com.aurorasoftworks.quadrant.ui.standard.apk
com.corner23.android.universalandroot.apk
com.opera.mini.android.apk
com.rechild.advancedtaskkiller.apk
com.rovio.angrybirds.apk
com.unstableapps.cpubenchmark.apk
de.hms.xconstruction.apk
gr.androiddev.BenchmarkPi.apk

For each iteration I will apply the TxPower fix to give wireless the opportunity to be more stable.

If not already, root your phone. I'm using UniversalAndroot 2.2 with the integrated SuperUser.
brad@laptop:/home/brad/androidSDK/platform-tools$adb -d install /home/brad/Desktop/ZT-180/root.apk

Install a file manager. I am using Ghost Commander.
brad@laptop:/home/brad/androidSDK/platform-tools$adb -d install /home/brad/Desktop/ZT-180/com.ghostsq.commander-1.apk

My settings were found in: /etc/Wireless/RT2870STA/RT2870STA.dat
Open Ghost Commander, navigate to that file or it's equivalent and change TxPower=100 to TxPower=30.
Values between 20 and 40 seem acceptable. I split the difference and went with 30 for no particular reason.

I restart my tablet after making the change, not sure if I have to or not--
But on normal linux systems (as android sits on top of a stripped down linux OS) you have to restart networking when you fiddle with the settings.

I advise keeping networked widgets and apps to a minimum if speed for what you are actively doing over wireless is important to you.

On to testing the ROMs.

We will be testing ROMs for the ZT-180.

The ROMs to be tested are as follows:
Eclair
 -2.1 1204*
 -2.1 0312
Froyo
 -2.2 0120
 -2.2 0305
 -2.2 0330

*Not a clean install


Tests:
Apply Wireless TxPower:20 fix
Android Market Works
  Setup Wireless (WPA2/PSK DHCP IP first, Static if unsuccessful)
    Stability and Speed of Downloads
      Download
        Angry Birds - Rovio
  Kill Market
ADB install
  BenchmarkPi - Konstantinos Polychronis
  Quadrant Standard Edition - Aurora Softworks
  CPU Benchmark - Unstable Apps
  System Benchmark - AnTuTu
  AppKiller - ReChild
Angry Birds Works
  Stability of Angry Birds - Play first two levels
  Kill Angry Birds
Run Quadrant Standard Edition
Kill Quadrant
Run CPU Benchmark
Kill CPU Benchmark
Run BenchmarkPi
Kill BenchmarkPi
Run System Benchmark


First we'll create a set of screenshots to show the arrangements of the files.

The 2.1 1204 ROM was the last ROM that required a SPL update and the usage of the x86/32-bit based flash tool.
If you have already updated to the 2.1 1204 ROM then you should be okay to flash the new ROMs according to my instructions.

2.1 1204
Android Market Works OK
  Setup Wireless (WPA2/PSK DHCP IP first, Static if unsuccessful)
    Stability and Speed of Downloads
      Download
        Angry Birds - Rovio OK
  Kill Market
ADB install
  BenchmarkPi - Konstantinos Polychronis
  Quadrant Standard Edition - Aurora Softworks
  CPU Benchmark - Unstable Apps
  System Benchmark - AnTuTu
  AppKiller - ReChild
Angry Birds Works OK
  Stability of Angry Birds - Play first two levels OK
  Kill Angry Birds
Run Quadrant Standard Edition - No
Kill Quadrant
Run CPU Benchmark - 1005MHz (My Fault, too late for me to get correct output. All tests were conducted at 1005MHz.)
Kill CPU Benchmark
Run BenchmarkPi - 2848ms
Kill BenchmarkPi
Run System Benchmark - 850 w/o TF tests & 929 with TF tests


2.1 0312 (Could not find proper ROM to install for Ruby based Gen 1 ZT-180)
Android Market Works
  Setup Wireless (WPA2/PSK DHCP IP first, Static if unsuccessful)
    Stability and Speed of Downloads
      Download
        Angry Birds - Rovio
  Kill Market
ADB install
  BenchmarkPi - Konstantinos Polychronis
  Quadrant Standard Edition - Aurora Softworks
  CPU Benchmark - Unstable Apps
  System Benchmark - AnTuTu
  AppKiller - ReChild
Angry Birds Works
  Stability of Angry Birds - Play first two levels
  Kill Angry Birds
Run Quadrant Standard Edition
Kill Quadrant
Run CPU Benchmark
Kill CPU Benchmark
Run BenchmarkPi
Kill BenchmarkPi
Run System Benchmark


2.2 0120
Android Market Works - Yes
  Setup Wireless (WPA2/PSK DHCP IP first, Static if unsuccessful) OK
    Stability and Speed of Downloads
      Download
        Angry Birds - Rovio Error #18 Unknown Error
  Kill Market
ADB install
  BenchmarkPi - Konstantinos Polychronis
  Quadrant Standard Edition - Aurora Softworks
  CPU Benchmark - Unstable Apps
  System Benchmark - AnTuTu
  AppKiller - ReChild
Angry Birds Works
  Stability of Angry Birds - Play first two levels See above
  Kill Angry Birds
Run Quadrant Standard Edition - 227
Kill Quadrant
Run CPU Benchmark - 3848ms
Kill CPU Benchmark
Run BenchmarkPi - 4194ms
Kill BenchmarkPi
Run System Benchmark - 830


2.2 0305 (??? Could not get this one to install)
Android Market Works
  Setup Wireless (WPA2/PSK DHCP IP first, Static if unsuccessful)
    Stability and Speed of Downloads
      Download
        Angry Birds - Rovio
  Kill Market
ADB install
  BenchmarkPi - Konstantinos Polychronis
  Quadrant Standard Edition - Aurora Softworks
  CPU Benchmark - Unstable Apps
  System Benchmark - AnTuTu
  AppKiller - ReChild
Angry Birds Works
  Stability of Angry Birds - Play first two levels
  Kill Angry Birds
Run Quadrant Standard Edition
Kill Quadrant
Run CPU Benchmark
Kill CPU Benchmark
Run BenchmarkPi
Kill BenchmarkPi
Run System Benchmark


2.2 0330 ( zt180-eng AOSP OPENMASTER eng.root.20110115.120935 from Omarahum  )
Android Market Works OK
  Setup Wireless (WPA2/PSK DHCP IP first, Static if unsuccessful) OK - DHCP
    Stability and Speed of Downloads
      Download
        Angry Birds - Rovio Error #18 Unknown Error
  Kill Market
ADB install
  BenchmarkPi - Konstantinos Polychronis
  Quadrant Standard Edition - Aurora Softworks
  CPU Benchmark - Unstable Apps
  System Benchmark - AnTuTu
  AppKiller - ReChild
Angry Birds Works
  Stability of Angry Birds - Play first two levels See above
  Kill Angry Birds
Run Quadrant Standard Edition - 204
Kill Quadrant
Run CPU Benchmark - 4088ms
Kill CPU Benchmark
Run BenchmarkPi - 3759ms
Kill BenchmarkPi
Run System Benchmark - 806

Followers