Monday, June 1, 2009

New A320 hardware spotted, different LCD controller

Looks like the latest A320 hardware uses a different LCD controller (ILI9331 vs. ILI9325), and as a result the unbricking tool does not work. Be careful because you will not be able to recover your A320 after a bad flash (yet).

Also, the current linux kernel does not support this new LCD, though I'm working on that and I believe it shouldn't take too long.

Meanwhile, you can help me sending a dump of the first chunk of your A320 internal flash. Follow these instructions:

  1. Enter the A320 system setup "about" section and press the following key combination: up-right-down-up-right-down. A hidden info screen will be shown. Write down everything.
  2. Download the USB boot tool from here and unpack it in a directory of your choice.
  3. Download this configuration file, rename it as USBBoot.cfg and place it in the same directory (overwriting the existing file). This is the 2K NAND page size configuration file.
  4. Place your A320 in USB boot mode by resetting it while holding the B button pressed. Windows will detect a new device and ask you for a driver. Tell windows it is in the same directory where you unpacked the USB boot tool.
  5. Launch USB_Boot.exe by double-clicking on it.
  6. Execute the command "boot 0". Your LCD will lit up showing whatever was on the controller memory when you hit reset.
  7. Execute the command "nreadraw 0 2097152 0 0". Lots of data will be printed on the screen and after a 20-30 seconds it will stop.
  8. Execute the command "exit" to quit the USB boot tool. This is very important.
  9. Examine the USB boot tool directory and you'll see a new file named "dump.bin". Rename it as "dump_2K.bin".
  10. Download this configuration file, rename it as USBBoot.cfg and place it in the same directory (overwriting the existing file). This is the 4K NAND flash page size configuration file.
  11. Repeat from step 4, rename the resulting "dump.bin" file as "dump_4K.bin". Pack "dump_2K.bin" and "dump_4K.bin" in a single zip file, upload it to a file sharing service and place the link in a comment to this post, together with all the info you wrote down in step 1.
Update 1: use the same 2097152 (=2MB) value for both reads. Actually the value doesn't matter much since the area I want to examine is at 256KB in the 2K dump and at 512KB in the 4K dump, and is just about 10KB long.

Update 2: A600 has already received the new initialization .DL from Sofia/Dingoo, and confirmed that as I predicted it can be found at location 0x4000C of the 2K dumps (file size stored in dword at 0x40008).

Thanks!!!

13 comments:

  1. Couple of questions, which is the new lcd controller - ILI9331 or ILI9325 and is there a usbboot for linux or is it win32 only?

    ReplyDelete
  2. Managed to commandeer a Windows PC for this, pity it couldn't be done in linux.

    I've uploaded the dumps here: http://www.mediafire.com/download.php?22zcmoycool

    Here's the info from the Dingoo:
    VENDOR ID: 0x 1be1369.
    SDRAM ??!
    LCD MODULE: LCM_FAIR_ILI9331_3
    LOADER SUM: 0x 90614d.
    OS SUM: 0x a2d458f.
    OS??: Apr 29 2009 15:32:00
    ????: 255000.

    I've used ? in place of the chinese characters.

    ReplyDelete
  3. Sofia sent me the recovery tool. Download it here: http://www.megaupload.com/?d=KI7J3SAV

    I've checked the dumps uploaded by vapidity999 and the new dl is there (dump_2K.bin file at 0x4000C), so booboo was right :)

    ReplyDelete
  4. http://www.speedshare.org/download.php?id=B48AFA3511

    ReplyDelete
  5. http://i39.tinypic.com/i6z1pu.jpg

    Picture of my dingoo :)

    ReplyDelete
  6. For linux there is usbtool by the onda vx747 guys, but it doesn't work very well for dumping the flash. Actually, dumping the flash should be easier from linux itself, but it turns out you cannot force linux to use 2K or 4K pages, it will detect a 4K NAND and use 4K pages.

    The reason of using a 2K page size configuration on a device which we know for user is a 4K page size is a bit complex: the first stages of the boot sequence in the A320 do not support 4K page size NAND, so they read data as if the NAND was 2K. Later stages all the files in the internal filesystem are properly saved using the true NAND page size, which is 4K.

    That means some parts should be read using a 2K configuration and some using a 4K configuration. Oh, well, you could do just a 4K dump a discard the second half of each page, but it is a bit more complex and I though it would just be easier and simpler to just ask for two dumps performed with 2K and 4K page sizes.

    ReplyDelete
  7. thanks for not leaving us new a320 users behind, booboo!

    ReplyDelete
  8. You're welcome. We MUST support all A320 varians in order to get as many developers on board as possible !!!. I started porting the kernel on a "build it and they'll come" basis :-)

    ReplyDelete
  9. Awesome news. I noted to the paypal bucket. My dingoo doenst arrive till Wed =P

    ReplyDelete
  10. To see what LCD controller you have: http://a320.freeforums.org/important-those-with-dingoos-purchased-recently-t499.html

    ReplyDelete
  11. I just bought another dingoo and attempted to put dingux on it. I was unable put dingux it said firmware failure, you may have to reload your old firmware. I tryed to use the usbtool.exe method, which i used before on a old dingoo and it had worked, but this time i forgot to rename the zimagedual. So being in a big rush and not realizing my mistake, i instead did the version on the complete Idiots guide to installing dingux. I was able to boot up dingux on the dingoo but when prepare to flash the program, it gave an failure message and said i may want to reinstall orginal firmware. In the process of that i bricked my dingoo becuase used the wrong lcd controller while attempting to use the recovery tool. I was able to unbrick the dingo and install the 1.03d firmware. I attempted to rerun the usbtoo.exe with the needed correction but when the dingux began to run instead asking to flash the drive it asked wheter i wanted to install the dual boot or orginal firmware. I tryed dual boot but it still says failure to install, and tryed orginal firmware but it just resets the dingoo and will not fix the flashing of dingux.



    So my question is, Is there something Im missing here? how do I restart my firmware to allow it to install dingux? (note that have used the recovery tool to no avail) do I need to get a different dual boot installer?

    ReplyDelete
  12. I was just about to try installing dingux on my dingoo today and I found out this. I am glad I didn't brick my dingoo. It seems I have one of the new models

    VERDOR ID: 0x 1be1369.
    sdram ??!
    LCD MODULE: LCM_FAIR_ILI9331_3
    LOADER SUM: 0x 90614d.
    OS SUM: 0x A2d458f.
    OS??: Apr 29 2009 15:32:00
    ????: 240000.

    I used "?" wherever was a chinese character

    ReplyDelete
  13. Hey I just got my dingoo :D Its awesome I love it but It will be so much cooler with dingux!
    I read the guide idiots guide to installing dingux.
    It makes no sense! there are so many downloads! can someone please! tell me the downloads I need and links (I'm not bothered about the toddler or warp)
    And Why do I need usbtool-win? do I really need it? and what is the dualboot?
    How do I put my dingoo in bootmode?
    what dualboot files do I unpack?? why do I need the directory??!
    Please someone help me! I'm good with pc's but never done this kinda stuff.
    Please help me!!
    Thanks Sol

    ReplyDelete