AML-S805X-AC La Frite How to Update Board UEFI BIOS Firmware

Download this file and flash it to an empty USB drive.

Plug it into La Frite and start the board to update the SPI firmware.

If you get the following error from the libretech-wiring-tool, it is due to old firmware:

OF: resolver: no symbols in root of device tree.
OF: resolver: overlay phandle fixup failed: -22
create_overlay: Failed to create overlay (err=-22)

Ok, moving the discussion here from this post:

So I updated the firmware following the instructions in that post, but then I lost hdmi output, meaning that when I connect the display and turn on the board I get a black screen, I do not even get the u-boot output, absolutely nothing.

I got a usb a to a cable and tried flashing it with pyamlboot following these instructions.

And again I got no hdmi output at all. So I looked up the code and noticed that all the firmware is coming from

Since the board was shipped with 2019.04 firmware, I tried all the 2019 versions starting from r5, again no hdmi, until I got to u-boot-2019-04-r1.bin. This is the only u-boot version that has hdmi working on my board.

Since all boards are supposed to ship with the latest firmware, is it possible that I just got a lemon?

This is probably not something to do with the board. What is the make and model of your monitor? Are you able to dump the EDID and upload it somewhere?

sudo find /sys | grep -i edid
sudo cp PATH_TO_EDID ~/edid

Not really, none of the images in boot and I don’t think I can do it from the UEFI shell (Ubuntu is the only one that starts booting but gets stuck in processing init). I’ll try some of the older ones in share.loverpi.

Have you checked your power supply to make sure it can deliver enough current? What’s the rating?

I am using this ups:

Rated at 5V 3A output, but I’ll check with a different power supply. I’ve also tried with these two displays and getting the same results:

The power supply should be good.

The first monitor uses a non-standard frequency. We do have the Waveshare 1920 x 480 one being look at in our labs which shows no video.

For the second one, do you have the 512MB or 1GB La Frite? The 512MB may not have enough RAM to handle a 4K framebuffer when it tries to enumerate and would fail to show any video output. The 1GB one should work but only in DMT mode at 30 FPS. It was designed to be a 1080P device so you may need to limit the output resolution to 1920 x 1080.

1 Like

This makes sense, I do have a 512MB board. Since I plan to use the waveshare lcd I think I might need to do some customization to u-boot since the hdmi out works on the 2019.04 version but sadly the newer images are unable to boot under that version.

That is a good reference point for us to test since it is working in 2019.04. We will investigate this issue and get back to you.

1 Like

Hello :wave: I’ve been looking at some ways to build a uboot binary to test on my end as well and have a question. Why is the spi dts in different from the aml-s805x dts in mainline linux?

Our u-boot is usually ahead of mainline by a few patches. They get integrated over time. However, some patches cannot go upstream.

It appears I am having the same issue as you. Did you ever find a solution?

Not yet sadly. There is this thread to follow up on this issue:

We have discovered a bug on the Linux side that we patched in recent kernels. However your problems are with u-boot right?

That is correct. This is a u-boot problem. I can boot into a OS but will only have graphics once the OS takes over.

how do you “flash” the above mentioned spiflash file? It’s not an img and my disk imager won’t recognize it. Thanks :slight_smile:

You can rename it to .img before flashing it. Windows and its tools are very sentimental to filenames.

1 Like

I tried to updated the firmware on my board which I got in August 2020. Unfortunately I got the following errors:

It seems that my firmware is too old for doing one of the current firmware updates.

As no image boots correctly on my board I appreciate a lot if I could get it revived with the current firmware.

Looks like that the firmware of my board has an old hash which does not support -v but when I connect the USB stick with the image on it to my Linux laptop, mount the file system, edit the boot.scr with hexedit, and overwrite the 2 occurences of -v with 2 spaces, then save, unmount, plug the USB stick into the board and boot, it errors:

It seems that the binary blob in the beginning of the file contains some checksum. How do I edit boot.scr correctly (or update its checksum)?

I succeeded with the firmware update, editing the -v out of the hash calls of boot.scr by overwriting each -v with 2 spaces using hexedit. To get a valid boot.scr again I followed the instructions of

Now the update worked, so the assumption that I had a too old hash without -v was correct.

Update: It actually works!! I can flash the Ubuntu 23.04 server images to my USB stick now and the board boots them!

1 Like