Jump to content

H96 Max dead - Can I revive it ?


Povl H. Pedersen

Recommended Posts

I have a dead H96 Max, S905x3, 4GB/128GB. After an apt upgrade and reboot it never came to life. I use the Single Image, boot from eMMC.

WIll not boot recovery either (pin in audio slot pressing the buttin). Red LED is on. fter 5s or so TV stops saying no signal and goes to an almost dark screen that becomes black.

Also tried with SD card, with and without recovery button.  Guess a hardware issue ?

Will I get anything usable from soldering a serial port connection ?

 

eMMC is marked SDINAFF4-128G, made in Taiwan, so possible a Sandisk quality component. But they etched the brand name away.

 

Most annoying is that I lost all the data, was using it as a generic Linux box.

Link to comment
Share on other sites

15 minutes ago, Povl H. Pedersen said:

reading /dtb/amlogic/meson-sm1-H96max-X3.dtb

** Unable to read file /dtb/amlogic/meson-sm1-H96max-X3.dtb **

Homemade DTB files are not supported when updating.

Link to comment
Share on other sites

1 hour ago, Povl H. Pedersen said:

reading /dtb/amlogic/meson-sm1-H96max-X3.dtb ** Unable to read file /dtb/amlogic/meson-sm1-H96max-X3.dtb **

The kernel deb upgrade does the following:  it renames /boot/dtb to /boot/dtb.old and then installed the new set of dtbs in /boot/dtb.  Since you are using a custom dtb file, that file is now located in /boot/dtb.old and thus can't be found upon boot.

The good news is that the box is trying to boot, it just can't find the dtb file in the location you specified.

You should be able to create a new sd card image and boot from that.  Then while running from the sd card, mount the emmc partition containing your emmc boot directory.  Move the custom dtb file from dtb.old into the boot directory (so this doesn't happen again) and then edit the uEnv.txt on the emmc boot to reference the new location of your custom dtb file.  After you fix that up, unmount the emmc boot directory, shutdown, pop-out the sd card and boot from emmc and you should be back working again.

Link to comment
Share on other sites

Booted, made backup, tried to to fresh install. Always booted with SD = / and /boot

Made things worse, recovered and installed with the s905 script. Seems now things are wrong.  Can't find DTB.

 

Any idea how to recover now ? Still boots u-boot and loads a file from sdcard

And seems I can interrupt u-boot process and go interactive.

 

I do have another equivalent box, still new-in-box, so I have a eMMC image backuup there. Also a snapshot = TWRP backup

Spoiler

 

 

Link to comment
Share on other sites

I can do usb start, fatls etc - So how do I get on from here, assuming the dtb is bad ?  (aml-storage etc not found).

Possible some fatload and booti (boot Linux image) ? 

 

I have loaded dtb, and fdt print works. Bot I do not know which addresses and parameters to use for everything.

fatload the uInitrd to 0x20000000 and booti 0x20000000 fails.

g12a_u215_v1#booti 0x20000000
libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND
[rsvmem] fdt get prop fail.
Bad Linux ARM64 Image magic!

I am completely new to u-boot, so need a little more help / pointers in the right direction

Link to comment
Share on other sites

25 minutes ago, Povl H. Pedersen said:

I am completely new to u-boot, so need a little more help / pointers in the right direction

Write an Armbian image to a USB flash drive. To configure DTB. Show the full UART log of the system startup process from the USB media.

Link to comment
Share on other sites

Here it is.

Now I am also getting intrigued and want to learn a bit more about u-boot. I assume the addresses to use comes from the hardware docs ?

I have included printenv as well below. Also has some addresses. 

 

I can not write the dtb. Partition table error.  So I likely need to know what commands to use to boot from the USB, and then when booted, use the install script to repartion eMMC.

 

I can read files into memory with fatload etc. And use that to read a device tree and set ftd address as seen far below

 

Spoiler

 

 

 

And the printenv 

 

Spoiler

 

 

 

Store dtb fails:

Spoiler

 

 

Link to comment
Share on other sites

11 minutes ago, Povl H. Pedersen said:

So I likely need to know what commands to use to boot from the USB, and then when booted, use the install script to repartion eMMC.

You don't need any commands. Your firmware is destroyed. You must perform a full recovery of the standard firmware. All your data in eMMC is already lost.

Link to comment
Share on other sites

8 minutes ago, Povl H. Pedersen said:

How to do that ? 

I assume fatload image (made with dd), and then write it to eMMC ? 

But how to I write it to eMMC ?

Can I boot the USB and use Linux to restore eMMC ?

If you didn't make a full copy of the ddbr utility before installing to eMMC, you can only use the USB Burn Tool and the Android firmware file from your manufacturer.

 

Link to comment
Share on other sites

4 hours ago, Povl H. Pedersen said:

How to do that ? 

I assume fatload image (made with dd), and then write it to eMMC ? 

But how to I write it to eMMC ?

Can I boot the USB and use Linux to restore eMMC ?

 

I would repeat what balbes150 said above.  For working with amlogic based boxes, I would highly recommend that you get familiar with the USB Burn tool.  I have unbricked many a box with this after experimenting with something that failed.  To use this tool you will need an original android firmware image for your box from the manufacturer.  Generally a quick google search will lead you to one.  Then for less severe problems having a backup of the emmc using the ddbr tool within armbian will give you an easy mechanism to restore your emmc as long as you can still boot armbian from usb/sd.  I have a set of android firmwares for all the amlogic boxes I own and periodically make ddbr backups when I have something on the emmc that I don't want to lose.

Link to comment
Share on other sites

USB Burn tool worked fine.  Read somewhere that I needed the cables, so had them in the bin with all my other recovery interfaces / cables.

Now, I have a feeling that I could have used fatload of the image from uboot, and then written to eMMC.  Had a little doubt if I should write the image at address 0 or 0x100 ?

 

Nobody tried this ? Should be pretty easy to copy eMMC with dd - to the USB, and then fatload / write it back from uBoot. At least in theory. I know for most people UART access is scary, but now I have my Dupont cables soldered on the pads.

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