Double the size of LocalDisk on Evodroid tablet (WM8505)

Hello, I purchased an old, used, working tablet based on obsolete processor WM8505. Why an obsolete model ? The reason is very simple : there is, on the internet, a full datasheet of the processor and good documentation, in general. When new products reach the market, they are still very technical, so well documented and simple to use. When it goes to be a business, the “commercials” come in and say to technicians : “you must hide all the infos and introduce some strange key to make impossible for anyone to look inside”. This is ‘cause the “commercials” are not able to produce ideas, they are able just to speak about things they can’t understand, and always have blinded vision of the future. Someone, any time, breaks the locks and looks inside,  ‘cause the “perfect lock” doesn’t exists. The result of this stupid behaviour is that the mankind is slowered and uses 20 years to reach the results that can be achieved in two. But the “commercials” are so happy, they sell and make big business. Absolutely haven’t a long view into the future.

Ok, I opened my tablet, just for look what’s inside. Here is a picture :

Just in the middle, you can see the “coreboard”, the hearth of the system, with the processor, the SPI flash with boot program, the ram, the oscillators and … the NAND FLASH ?  I can’t see the NAND flash, the “hard disk” of my tablet. Where is the NAND flash ?

ooooh, I found it, Is on a small board, hidden under the main board. But… there are only four wires ! Naaah, the NAND flash is a very common USB memory key ! That’s incredible, so the boot program in SPI flash is able to launch the system from an USB memory… VERY interesting !

I decided to disconnect the module from the tablet and wire it to a standard USB plug, in order to analyze it with my PC.

So, now I have an USB memory key with the hard disk of my tablet… Immediatly put in my PC and use the program Win32 Disk Imager, it’s open source, it’s simple, it works very well. I create a copy (img) of full pendrive and saved to disk for cloning on another USB memory key. Obviously, for using a standard usb memory key, I mounted a female usb plug in the tablet, using the 4 wires where was attached the original board. I used a 4GB memory key as destination of image file and tried to restart my tablet with such pendrive…

Ok, wires are connected, try to boot the tablet :

Uhmmm, animation starts, but continues “ad libitum” without starting the Android OS. There must be something wrong. Now, I extracted my pendrive and put it in another PC, running Puppy Linux. This is for a simple reason, Puppy Linux is my favourite “distro” and has the great GParted program, a powerful application to “look” inside disks and partitions. Inserting the pendrive, I discovered that has MANY partitions inside !

I see the main partition (the start) hasn’t the ‘boot’ flag. May be that’s the reason for tablet not starting ? Mmhh, let’s try to check. Modified the flags adding the ‘bootable’ to the first partition, then extracted the pendrive and tried again on the tablet…

WOW, now it works ! Ok, now, coming back to the Puppy Linux, I looked at all the partitions and the contents. First, the partitions list:

and now, the contents of each one : first SDB1

then, SDB5

then, SDB6

then, SDB7

and, finally, the SDB8

This is our “localDisk” ! Now, the original NAND flash was 2 GB and I have the new one that is 4GB, so i will resize the partition, using the GParted going from this situation :

to this new organization, filling all available space :

OK, all done. Now back again to the tablet and reboot. The led lights, the system starts…

And now, let’s go to measure how big is our LocalDisk 🙂

Wow… very good. Now, I can’t have an USB memory key attached to my tablet, so I opened the pendrive’s case and discovered that the small board inside is VERY similar to the original one…

So, I desoldered the USB plug and soldered the new circuit in place of the old one. All worked perfectly, tablet closed, disk space doubled.

 

