Up Board corrupting eMMC on power outage and Android issues

Evi Vanoost
Evi Vanoost New Member Posts: 2
Hi,

I purchased the UP Board 4G/64G from Mouser including the power adapter. I have it running to a HDMI-DVI converter. The Android version available here as well as the Android-x86 6.0 RC1 version does not work well, the screen keeps blanking every time a new app or screen opens (basically any large screen refresh) the monitor says "Cable not Connected".

I installed Android 7.0RC1 from the Android-x86 project and that works a lot better but when I disconnected the power the system went into an endless reboot loop. It seems the system has corrupted the data on the chip, this used to happen with older Raspberry Pi's with underpowered power supplies and cheap SD cards, I've never seen it happen with a modern RPi, ODROID or other Android systems because they typically have higher quality eMMC in it and the power filtering chips are properly designed.

Does anyone else have these issues? What, if anything can be done about it or is this a known design flaw and should I just ship it back? The goal is to have these little systems as a Digital Signage system so I can't have them constantly corrupting on me. If it is a Linux kernel issue, what exactly are the configuration changes for the Kernel to make this type of system work correctly with it's eMMC, so I can compile my own Android kernel (I have a 48-core build station available, it takes me 15 minutes or so to compile). Does this system have any binaries or drivers that need to be plugged into the kernel and if so, where can I find them?

Comments

  • Jack
    Jack AAEON Posts: 16 mod
    edited June 2017
    Hi guruevi ,

    This is AE Jack from AAEON.

    If you use HDMI cable directly, will the blinking issue still happen?

    What's the BIOS version?
    If your BIOS version is not UPC1BM0X, please download the UPC1BM0X BIOS from: https://up-community.org/downloads/download/18-uefi_bios/5-upc1bm0x_efi

    If update BIOS without help, please download our Android and do installation from below FTP to see if it helps.
    ftp://ae:aaeonae@dataex.aaeon.com.tw (folder name: guruevi)

    Thank you,
    Jack
  • DCleri
    DCleri Administrator, AAEON Posts: 1,213 admin
    Hi guruevi,

    About the eMMC corruption, I am afraid that it may happen with any modern system, it is not about hardware design.
    To avoid eMMC corruption on sudden power loss the Operating System needs to be designed with a read-only root and boot partitions.

    I would suggest to avoid unplugging the power cable and instead perform a proper power-off for the system when you want to shut it down.

    At the very last I suggest you to enter in the BIOS menu, under the Boot tab and change OS from Windows 8.1 to Android.
  • Peter
    Peter New Member Posts: 7
    Hi dcleri,

    Is eMMC corruption possible regardless of the type of the filesystem? Don't journaling filesystems such as Linux's EXT4 prevent corruption?

    Regards, Peter
  • DCleri
    DCleri Administrator, AAEON Posts: 1,213 admin
    Journaling File Systems help to avoid such events but not 100% of the time.

    Also the boot/efi partion (due to its nature) has a fat32 file system.
  • Peter
    Peter New Member Posts: 7
    Ok, now that I've read about flash memory devices, I understand the issues better. Special flash memory aware filesystems (such as JFFS2 or UBIFS) are needed to prevent corruption.
  • Peter
    Peter New Member Posts: 7
    dcleri wrote:
    Journaling File Systems help to avoid such events but not 100% of the time.

    Also the boot/efi partion (due to its nature) has a fat32 file system.

    ...but OTOH, boot/efi partiotion should not be a problem as it is not regularly written to.

    Are you aware of any Linux distributions that can use JFFS2 or UBIFS for root filesystem? Which would you recommend for UP board?
  • Peter
    Peter New Member Posts: 7
    Just one more question... Does the eMMC on the UP board implement the Flash Translation Layer (FTL). Are eMMC devices on UP board visible to Linux as normal block devices or as raw flash devices (such as /dev/mtd0)?