Hi, I looked further into this.
I connected a serial to USB device and was able to analyse the console output. With this I saw that the firmware update U-Boot 2024.01 from 7 january was flashed successfully. Probably something is wrong with U-Boot detecting the HDMI Display.
Summary
- Flash SD or Flash USB with Firmware of U-Boot version.
- Load SD Card or USB Stick into SBC
- Power up
- SBC processes Firmware
Choice SD or Flash USB
My view:
The SBC handles the Firmware as if booting a OS, in this case a flash program. You have to take care that the SBC boots the SD/USB Firmware first.
- If you have the OS installed on a SD you only have to put it out and choose either SD or Flash USB for the Firmware update.
- If you have the OS installed on the EMMC than you must direct the boot order in boot.ini see Erase eMMC and start over? Or boot from SD Card? - #5 by goblynn93 use e.g. usb mmc1 mmc0
Note that the SBC will default boot the EMMC, SD before USB.
How to see the firmware version
- The version can be seen in the firmware. Finding the version in this application is not optimal.
hexdump -C u-boot.bin | less and search for 2024.01.
....
000e2050 8c 01 b5 83 03 0b 00 32 63 6c 6b 55 15 04 35 20 |.......2clkU..5 |
000e2060 00 9b 00 10 6c b9 27 03 67 0d 03 cb 21 b4 0d 7c |....l.'.g...!..||
000e2070 00 0d 2f 00 0d 2d 00 0d 5c 98 0b 03 17 c8 f0 05 |../..-..\.......|
000e2080 00 32 30 32 34 2e 30 31 2d 72 63 36 2b 00 30 31 |.2024.01-rc6+.01|
000e2090 2f 30 31 2f 13 00 13 00 01 a5 14 00 55 ce 90 6b |/01/........U..k|
...
-
After the firmware update the SBC shows the firmware version in the console when booting.
U-Boot 2024.01-rc6+ (Jan 07 2024 - 18:42:47 -0500) Libre Computer AML-A311D-CC -
The version can be seen in github setting the relevant branch 2024.01:
GitHub - libre-computer-project/libretech-u-boot at v2024.01/lc-aml-a311d-cc
This is still derived information, because you are not sure if the firmware file relates to this branch.
I would rename the firmware file adding the firmware file. -
During updating the Firmware the SBC does not show the version.
** Updating Firmware in SBC**
The console shows the following, I am not sure on which point it started:
SPIFC driver bound
SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB
SPI NOR found
20 bytes read in 1 ms (19.5 KiB/s)
Firmware checksum loaded
1031536 bytes read in 55 ms (17.9 MiB/s)
Firmware loaded
Checksum verified
device 0 offset 0x0, size 0xfbd70
0 bytes written, 1031536 bytes skipped in 0.226s, speed 4653272 B/s
Firmware updated
device 0 offset 0x0, size 0xfbd70
SF: 1031536 bytes @ 0x0 Read: OK
Firmware read
Firmware checksum match
Flash Completed
Hardware SPI/SD switch
For the hardware SPI/SD switch question, it seems to have no function or relation with the firmware. So I keep it in the position SD.