Tuesday, July 28, 2009

(Yet another) release of system and toolchain

As usual, get them from here.

Summary of changes for system:
  • Enabled joystick support in SDL but forcing the dummy driver.
  • Minor fix in automatic subdirectory creation in /usr/local.
Summary of changes for toolchain:
  • Properly installed vorbis integer decoding library (Tremor) (hope so, untested).
  • Enabled joystick support in SDL but forcing the dummy driver.
Enabling SDL joystick support allows easier porting of applications that won't compile unless it is enabled (but they'll work perfectly if there is actually no joystick). Forcing the dummy joystick driver code minimizes the "fat" (=unecessary and unused code) added to the library.


  1. Booboo, I think my Dingoo I've recieved in the past couple of days has a new LCD controller.

    It's named "ILI9931_3"

    I've tried using normal 9331 zImage files, but I've failed so far to get Dingux working on it, despite several attempts and about 10 hours of hard work.

    I think it might be worth looking into this. Thank you for your efforts by the way, your project looks brilliant. I just hope that soon I can actually use it!

  2. EDIT that, the full code under LCD module is:


  3. Thanks booboo :) oh harlen new LCD controller again.. unlucky you but booboo will fix this on way another :D

  4. This comment has been removed by the author.

  5. Hi booboo, using the latest rootfs, I'm still not able to run dmenu directly as /usr/local/sbin/main. It prints 'jzfb_set_par' on the screen and dmenu does not run. From ps output I can see init is trying to run dmenu over and over again, but dmenu must have exited with some error. Funny thing is no error message gets printed on the screen. If I log in via telnet, and run '/usr/local/sbin/main' from a shell, it's working fine. Any idea how to debug this?

  6. @Harlem

    Looks like a normal ILI9331. Have you installed dual-boot?. Do you see the initial dingux splash screen?. If so, it is working and not booting for some other cause.


    Might be a problem of environment. However, if dmenu is printing an error, you should be seeing it. Email me the dmenu you're trying to get working and I'll look into it.

  7. No sure that line is printed by dmenu. I seem to have seen it printed when dmenu is launching some other program. I will email my copy of dmenu to you in a short while.

  8. Boboo; any chance we're getting tv-out with dingux anytime soon? It's one of my favourite features in the original firmware.

    Thanks for everything and keep up the good work!

  9. @Ada

    Don't think so. It's a rather complex issue for which there is no code to start from (as opposed to the LCD). It has always been quite low in the priority list both because of its complexity and because I had the feeling it was not a very important feature, but some pleople have already asked for it, so maybe I'll have a look soon (as time permits).

  10. No luck, booboo.

    How can I remove it? I'm trying to use the recovery tool, but everytime I press reset and b to go into usb mode, my pc doesnt pick it up at all... And the emulators run slow and the sound is messed in the normal firmware with linux on...

    I'm ripping my hair out. I feel as if I've just thrown £60 down the drain.

  11. Now that dingux can be installed on FAT, is it/will it be possible to install it on the internal memory, so we can swap cards without installing (and updating) dingux on every card?

  12. FYI I put in a patch for buildroot that adds sdl_sound support as an option. I may redo it tonight but either way it should be going into git soon

  13. Hi booboo,
    I'm getting severe file system corruption on my SD card.
    After writing data to it using dingux the filesystem is often unreadable or a lot of files are missing or garbled.
    Running fsck on the card afterwards reveals tons of errors.
    Copying files to the card using the original firmware works perfectly.
    I'm using an 8 gig SDHC card.
    Any ideas what thes could be, or anybody else with a similar problem?

  14. @Bastian

    Not really. Should be possible but definitely not worth the effort. Note that the block device behind the internal FAT disk in the A320 is not known. I mean obviously it's in the NAND flash device, but one must reverse engineer a lot of things: where does it begin, size, type of NAND error correction and so on.


    SDL_sound is already in my rootfs. I added the whole standard SDL family except SGE (because it was not autotools based).


    I know from the #dingoo-a320 IRC channel at irc.freenode.org of at least one person with a similar problem.

    Can you describe how and what you write to the card in dingux?

    If the problem spreads, I'll have to investigate it, but unfortunately I will need one of the failing cards to reproduce it. If someone has one such card that he's willing to donate, let me know.

  15. Well I know you had them already, but this way the options are in buildroot so you dont have to do them by hand anymore since sdl_gfx and sdl_sound were not originally in buildroot. So whenever you have to make a new one you can just let buildroot create and insert them.

    I believe they are still working on the tremor issue, there is a bug in the buildroot pkg-config sysroot support so that breaks some things that rely on pkg-config for proper insertion into the toolchain and rootfs.

  16. @booboo: then SDIO cards won't work either, because the SD slot is (and will be) always used, right? Could the rockbox code for Ingenic targets be of help to access the NAND?


  17. AT the moment it seems like it happens no matter what i write to the card. Small files seem to just as much of a problem as large files.
    The problem first appeared with savegames of Open Tyrian.

    I just wrote a small script to put files with a static text on the card, and around 10% of the ~1mb files are corrupted.
    I had a look at the corruption and it looks like some parts of the file are overwritten with random data.

    The card is a Micro SDHC/Transflash card from CNMemory. I use it with a MicroSD to MiniSD adaptor.

  18. @Evan

    Actually I patched buildroot to include the SDL family. I know I should send the patches in, but some of them are quick'n'dirty hacks that probably break other platforms. I planned to release it all but somehow managed to forget about it. I'll check it all into SVN when I get home. Or probably just a patch against 2009.05 would suffice.


    SDIO will be possible when dingux replaces the original firmware. I know it's a long shot.

    The problem is not accessing the NAND, but accessing the NAND in the way the original firmware does. There is a thick translation layer for NAND devices that handles error correction, bad block marking, wear leveling, etc... and firmware is free to implement it at will, because it is assumed that any write and any read will go through it. I'll have a look at it but I think the only true reason to work in using the internal FAT partition is to free the miniSD slot for SDIO, and I there are higher priorities like getting ethernet USB working fine, TV out, LCD tearing, etc.


    There's not much that I can do without the card. I'll have a look to the MMC kernel code to see if there's some configurable parameter that may be pushing your card somehow beyond its limits. Otherwise all I can offer is to buy your card (that's what donations are for).

  19. @Booboo

    I agree in what you say about priorities.

    Anyway, I think I found the reason, why Dingux works on some SD cards, and not on others: Some cards don't come with a partition table, but have the partition starting directly from the first block. Dingux's boot loader doesn't seem to support this setup. The solution for those cards is to create a valid partition table on them (I dd'd zeros to the first sector and then used fdisk and mkfs.vfat to create partition table and fat partition)

  20. Booboo, thats what I was trying to tell you is you dont need to, the patches are already in the buildroot git so that the entire buildroot community can use them