Jump to content

H96 Pro (S912) EMMC died can I boot from sdcard?


odin

Recommended Posts

Before I throw this device away I want to make sure I tried everything,

 

The emmc / storage is completely shot, I tried the USB_Burning_Tool to restore the firmware but quickly fails at formating step, I tried the sdcard Burn_Card_Maker which did succed in booting, but quickly fails when showing the Upgrading screen.

with nothing plugged in it doesn't show the amlogic logo or any hdmi signal, holding the reset button doesnt do anything either.

 

so my question is can I boot anything with the aml_sdc_burn.UBOOT, I flashed the armbian image and added the aml_sdc_burn.UBOOT to the boot header of the sdcard, but all I get it a black screen (but I do get a hdmi signal), perhaps I am doing something wrong or am just attempting the impossible?

 

Thanks.

Link to comment
Share on other sites

amlogic should boot automatically from sd card if there is no proper boot block on emmc ... but maybe first try to solder a serial console to your board to check if emmc is really dead - it could also be that the u-boot and boot blocks around it are simply corrupted ...

Link to comment
Share on other sites

ok I hooked a serial console up and this is just what it shows (standard startup)

1. Normal Boot (no hdmi signal, no logo, just blue light)

GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:800;NAND:82;SD:800;USB:8;LOOP:1;EMMC:800;NAND:82;SD:800;USB:8;LOOP:2;EMMC:800;NAND:82;SD:800;USB:8;LOOP:3;EMMC:800;NAND:82;SD:800;USB:8;LOOP:4;EMMC:800;NAND:82;SD:800;USB:8;LOOP:5;EMMC:800;NAND:82;SD:800;USB:8;LOOP:6;EMMC:800;NAND:82;SD:800;USB:8;LOOP:7;EMMC:800;NAND:82;SD:800;USB:8;LOOP:8;EMMC:800;NAND:82;SD:800;USB:8;LOOP:9;EMMC:800;NAND:82;SD:800;USB:8;LOOP:A;EMMC:800;NAND:82;SD:800;USB:8;LOOP:B;EMMC:800;NAND:82;SD:800;USB:8;LOOP:C;EMMC:800;NAND:82;SD:800;USB:8;LOOP:D;EMMC:800;NAND:82;SD:800;USB:8;LOOP:E;EMMC:800;NAND:82;SD:800;USB:8;LOOP:F;EMMC:800;NAND:82;SD:800;USB:8;LOOP:10;EMMC:800;NAND:82;SD:800;USB:8;GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:800;NAND:82;SD:800;USB:8;LOOP:1;EMMC:800;NAND:82;SD:800;USB:8;LOOP:2;EMMC:800;NAND:82;SD:800;USB:8;LOOP:3;EMMC:800;NAND:82;SD:800;USB:8;LOOP:4;

 

2. Armbian_20.09_Arm-64_bullseye_current_5.8.10_desktop.img (stock no uboot written to mbr)

(same as above)

 

 

3.

If I boot using the aml_sdc_burn.UBOOT I can get to a serial console where I can type help and it has a bunch of commands,

 

 

4. VIM U-Boot (2018)

if I use the uboot from here https://dl.khadas.com/Firmware/VIM2/U-boot/

I get this

 

Link to comment
Share on other sites

Your board is not broken, as you see it can still boot fine from sdcard even if your eMMC is gone.

 

Khadas VIM u-boot seems the most promising, but you need a proper u-boot for your board. I'm no expert in AMLogic, but once I dealt with S905 and producing a working u-boot requires some passages to produce the bl* files first and some AMLogic proprietary tools. Now I really don't remember, but you may take a look into the armbian sources for some important hints. Find a supported board with S912 and then look for .conf files into config/sources/.

 

Also, looking at the log #4 above, it seems the device tree is missing. Check that extlinux.conf contains a line starting with "FDT" and that it is pointing to the right device tree...

Link to comment
Share on other sites