28 thoughts on “Double the size of LocalDisk on Evodroid tablet (WM8505)

  1. Ray(UK)

    Hi Many thanks for the reply.

    Yes you are correct I did post in the incorrect area sorry, and yes I think I am a little confussed.

    However……

    I accidently left a script on my sd card, and the tablet updated to an incorrect chip. I think WM8650?

    The tablet has a blank screen when I try to powerup.

    I have and old LPT Wiggler JTAG interface that does not seem to work. I was going to build yours.
    I assume that the the pads just above the component marked 6R8? in you first picture were the jatag points?

    If am correct the if the tablet is not communicating at all then a direct SPI flash is not possible using your program miterm-en?

    Is it possible to load SPI without dissaemble? If not where is the correct chip located on this example, and what is required to reflash it?

    Regards

    Ray

  2. Hello Ray, you’re going to be the world champion of out-of-topic 🙂
    This post would be better placed in SPI-programmer page ! But it’s Ok, I will answer to your questions in the numbered order:

    I accidently left a script on my sd card, and the tablet updated to an incorrect chip. I think WM8650?
    The tablet has a blank screen when I try to powerup.

    1) if the update process hasn’t replaced the original U-Boot in the SPI flash memory (the small 8 pin chip), may be the tablet can be updated with a new version with the same operating mode.

    I have and old LPT Wiggler JTAG interface that does not seem to work. I was going to build yours.
    I assume that the the pads just above the component marked 6R8? in you first picture were the jatag points?

    2) The LPT Wiggler JTAG probably doesn’t works for different power supplies, may be 5V on Jtag, but 3.3V on tablet. I’m building my own Jtag interface just in these days, but I can’t say if it will work. If it does, I will publish the schematics and a small guide on my blog.

    If am correct the if the tablet is not communicating at all then a direct SPI flash is not possible using your program miterm-en?

    3) PAY ATTENTION ! The serial interface with miterm-en serves ONLY to control the U-Boot program (if the U-boot works !). If the U-Boot doesn’t works, the serial interface and the miterm-en program are absolutely of no use ! You must build the SPI programmer (four resistors on the parallel port) and desolder the small 8 pin IC from the circuit, as I mentioned in my previous answer to your post.

    Is it possible to load SPI without dissaemble? If not where is the correct chip located on this example, and what is required to reflash it?

    4) Just yesterday I finished my test for programming the SPI flash on-board, without using the Jtag, but the simple parallel port SPI programmer. My idea was that the processor, if hold in reset state, will leave all the I/O lines in high-impedance, so, soldering the wires directly on the small IC, I thought it will be possible to program the memory as it was “disconnected” from the circuit. Well, isn’t true. The Data and Clock lines are tied LOW from the processor even if I force LOW the reset line (on C33-R1 joint point). In addition to this, when you force low the reset line, the 3.3V power enable line goes low and also the 3.3V disappears ! But I found a point on the circuit, on the base of enabling transistor, to activate the 3.3V with external resistor, forcing it to operate ; so I had the processor in reset state, but the 3.3V present on the memory. But… nothing to do ; the lines are forced low. Bad luck. That’s the reason I’m building my own Jtag interface, tailored for this specific circuit. In my opinion, there are no other ways to recover a bad SPI chip than unsolder / reprogram off line / resolder or have an efficient Jtag interface and relative control program to access SPI and NAND memories.

    Hope this helps … 🙂

  3. Hi many thanks for your comprehensive answer.

    Sorry for mixing up your blog…..I will reply here tho.

    I assume that the SPI is action like a PC bios?

    Looks like I need to wait to see if you can come up with a suitable JTAG method, should you have time to develope it.

    Just a thought begs the question how does the update script, have the ability to erase and write to this area of the chip if indeed it does?

    Many thanks for you time and very interesting reading, I will keep an eye on you progress.

  4. Hello Ray, you’re right about the SPI as the PC bios ; it’s similar, as the SPI contains the bootloader that starts the OS that resides on the NAND flash, the 2GB (or 4GB) mass memory of the tablet. The SPI is used by the processor to boot and can handle the NAND flash and the microSD (called usually MMC in the U-Boot). In the WM8505 the upgrade procedure is done when the U-Boot tries to read one script from the standard folder “Script” on the MMC card. If such script is found, the U-Boot executes all the commands inside, line after line, probably erasing all of the NAND flash memory and loading new contents from the MMC itself. Also a copy of U-boot is loaded and in the next program start, when the OS runs from the NAND flash, the SPI can be rewritten, cause now the control is on another part of the processor’s memory. That’s the way your SPI can be rewritten by a wrong firmware version. This process is really simplified, just to explain how it can happens. Now, if the U-boot doesn’t work, the OS can’t start…
    Hope this will help. I’m reading infos about the Jtag on ARM processors, it’s new for me, but I will give it a try. If it can be done, I will publish all the info… there are so MANY old tablets bricked, around the world… 🙂

  5. Ciao ottimo lavoro!!! ho cercato di copiare la formattazione della pendrive ma sfortunatamente non funziona… potresti mandarmi un immagine della pendrive stessa cosi posso aggiornare il sistema? stavo cercando di recuperare il tablet e sfruttare la seriale ttl per comunicare con uno switc cisco
    scusami ma la seriale stessa non riesce ad acquisire i dati dal modulo gps?

  6. Salve Giovanni, per l’immagine della memoria, ti risponderò appena possibile via email, perché comunque, anche compresso, il file è piuttosto “corposo”.
    Per quanto riguarda la seriale del tablet (la ttyS0) ci sono alcuni problemi : il primo (risolvibile) è quello dell’impegno da parte del sistema della suddetta porta per la funzione di console (login). Per prima cosa, quindi, bisogna intervenire sul file init.rc per disattivare questo servizio che altrimenti verrebbe attivato automaticamente al boot. Una volta sistemata questa cosa, la porta ttyS0 diventa utilizzabile (e l’ho utilizzata in molte occasioni), ma per ragioni che credo siano legate al clock della UART e al driver di seriale, NON è possibile settare la velocità di 4800 BPS che servirebbe per leggere i dati direttamente dal modulo seriale GPS. Se si forza il baud rate della ttyS0 a 4800, il sistema automaticamente si “aggiusta” su quello disponibile più vicino, che risulta essere 9600, rendendo impossibile la lettura dei dati ; quindi, per questo particolare sistema, sembra che il baud rate 4800 non sia implementato per le seriali on-board. La cosa non vale per eventuali interfacce usb-rs232 esterne, che riescono tranquillamente ad essere settate sul baud rate desiderato. Per una mia applicazione Android (apk) che legge i records NMEA da un “mouse GPS” collegato ad una delle porte USB del tablet (sul dongle esterno) puoi guardare questo post nella mia sezione “Robotop’s Place” del forum HcH / TechKnow a questo link: http://www.techknow.t0xic.nl/forum/index.php?topic=1033.msg9279#msg9279

  7. Hi, Hi, I have a tablet similar but the firmware is corrupt…
    could you give me a copy of the image back up?

  8. Hello, I’ll send you the link; please, let me informed when you download it, thanks.

    Note: I strongly recommend to use the “7zip” program to deflate the image and the “Win32 Disk Imager” program to write the image on the usb memory key. Both the programs are free and Open-Source.

  9. Ok, downloaded file. Thanx.
    I use GParted program and i see the main partition hasn’t the boot flag. I try to select this checkbox boot But this stay in blank. When tablet start up, animation starts, but continues “ad libitum” without starting the Android OS. I try with GParted Live-CD and PGParted (Puppy Linux )
    Link to printscreen:
    http://photobucket.com/checkbox

  10. Hello julmarte, even in my experiment, as I wrote in the article, the robot animation went continuously, without starting the OS. This happened until I modified the disk image, setting the boot flag as you can see in this picture: http://ficara.altervista.org/wp-content/uploads/2012/04/HPIM1651.jpg ; if you can’t set the flag, probably there are errors in the partition; have you tried to check the partition, before attemping to set the boot flag ? Did you used the program Win32-Disk-Imager for creating the new disk, as suggested ? I added, in the right side of the blog’s main page (Disordine), the link to that very useful Open Source program. Also, plese verify thet the downloaded file has this MD5 checksum: E01B92685F3F388B8DE56491D2503F6F. Hope this helps…

  11. Ok, i check the MD5 is correct. I used the Win32 program-Disk-Imager for Creating the new disk.. I tried to check the partition, but generates error and with the same result by deleting a partition. seems to do it but in the end remains the same pen drive. I try low level format but does not work (HDD LOWLEVEL program) remains the same pen drive. Thanx

    I will try tomorrow with a new pen drive.

  12. Ok, I also think is a good idea to try with another pen drive. Hope it will work. I will redo the whole process using the image file reloaded from the internet, just to see if there is something wrong, but if the file’s checksum is right, it must be the same I used at start of my job. Anyway… a double check will clarify the things. Obviously, if you have success with another pen drive, please, let me informed so I can stop the job !

  13. Hello, good news. I did again all the procedure using the file downloaded from the internet and a Lexar 4GB pen drive. It all works fine, the boot flag can be set without any problem. I used 7Z to deflate the image file, then Win32DiskImager to write the pendrive. For partitions handling I used Puppy Linux 4.3.1 version, installed on a partition of my dual boot HP G61 notebook. So, probably, the problem you encountered can depends on pendrive or GParted version. Hope you will have success with new tests. Bye…

  14. Hello emilio, I have 2 pen 2G (1.88G) but the downloaded image is 2.5 g. t the image is modified? should be of maximum 2G if an image of original pen drive.
    You can post the original image?

    Julio

  15. Hello, the image file is a copy of internal NAND flash of the tablet. Such memory has exactly the size you have measured with GParted, a little bit OVER 2 GB. You can copy it on a larger pendrive, then use GParted for resize the user space partition to a smaller size. After that, under Linux, you can copy all the partitions on a 2GB pendrive.

  16. Hi Emilio, I followed your instructions but does not load the operating system, possibly the firmware version is not for the tablet. but thanks to you I could determine that the pen drive was defective. so install a 2G flash drive I had available and install a new firmware (3.22.11_script_HoneyComb_V9.0.0_EPAD_212_by_tipstir)

    Emilio really thanks for your help, now I know how powerful software is Gparted.

    Greetings from Colombia
    Julio

  17. Hello Julio, glad you solved the problem, even with a different rom 🙂 You’re right, probably your tablet isn’t exactly like mine, so a different rom is needed. I removed the links you supplied in your post due to my blog’s links policy, sorry… However, thank you and… greetings from Italy 🙂

  18. Hello,
    I am a user of probably the same tablet which has usb stick instead of a NAND memory. The situation that I have now is my tablet is totaly bricked. I mean black screen. I have measured all tensions on test pionts and it looks OK. The processor is working. I thinks there is someting wrong with SPI memory. USB disk has 2 Gb and there arent any datas. I need complete image of usb disk and image of spi memory to write it inside. I will try to use beeprog device for that. Is possible to send me link with needed files?

  19. Thank you,
    but the first links does not work. Probably I must have an account on this file service. The second is OK. Can I write only spi memory and next use known firmware for wm8505 based tablet? Need I to special preparing of an internal usb stcik or try to write usb stcick from sd card during the firmware recovery method?

  20. Hello, the free hoster has probably deleted the old file, but if you can rewrite the SPI memory using some programmer (as the one I proposed in another article), also you can revive your tablet with the usual way to insert the right rom in the microSD card and make a “standard” system upgrade. You can rewrite the usb-nand flash in the other way shown in this article, but I think the standard way is easier. Let me informed upon your success 🙂

  21. Hello one more time,
    I have flashed SPI memory with bin file from your. The result is that now I have possibility to flashing my device through the SD card. During the instalation I have info about wrong NAND type. After that my device hangs. I think it is connected with internal usb stick which was early formated to FAT by me. I think it is nesesary to prepare internal usb in correct partition format or putting there completly clear usb without any partiton. Other way is preparing usb with linux partitions. What do you think about it?

  22. Hello, very good. If the SPI memory works now, you can recovery the tablet. Please, read the text in this new temporary file : http://ficara.altervista.org/wp-content/uploads/2012/05/filhost-links.txt and get the image of the usb-nand internal to the tablet (send me a message when done). Decompress it with 7z, then use win32-disk-imager to copy the image to the usb-nand flash (you have to wire an usb connector, obviously). When the image is correctly written, use some Linux computer and start the “GParted” program to set the “boot” flag on first partition (the FAT16), then reconnect the usb-nand to the tablet. If your model is equal to mine, it will start. If different, try the version suggested by user julmarte in previous comments. Hope this helps… bye

  23. Hello Emilio,
    I am writing to you about success of unbricking my device. It was possible of your help. Thanks a lot one more time.

  24. OK, Robert. I’m glad my work was useful for helping you in tablet’s recovery. Very good. Have nice time, bye…

  25. Hey Robotop,

    This is a very interesting article, I also LOVE puppy linux but eventually started using Ubuntu, I’m still not too exited about Ubuntu compared to PuppyLinux on some levels but ok, I can do with it what I want.

    About the partitions:
    SDB1 bootani, ramdisk and kernel
    SDB5 system partition
    SDB6 data partition
    SDB8 user storage

    Now I also want a WM8505 🙂

    HcH

  26. Good way of describing, and pleasant article to obtain data regarding
    my presentation focus, which i am going to present in
    institution of higher education.

Comments are closed.