Finding/Testing Suitable ClockworkMod Recovery for Onda v701

mad_ady

Senior Member
May 2, 2013
28
2
Hello everyone,

I'd like to replace the default Android Recovery that comes with my Onda v701 and install ClockworkMod. However, I'd like to do this as safely as possible (meaning I'd like not to take unnecessary risks).

The problems I'm facing are:
1. Finding a CWM ROM that boots and works on the Onda's hardware (they have specialized builds for the most important manufacturers: ClockworkMod ROM Manager - Recoveries)
2. Finding out if the CWM ROM would be controllable without volume keys (I don't actually have an Onda v701, but I do have an Allview Speed City which is an Onda 701 clone without the hardware volume keys)

Action plan:
1. Ask around if anybody knows of such ROM. So far I haven't heard anything. Nobody seems to have used it
2. Try to boot several CWM ROMs through fastboot so that I don't lock up the tablet. Problem is - I can't get the bootloader into fastboot mode... Is it possible to do it?
3. If fastboot isn't an option I can flash several recovery roms (via dd) and try them out. Question is - presuming that a recovery ROM would not boot, can I just reboot the regular ROM on restart? I tried this approach on my S3 and managed to soft brick it (It would be stuck trying to boot recovery even if I booted it normally) and I could unbrick it only by using fastboot (could be a problem on the onda)...
4. Try to analyze the bootloader/boot parameters to see if I can learn more (probably a hopeless attempt)

So, before I start and do something I will end up regretting, I'd like to get some input from people who have played with this longer than I have... Is there a better way of doing what I'm trying?

Thanks
 

mad_ady

Senior Member
May 2, 2013
28
2
Quick update: After looking over the binary image of the bootloader and the ubootenv partition I can say that I came up empty handed. I ran strings on both binary files and there were no meaningful ASCII strings inside (so the bootloader doesn't appear to be able to read any special files on the SD card). The ubootenv partition is mostly zeroes with the exception of the hex value c700 c0ca which appears twice.

Except for Onda's flash tool I don't know any other way to force flash something on the tablet...
 

mad_ady

Senior Member
May 2, 2013
28
2
I've been able to successfully build CWM v6.0.3.2 for the Onda v701/Allview SpeedCity. However, it's just a first build (no customization done) at this point and I haven't actually tested it. :)

I followed the instructions linked in my previous post and was able to extract the necessary files (kernel + fstab) from the stock recovery and build the CWM recovery and packed it together.

If you want to give it a try, there are a few problems and risks to expect:
1. Flashing the recovery image (if the image doesn't work for any reason or if it doesn't boot) may brick your tablet! [Guinnea pigs wanted!]
2. If the recovery image is flashed correctly and boots, you may not be able to control it (the Allview SpeedCity tablet doesn't have hardware volume buttons!). You may need a keyboard connected via USB OTG to control the recovery (or you might be able to connect via adb and issue commands from there).
3. To revert back to the stock recovery you must have a saved copy of it and you must be able to boot into the regular ROM and use dd to write the recovery back.
4. There is a potentially safer "fakeboot" option that can use the stock recovery to start the cwm recovery. In case CWM doesn't work, it shouldn't brick your device. [To be tested]

Prerequisites:
Before trying out the recovery rom you should have a backup of your recovery image available (for the SpeedCity you could do (as root) "dd if=/dev/block/mtdblock2 of=/storage/sdcard0/stock-recovery.img"). It would also be a good idea if you backed up your important data since the tablet may become unbootable in case of a bad recovery! Also, have a plan ready on how to retrun a bricked tablet to the manufacturer (as you might expect I take no responsability in these actions, and I'm just as scared as you are of potentially bricking my device. That's why I'm a chicken and I won't be trying things out) :)

Also - this guide assumes the partition layout of the Allview SpeedCity. I'm not sure if the onda v701 has the same partitions or not. In the SpeedCity the recovery partition is on mtd2. You can find this out by running "cat /proc/mtd" in your ROM.

Download: build0.1: My Files

Using FakeFlash:
The recommended method of testing this (and the safest method I could find) is to use the fakeflash method. You copy update.zip (from the link above) in the root of your external SD card and boot to (stock) recovery. You then select "Apply update from update.zip" (todo: find the correct button name).
Your tablet should load the update.zip and should temporarly replace the recovery app you are running.

If everything goes well you should see the CWM screen. You can go ahead and try out adb/keys and see if CWM's functions work correctly.
If it fails to start (you get a blank screen/distorted screen or you have no control over the screen) you can reboot and remove the sd card and it should boot correctly (please report back if this is the case!). You should be able to boot to stock recovery by pressing the correct buttons as well.

If stock recovery no longer boots, but you can boot the ROM correctly, then you can flash the stock recovery again by using the command "dd if=/storage/sdcard0/stock-recovery.img of=/dev/block/mtdblock2". You should then be able to reboot back to stock.

I will try out the FakeFlash method myself and see what happens. Once you are happy with the recovery in FakeFlash mode you can go ahead and flash it permanently (note: the difference between how things run in fakeflash compared to flash is that in fake flash you boot your stock recovery kernel and mount filesystems from your stock recovery fstab. The stock recovery kernel + fstab files have been copied to the recovery image, so, in theory, there shouldn't be much differences when you boot a flashed recovery. But in practice there might be problems!).

Flashing the recovery:
Note that you should be attempting to flash the recovery only after trying the fakeflash method. Otherwise, if the recovery doesn't work you might be unable to unbrick your tablet...

To flash while running a rooted ROM, copy the recovery.img file from the link above in the root of your internal sd card and start up a terminal emulator and issue these commands:
Code:
su -
dd if=/storage/sdcard0/recovery.img of=/dev/block/mtdblock2

After reboot you should be able to enter recovery and do your thing.
If recovery doesn't work/boot, but you are able to reboot back to ROM, you can restore the original recovery with the command I used in the FakeFlash method.

If you can't reboot into your ROM - I have no solution for you!

Brave testers wanted. Keep me posted in case you are successfull or not.
 

mad_ady

Senior Member
May 2, 2013
28
2
Good news everyone! I've been able to boot the cwm recovery rom by using the fakeflash method! It booted just fine and (to my surprise!) I was able to use the HOME button as down arrow and the power button as Enter. So, I would say we have a functional CWM recovery for the Speed City/Onda v701.

Next step will be to flash the recovery and boot it directly, but I think I'm going to wait for somebody to try it first - I'm still scared of the consequences...

To boot the tablet in the fake-flash mode, you need to boot to stock recovery first (HOME + POWER until you reach recovery), then select "Apply update from TFCard" and select the update.zip file I posted. You should then be taken to CWM recovery, like so:

$20130606_222550.jpg

Can somebody confirm that it's working for them? Maybe on an Onda v701 instead of an Allview Speed City?
 

vampirefo.

Senior Member
Developer
Nov 8, 2011
3,836
1,394
Just a guess from looking at the guide you used, I would say the recovery doesn't work, try this mount system or data, my gut says you get an error mounting both, if you do don't flash this recovery or you will regret it.
 

mad_ady

Senior Member
May 2, 2013
28
2
Thank you for your input vampirefo! I admit I didn't test the recovery ROM (I didn't mount/wipe anything), so I will need to run more tests before flashing it. I'll try to mount the partitions, maybe do a backup & restore. Would you say that if I pass these tests there is a low risk of bricking the tablet if I were to flash this recovery? Is there anything else I need to look for?

Thanks!
 

vampirefo.

Senior Member
Developer
Nov 8, 2011
3,836
1,394
If you can mount system and data then you would be ok, the next step after successfully mounting data and system would be backup and restore.
 

mad_ady

Senior Member
May 2, 2013
28
2
You were right vampirefo! It does say it can't mount /system or /data when I try.
I can use adb shell to log into the recovery and look around, but it seems I'm not root when I do this. There is a su.recovery binary that runs just fine, but it doesn't give me root priviledges.

I looked into the /etc/fstab file and I see the correct entries for my tablet:
Code:
~ $ cat /etc/fstab 
/dev/block/mtdblock5 /cache yaffs2 rw
/dev/block/mtdblock6 /data ubifs rw
/dev/block/mtdblock4 /system ubifs rw
/dev/block/mmcblk0p# /sdcard vfat rw

The difference is ubifs. I have no clue what it is. Shouldn't it be ext3/4?

Update: I checked in the running rom and /system and /data are marked as ubifs as well.

Where should I start looking? Can I become root under recovery so that I can try to mount them manually?
Thanks
 

vampirefo.

Senior Member
Developer
Nov 8, 2011
3,836
1,394
You were right vampirefo! It does say it can't mount /system or /data when I try.
I can use adb shell to log into the recovery and look around, but it seems I'm not root when I do this. There is a su.recovery binary that runs just fine, but it doesn't give me root priviledges.

I looked into the /etc/fstab file and I see the correct entries for my tablet:
Code:
~ $ cat /etc/fstab 
/dev/block/mtdblock5 /cache yaffs2 rw
/dev/block/mtdblock6 /data ubifs rw
/dev/block/mtdblock4 /system ubifs rw
/dev/block/mmcblk0p# /sdcard vfat rw

The difference is ubifs. I have no clue what it is. Shouldn't it be ext3/4?

Update: I checked in the running rom and /system and /data are marked as ubifs as well.

Where should I start looking? Can I become root under recovery so that I can try to mount them manually?
Thanks

You should be root in recovery, I can't say I have ever seen nonroot in recovery mode, anyway to get ubifs you need to pull from christain troy ghithub He has added ubifs to his recovery source, currently it builds recovery v5.5.0.4 which works well, you can just edit your recoveries files and make the changes to add ubifs to your recovery files manually if you want to use v6.0.3.2 instead of v5.5.0.4.

I am looking into formatting my partitions as ext4, I don't much care for ubifs, then normal cw recovery would work, like the recovery you made, it should work just fine on ext4 partitions.
 

mad_ady

Senior Member
May 2, 2013
28
2
Quick update: Lately I haven't had time to look into it, but with the help of ultravioletnk I managed to redo the build. It seems I forgot to set the offsets for the partitions when I set up the environment. Here's a link for release 0.2 of CWM Recovery: My Files

Note: I haven't tested it yet. I'll try the fakeflash method first and see if I can mount my partitions...
Will keep you posted.
 

mad_ady

Senior Member
May 2, 2013
28
2
Quick update: Build v 0.2 still doesn't mount /system or /data. I'm still looking into it.
 

vampirefo.

Senior Member
Developer
Nov 8, 2011
3,836
1,394
Quick update: Build v 0.2 still doesn't mount /system or /data. I'm still looking into it.

You could probably use my 7065 fakeflash, should mount your /system and /data my guess one difference would be sdcard mount point would be different.
 
Top