as i'm currently working on mainline u-boot for amlogic tv boxes you might give this one a try: https://github.com/hexdump0815/u-boot-misc/releases/download/200926-01/boot-amlogic_gxm-aarch64-nexbox-a1.dd.gz (please gunzip it first) - you can write it with dd if=boot-amlogic_gxm-aarch64-nexbox-a1.dd of=/dev/your-sd-card bs=512 seek=1 skip=1 status=progress ... it is a bit special as it is using hdmi output and usb kbd input and disables the serial console (as otherwise it migth give noise on the cmdline) ... and it is untested (i have tested a similar u-boot in an a bit different context), but just give it a try and let me know if it works ... building an s912 mainline u-boot for a tv box is not trivial and might require a dump of the original u-boot of the target box - here are my loose notes for creating it: https://github.com/hexdump0815/u-boot-misc/blob/gxm-experiments/readme.gxl

 

best wishes - hexdump

Link to comment
Share on other sites

9 minutes ago, hexdump said:

as i'm currently working on mainline u-boot for amlogic tv boxes you might give this one a try: https://github.com/hexdump0815/u-boot-misc/releases/download/200926-01/boot-amlogic_gxm-aarch64-nexbox-a1.dd.gz (please gunzip it first) - you can write it with dd if=boot-amlogic_gxm-aarch64-nexbox-a1.dd of=/dev/your-sd-card bs=512 seek=1 skip=1 status=progress ... it is a bit special as it is using hdmi output and usb kbd input and disables the serial console (as otherwise it migth give noise on the cmdline) ... and it is untested (i have tested a similar u-boot in an a bit different context), but just give it a try and let me know if it works ... building an s912 mainline u-boot for a tv box is not trivial and might require a dump of the original u-boot of the target box - here are my loose notes for creating it: https://github.com/hexdump0815/u-boot-misc/blob/gxm-experiments/readme.gxl

 

best wishes - hexdump

 

Really u-boot can drive HDMI also for amlogic? Is it stable or just in testing phase? Only for S912 or for others too? Sorry for the train of questions, but that's cool! :)

 

Link to comment
Share on other sites

34 minutes ago, hexdump said:

as i'm currently working on mainline u-boot for amlogic tv boxes you might give this one a try: https://github.com/hexdump0815/u-boot-misc/releases/download/200926-01/boot-amlogic_gxm-aarch64-nexbox-a1.dd.gz (please gunzip it first) - you can write it with dd if=boot-amlogic_gxm-aarch64-nexbox-a1.dd of=/dev/your-sd-card bs=512 seek=1 skip=1 status=progress ... it is a bit special as it is using hdmi output and usb kbd input and disables the serial console (as otherwise it migth give noise on the cmdline) ... and it is untested (i have tested a similar u-boot in an a bit different context), but just give it a try and let me know if it works ... building an s912 mainline u-boot for a tv box is not trivial and might require a dump of the original u-boot of the target box - here are my loose notes for creating it: https://github.com/hexdump0815/u-boot-misc/blob/gxm-experiments/readme.gxl

 

best wishes - hexdump

 

thanks I tried it but no hdmi output, here is what the serial console log shows.

 

GXM:BL1:dc8b51:76f1a5;FEAT:ADFC318C:0;POC:3;RCY:0;EMMC:800;NAND:82;SD:0;READ:0;0.0;CHK:0;
no sdio debug board detected
TE: 1645927

BL2 Built : 19:41:49, Jun 20 2016.
gxl ge299011 - xiaobo.gu@droid05

set vdd cpu_a to 1120 mv
set vdd cpu_b to 1050 mv
set vddee to 1000 mv
Board ID = 1
CPU clk: 1200MHz
DDR3 chl: Rank0+1 @ 912MHz - PASS
DQS-corr enabled
DDR scramble enabled
Rank0: 1024MB(auto)-2T-13
Rank1: 1024MB(auto)-2T-13
DataBus test pass!
AddrBus test pass!
Load fip header from SD, src: 0x0000c200, des: 0x01400000, size: 0x00004000
New fip structure!
Load bl30 from SD, src: 0x00010200, des: 0x01100000, size: 0x0000d600
Load bl31 from SD, src: 0x00020200, des: 0x10100000, size: 0x00014400
Load bl33 from SD, src: 0x00038200, des: 0x01000000, size: 0x000a5800
NOTICE:  BL3-1: v1.0(debug):c813a61
NOTICE:  BL3-1: Built : 14:39:44, Jun 16 2016
aml log : bl31 normal boot !
[Image: gxl_v1.1.3138-fca9764 2016-08-04 16:15:33 yun.cai@droid06]
OPS=0x82
8 f5 a3 df 44 d 5e 26 5 2a 37 9a [2.029700 Inits done]
secure task start!
high task start!
low task start!
INFO:    BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address = 0x1000000
INFO:    BL3-1: Next image spsr = 0x3c9

 

