Tuesday, November 15, 2016

Hacking the Coby Kyros MID7015A

Hacking the Coby Kyros MID7015A


Okay, so Ive rooted it.  I flashed Clockwork Mod Recovery on it.  I installed Cyanogenmod 7.

...Now what?

Changing the Boot Splash

Well, as Id mentioned in my previous blog post about the tablet, one last remnant remained of the less than impressive firmware offered by Tipstir, the moderator over at Kyros Tablet Zone forums and his ridiculous flashing method... The boot splash.  Im not talking about the bootanimation.zip that can be changed on any Android device, rooted or not.  Im talking about the retarded looking flower/boomerang/whatever the hell its supposed to be logo with some Chinese characters underneath it that I posted below here.


After trying about 6 different methods of changing this image I finally found a way that works for this tablet.  Unfortunately, ALL of them involving the use of FWDN to flash the whole firmware again.  I attempted to do this the normal way using

fastboot flash splash1 splash.img


But unfortunately it rendered my tablet unbootable.  I also tried using a set of tools called tccutils created by someone called Naobsd, but the result was the same.  It seems that no matter what you do, to change this image, its going to involve editing the lk.rom file and reflashing the entire firmware.  Just flashing lk.rom to my experience has only resulted in a non booting tablet.


My thoughts on FWDN are that while it has saved my tablet from being thoroughly bricked a couple times, it would seem that if it wasnt for the need for FWDN most of the problems it fixes would be an issue.  It is interesting that our tablet can be booted into recovery and fastboot in addition to the telechips device specific fwdn mode.  As near as I can tell, FWDN is just another way to acheive the same goals that FASTBOOT does in a roundabout way, but there are no FASTBOOT drivers available.  Fastboot will at least detect the tablet under Linux but only when launched with root permissions.  No such luck for Windows.  Not yet anyway... maybe someone will figure out the drivers, but it doesnt really seem like anyone is trying to do anything with FASTBOOT simply because they have FWDN.  Why should we be flashing firmware with a poorly written, glitchy third party developer tool when the same end result can be achieved using Googles SDK?


My gripes about FWDN aside, the method that I used to change my boot splash and rid myself of any and all reminders of my unfortunate dealings with the rocket scientists over at KTZ involves a nice little java program called "TCCSplashManager".  You will need the lk.rom and the corresponding FWDN .img that goes with it in order to modify your splash screen.  Seems a little ridiculous to have to do a fresh install in order to change a specific graphic, but that is how determined I was to change the boot splash.


Assuming that you already have the ADB installed, you should have the Sun JRE as well which is what you will need to run this program.  On Linux, after enabling the executable bit (if required by your OS) you can just right click the TCCSplashManager.jar and choose "run with Sun Java 6 Runtime" (the OpenJDK Runtime will do the trick too).  If youre running Windows, you may have to execute it from cmd.exe using

java -jar TCCSplashManager.jar

Then you will be presented with an easy to use GUI to change the splash image!  You can even use plain .png images without the need to convert them to RGB2565 or any other strange formats like that.  The program seems to be able to convert the image to the proper format.  However, there are a couple things to note.  First, the image you want to use has to be 800x480.  Also, as you can see from the image above, about the left quarter of the image gets moved to the right which is corrected when you view it on the tablet, so the use of something like a photograph may not be feasible, not without some serious trial and error anyway.  Just using something with a solid background and a logo is the best idea.  Also, you may have to convert the image you use to 256 colors since that is the format the splash image ends up in, but it seems as though TCCSplashManager may be capable of converting the image for you.  Heres the image I used
Literally, all I did was paste the root icon over the stupid boomerang/flower thing and just made sure it was centered over the old logo.  After replacing the bootsplash, you just have to export a new lk.rom.  Make sure you name the file lk.rom before you flash it!


Tweaking Performance
Unfortunately, the current kernel does not support overclocking and until someone digs up the source code, its going to be damn near impossible to modify it.  Building a kernel from source is easy, but trying to reverse engineer one is practically impossible.  Besides, if we have the kernel, someone somewhere has the source it was built from.  Thats just how it is.

But anyway, while you may not be able to overclock, you can use Set CPU to adjust the maximum and minimum CPU frequencies and set the governor to Performance.  Just copy the following string to a file named setcpu.txt on the root of your sdcard

128000,245760,384000,528000,768000,883200,921600,960000,998400

Obviously, youre not going to be able to get all of those frequencies with the current kernel, but it might be handy to keep them around if and when a OCable kernel ever is released.
Set your max frequency to 768mhz and your minimum to 528mhz.  This should help make your tablet a bit snappier.

Next, in order to further improve performance go to Settings > Cyanogenmod Settings > Performance and disable surface dithering and adjust the VM heap size to 48m.  Reboot.  As for now, thats about as good as it gets.

Tweaking Functionality
I dont know about everyone else, but to me it seems like the buttons on the tablet are just logically wrong.  The rocker button on the side for home and menu really seems like it should be the volume control (which after flashing CM7 is strangely missing).  There are no soft buttons for volume available in CM7 for some reason, but thats okay since I changed the home and menu buttons to the volume controls.  Also, the big silver button seems like it should be the home button.

To change the buttons you need to edit the .kl files located in /system/usr/keylayout/.  Ill attach a .zip with the three files that need to be changed.


Available link for download