Trying to recover MXIII G II S912 TV Box from what looks like corrupted/dead internal memory

Sorry I meant the stock S912 image, I mean without adding the uboot file.

Edit 1: Could you link me a guide on how to install CoreELEC to the internal memory?:slight_smile:

Edit 2: Do I only have to do “installtointernal” twice over ssh?

Edit 3: This is what I got when running “installtointernal” over ssh:

One of BOOT, SYTEM, DATA or DTB partitions is missing.
Make sure that you are using a correct device tree and a device with internal memory!

Before you ran installtointernal did the coreelec usb boot?

because it seems to me that you didn’t use the correct device tree

Download the S912 image, burn to usb, on the newly burnt usb, you will see a folder of device trees, choose the correct device tree, copy it to the root of the usb, then rename it to dtb.img

If it doesn’t boot, try another device tree, unless it boots, you won’t be able to installtointernal

I am using the “gxm_q200_2g.dtb” device tree.

The box, which name you can see in the title has 2GB of RAM and 1000 Mb/s Ethernet port.

https://www.gearbest.com/tv-box-mini-pc/pp_580669.html?wid=1433363

The SD I burnt with the S912 image only boots if I manually add the u-boot file.
However after I add the file it boots fine , Wi-Fi and everything seems to run just fine, so I don’t think I am using a wrong dtb.

Hi,
if you write uboot in to internal memory, the offset (first 0x200 bytes are always zeros) must be considered.

dd if=/dev/zero of=/dev/bootloader bs=4M count=1
dd if=/storage/bootloader.PARTITION of=/dev/bootloader bs=512 seek=1

You can also restore Android OS via OTA update by modifying aml_sdc_burn.ini as follows:

[common]
erase_bootloader    = 0
erase_flash         = 4
reboot              = 0

;package will filled by sdacard burning tool
[burn_ex]
package     = aml_upgrade_package.img
;media       =

Note: Never enable the “erase_bootloader” option on an OTA update.

1 Like

Did:
dd if=/dev/zero of=/dev/bootloader bs=4M count=1
And got:
1+0 records in
1+0 records out
4194304 bytes (4.0MB) copied, 0.015331 seconds, 260.9MB/s
Did:
dd if=/storage/bootloader.PARTITION of=/dev/bootloader bs=512 seek=1
And got:
1824+0 records in
1824+0 records out
933888 bytes (912.0KB) copied, 0.011547 seconds, 77.1MB/s

And it doesn’t want to boot the stock S912 image.

Could you be more precise about the OTA thing ,as I mentioned above I am very unfamiliar with this sort of stuff, the more in depth , the better.

I unfortunately have to go now but will come back tomorrow with updates if any.

After preparing SD Card with Burn_Card_Marker tool, replace aml_sdc_burn.ini which after burning in partition-1 (FAT …) of the SD card and execute the update.
aml_sdc_burn.ini (602 Bytes)

1 Like

I just tried writing uboot to internal memory again,but it still won’t boot with a stock S912 CoreELEC image.

Then I tried burning the “update_MXIII-GII_rv109” image to the card and modified the aml_sdc_burn.ini file,leaving the package line as is.
However I usually use wireless for internet on the box so it does not have an ethernet connection,I don’t know if I should connect it for this.
The thing I am doing in the .ini file seems just to force erase all which I have already tried,and got the android with a X sign(picture above).
Should I burn my image as I did now, should I burn no image(just the .ini and .uboot file) and connect to ethernet or should I burn aml_upgrade_package which I also happen to already have downloaded on my pc :slight_smile: ?

Hi,

  1. In order to be able to boot CE-OS from the external storage (SDcard, U-disk), the u-boot in burning mode must be set -> execute the following commands e.g in the Android terminal.

Reboot to u-boot burning mode:

reboot usb_burner_reboot

or

reboot update

otherwise CE-OS will not boot.

  1. Please follow the instructions linked by @anon88919003. After burning, just replace aml_sdc_burn.ini file and perform OTA update. If the OTA update fails at 2-5%, it means that the emmc driver could not be parsed (dtb partition is empty). To fix this, dtb partition must be written by hand over uboot interface (uart) or in the linux terminal.
  2. Network connection for updating is not required.

OK so let’s recap :

1.My box stopped booting at all while I was using android(It does not boot at all,I get no video signal, no recovery mode, no nothing).
2.It did boot some images from the SD card though(TWRP,Armbian)
3.CoreELEC didn’t boot from SD.
4.I added aml_sdc_burn.UBOOT to the SD and then it booted to CoreELEC(with dd).
5.I then tried to add recovery.PARTITION on the internal memory via ssh while running CoreELEC so I don’t always have to manually add aml_sdc_burn.UBOOT to each CoreELEC image I flash to the SD,but it still wouldn’t boot.
6.I also tried to run “installtointernal” over ssh while running CoreELEC on the SD card with the added uboot file and I got:

One of BOOT, SYTEM, DATA or DTB partitions is missing.
Make sure that you are using a correct device tree and a device with internal memory!

Mention1 : When it boots the box boots without pressing the AV port reset button.
Mention2: I tried burning the firmware image on the SD but it would fail around 5%.

How do I write the dtb partition?

to what? recovery?

And you said it then booted - to what?

Then it booted to CoreELEC.

Sorry if I caused confusion I edited the first reply.

You can read above exactly what I did, I burnt the S912 CoreELEC image then in linux added the uboot file with dd.

So this proves the box isn’t dead - that’s good news. So now you need to acquire the correct stock image and, once you do, you know you can restore the box - happy days! Get looking . . . :+1:

I do have an image which others have confirmed to work, but when I try to install it , it stops around 5% when I do it with Burn Card Maker and at 7%(formatting) when I do it with USB Burning Tool.

You can see the logs from USB Burning Tool above.

What image are you trying to burn - stock Android?

I tried with both “update_MXIII-GII_rv109.img”(MXIII GII S912 stock firmware) and “update_MXIII-GII_rv112.img”(a more recent version) You can find above links to both the box and the firmwares.

Maybe you should consider the fact that you might have faulty HW. If you have an image that you’re confident is for your box, try flashing just the boot / recovery partitions instead of the whole image. Then, maybe you can boot from SD / USB instead of internal?

I tought too that my internal memory is dead(as I wrote in the title) but @anon88919003 said it probably isn’t dead.
As I said in point 5 of the recap

I then tried to add recovery.PARTITION on the internal memory via ssh while running CoreELEC so I don’t always have to manually add aml_sdc_burn.UBOOT to each CoreELEC image I flash to the SD,but it still wouldn’t boot.

How is only flashing boot or recovery done?

I think what Adam was trying to tell you is that your box is not dead. You may well have faulty internal storage chip, where a part of it does no longer work, but, if enough works to get the boot process going, you can aim it at external media to run CE. When using USB Burning Tool, only select items to do with boot / recovery and see how you go

In USB Burning Tool I only select the “update_MXIII-GII_rv109.img” and then don’t have much configuration available only: Erase flash,Erase bootloader,Reset after succes and Whether overwrite key.

To do what you said I think I have to somehow modify the .img file or maybe I am overlooking something.