Assorted Geekery

Hacking the Hannspree Hannspad – Part 4 – The ‘Hard’ Backup

The following has been tested under Windows XP SP3 and Ubuntu 10.04 LTS, But you should be fine under Windows XP/Vista/7 and any vaguely up-to-date Linux install. You will also need the following files.

Okay, The first thing we want to do is Backup everything on the tablet. Unfortunately the operating system is designed only to allow us access to the 16GB flash memory area, but what we really need access to the 512MB section of ROM memory built into the ‘system on a chip’. This is a quite well protected bit of memory, but we are going to boot the device up into emergency recover mode in order to gain access to this data in order to back everything up.

The Hannspad ROM, that is the 512mb of storage integrated into the ‘system on a chip’ is divided into 14 partitions. The information I could glean together about these from my rom dump is listed below. Don’t worry, you don’t have to worry too much about this stuff, suffice to say that if anything goes wrong, you will be thankful you have a copy of the original stock rom.

Partition 1 – I assume this is just a logical container
Partition 2 – BCT (boot config table) – 3MB (3145728 Bytes)
Partition 3 – PT (partition table) – 3MB (3145728 Bytes)
Partition 4 – EBT (unknown) – 2MB (2097152 bytes)
Partition 5 – NVC(unknown) – 2MB (2097152 bytes)
Partition 6 – MBT (Some kind of second stage?) 128kb (131072 bytes)
Partition 7 – BLO (Bootloader) – 4MB (4194304 bytes)
Partition 8 – MSC (misc?) 16MB (16777216 bytes)
Partition 9 – KLO (unknown) – 4MB (4194304 bytes)
Partition 10 – OGO (unknown?) 16MB (16777216 bytes)
Partition 11 – SOS (Emergency Recovery) 8MB (8388608 bytes)
Partition 12 – LNX (Boot) 8MB (8388608 bytes)
Partition 13 – APP (System) 200MB (209715200 bytes)
Partition 14 – CAC (unknown) 242.25MB (254017536 bytes)

We are going to use a tool called nvflash to get this data out of the rom and backed up someplace safe. Nvflash is available both for Windows and For Linux, but the windows users are going to have to install some Drivers to use it, Linux users, you can skip the driver oriented steps.

  • Download  “” and extract it to somewhere temporary (Desktop?)
  • With the tablet turned off, connect it to the PC via USB
  • Boot the tablet into recovery mode.  Do this by pressing the power-on button and letting it boot whilst holding down the “Volume Down” Key.  This should boot the tablet to the recovery screen as shown below. 

The recovery mode is designed for system upgrades and fixing opperating system errors, and allows access to the (normally) read-only memory.  With the tablet in this mode we can now start to make our modifications. 

On the PC you should have detected new hardware.  If not, just open the device manager (Start -> Run -> “devmgmt” -> enter) and find the device.  It should have a yellow exclamation mark next to is and be called something like “NVIDIA USB Boot recovery”, or “APX device”.

You will need to install a custom driver for this.  This was included in the “”.  Be sure to tell windows you will be manually specifying the driver file to use (see below)

  • As part of the driver installation be sure to select the driver “NvidiaUsb.inf” which was provided in the zip file

once the driver has been installed, you should be able to see the following device in the device manager.  “Nvidia USB Boot-recovery for mobile devices”

now that is done, we can now gain access to the ROM memory of the pad.
Linux users, you can come back in now, you had the driver mainlined into the kernel ages ago.

Now we have access to the ROM, its time we backed that up someplace safe.  The Batch file included named “backup_hannspad.bat” will copy each partition listed to your PC.  All this batch file does is call the supplied NVFLASH.exe to dump the rom data to a local file.  A Linux binary of the same name is supplied to, it shouldn’t take any effort to convert the batch file to a shell script.  

once that is done, you should have a selection of img files resembling the following, (file sizes in bytes):

-rwx——  16777216 2011-09-17 02:48 part-10.img
-rwx——  8388608 2011-09-17 02:48 part-11.img
-rwx——  8388608 2011-09-17 02:48 part-12.img
-rwx——  209715200 2011-09-17 02:50 part-13.img
-rwx——  254017536 2011-09-17 02:53 part-14.img
-rwx——  3145728 2011-09-17 02:47 part-2.img
-rwx——  131072 2011-09-17 02:47 part-3.img
-rwx——  2097152 2011-09-17 02:47 part-4.img
-rwx——  2097152 2011-09-17 02:47 part-5.img
-rwx——  131072 2011-09-17 02:47 part-6.img
-rwx——  4194304 2011-09-17 02:47 part-7.img
-rwx——  16777216 2011-09-17 02:47 part-8.img
-rwx——  4194304 2011-09-17 02:47 part-9.img
-rwx——  1282 2011-09-17 02:47 partition.txt

Okay, so if everything goes to the wall, you have those to fall back on.  Back those up someplace safe.