Link to comment
Share on other sites

@jock - i think so far i asked you way more questions already than you me, so that is no problem at all :)

 

i have it working quite well for s905 (gxbb) and s905x/w/l (gxl) with the mentioned limitation that i had to disable the serial console to make it reliable (otherwise it was sometimes hanging in the boot prompt if the serial console was not connected) ... i think @balbes150 is partially using it chainloaded as well for some of his images and it seems to work i guess ... just give it a try if you know what you are doing (which i think you know) and know the maskrom mode pin of your box worst case ... here are some for gxl:

https://github.com/hexdump0815/u-boot-misc/releases/download/200718-01/boot-amlogic_gxl_atf-aarch64-tx3-mini-l.dd.gz

https://github.com/hexdump0815/u-boot-misc/releases/download/200718-01/boot-amlogic_gxl_atf-aarch64-a95x-r2.dd.gz

https://github.com/hexdump0815/u-boot-misc/releases/download/200718-01/boot-amlogic_gxl_atf-aarch64-x96-mini-nand.dd.gz

the first two are s905w and the last is s905l (to be written like mentioned in the post above) ... those are for running them directly on sd card (erasing the emmc first) and they should work on emmc too (own risk - i tested it successful on two s905w boxes) ... or you can chainload them:

https://github.com/hexdump0815/u-boot-misc/releases/download/200718-01/gxl-u-boot.bin.gz

 

same for s905 (gxbb):

https://github.com/hexdump0815/u-boot-misc/releases/download/200718-01/boot-amlogic_gxb_atf-aarch64.dd.gz

or chainloaded:

https://github.com/hexdump0815/u-boot-misc/releases/download/200718-01/gxb-u-boot.bin.gz

gxbb is a bit tricky to impossible to write to emmc as it does not keep the first sector free on emmc (on sd card it does) - maybe its doable somehow and maybe using /dev/mmcblkXboot0 or boot1 might be an option? (not tested yet)

 

currently i'm working on the same level of support for sm1 (s905x3 - partially working), g12a (s905x2 - not yet working), s912 (should work but only minimally tested) and maybe g12b (s922x/a311d)

 

best wishes - hexdump

Link to comment
Share on other sites

4 hours ago, hexdump said:

@odin - maybe the hdmi part is not yet working well enough on s912 - i'll build a non hdmi version for you during the next days ... serial log looks good, from that point on the serial console is disabled, so nothing more to see ...

 

thanks, it will be interesting if we can get this to boot :)

 

Edit: I tried the vim2 uboot + the VIM2_Ubuntu-gnome-focal_Linux-5.7-rc7_arm64_SD-USB_V0.9-20200530.7z and the system did boot, besides for being somewhat slow, I have a wierd ghosting effect for the mouse cursor and somehow need to get wifi working, I would rather run armbian though..... but at least I got something booted 

 

Edit2:

Ok somehow ( i dont know how), armbian started booting using the vim2 uboot , however I cannot get hdmi audio working and also the in-built wifi is not working (I think it has a QCA9377 / 8223A) (I could get a wifi dongle to work but I would rather use its internal wifi )

 

I used the VIM2 uboot and this image Armbian_20.09_Arm-64_bullseye_current_5.9.0-rc6_desktop.img

 

anyideas would be great.

Link to comment
Share on other sites

As has been said in other threads, the coreelec boot system and balbes150's are incompatible.  After installing coreelec it is recommended to reinstall an android firmware to get the system back to a state that armbian will work again.

Link to comment
Share on other sites

  • Werner locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines