Skip to content

UNT400G with Foresee FEMDNN008G eMMC - DTB fix required #3432

@itdoginfo

Description

@itdoginfo

This is a UNT400G unit with a Foresee FEMDNN008G-08A391 eMMC chip, which requires a modified DTB to detect the eMMC.
Image

The base DTB meson-gxl-s905l3b-m302a.dtb works for everything else on this device (ethernet, etc.).

Image
Image

Without the DTB fix, armbian-install fails:

[ ERROR ] Internal eMMC storage was't found in this device!

DTB changes

In the mmc@74000 (sd_emmc_c) node, the following properties are incompatible with the Foresee FEMDNN008G eMMC:

  • max-frequency = <0xbebc200> (200 MHz) - too high for this chip

Fix in meson-gxl-s905l3b-m302a.dtb, node mmc@74000:

  • Change max-frequency from <0xbebc200> (200 MHz) to <0x17d7840> (25 MHz)

Flashing instructions

  1. Install Amlogic USB Burning Tool (v2.2.4 was used).

  2. Download the Android firmware for this device. A build with ADB enabled was used. Here is the link - suggest adding it to "tools". As far as can be told, it is universal for UNT400G.

https://www.swisstransfer.com/d/b8af76d9-bf35-4561-8d91-d34bbcd03f4b

  1. Load the firmware into USB Burning Tool. Connect the device via USB Type-A to Type-A cable, plug in an HDMI plug and connect the power supply. Flashing failed repeatedly until the power adapter was connected - other guides say not to connect it, but that did not work here.

  2. Press Start and wait for 100%. Then disconnect power and remove all cables. Connect to a monitor via HDMI and plug in a mouse or use the remote. Also connect it to the local network.

  3. Prepare a USB flash drive. Booting from an SDXC card did not work - use something old, like a basic USB 2.0 stick. Write the amlogic_s905l3_cm211 Armbian image from releases.

  4. Since the goal is to install the system onto eMMC, the DTB file meson-gxl-s905l3b-m302a.dtb needs to be replaced. Take it from the attached archive and copy it to the boot partition on the USB drive.
    UNT400G-Foresee-dtb.zip

Example for Linux:

cp meson-gxl-s905l3b-m302a.dtb /run/media/USER/BOOT/dtb/amlogic/meson-gxl-s905l3b-m302a.dtb

The USB drive is ready. Plug into the UNT400G.

  1. Go back to Android and enable ADB. Then trigger boot from USB over the network: adb connect IP-ADDRESS - adb shell - reboot update

  2. The system should boot. Connect via SSH.

If network connection is not available, use UART. HDMI is not supported on this SoC.

Image

  1. Complete the initial setup.

  2. Install the system to eMMC. Verify that eMMC is detected with lsblk:

root@armbian:~# lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda            8:0    1  14.9G  0 disk
├─sda1         8:1    1   511M  0 part /boot
└─sda2         8:2    1  14.4G  0 part /var/log.hdd
                                       /
mmcblk2      179:0    0   7.2G  0 disk
├─mmcblk2p1  179:1    0   511M  0 part
└─mmcblk2p2  179:2    0   6.6G  0 part
mmcblk2boot0 179:32   0     4M  1 disk
mmcblk2boot1 179:64   0     4M  1 disk
zram0        254:0    0 393.8M  0 disk [SWAP]
zram1        254:1    0    50M  0 disk /var/log
zram2        254:2    0     0B  0 disk

mmcblk2 is the eMMC - it is detected, which means the DTB fix is working.

  1. Run armbian-install -l y and select:
125   s905l3     UNT402A                                       meson-gxl-s905l3b-m302a.dtb

This is the correct DTB. Choose the filesystem and wait for the copy to finish.

  1. Shut down with poweroff.

  2. Remove the USB drive and start the device. No need to unplug the power - just use the button on the front.

  3. Connect over the SSH:

root@armbian:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            259M     0  259M   0% /dev
tmpfs            79M  2.5M   77M   4% /run
/dev/mmcblk2p2  6.5G  1.7G  4.8G  26% /
tmpfs           394M     0  394M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.0M     0  1.0M   0% /run/credentials/systemd-resolved.service
tmpfs           394M  4.0K  394M   1% /tmp
/dev/mmcblk2p1  510M  152M  359M  30% /boot

Congratulations - a cheap personal server running a fresh kernel.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions