Jump to content

Recommended Posts

Posted

Hi there, I also bought one (V1.5) and tried to use armbian. Unfortunately, I managed to brick it. I booted your image @johlnx from sd, that worked. Then I overwrote the internal EMMC with your image and the box won't boot anymore. Any idea how I can fix it? I made an backup of the original image, but I also read that it may be incomplete because of read protection in uboot of the emmc? I also tried to get into MaskMode by pressing the button and connecting the USB 2.0 to my Windows-PC but no device is discovered. I attached the serial uboot log. Hope somebody has a suggestion how i can boot something again. Thanks

boot_with_armbian_sd_insert.log boot_without_sd_insert.log

Posted (edited)

@shexplorer
 

I did something similar to a tv box i had around, not this model.

 

Generally, the cpu comes with some sort of uboot. Written in firmware not emmc. The catch is that that uboot usually writes its persistent environment on the eMMC. And most of the time its not even a file on a partition, like in (and this is an example) between bytes 2000 to 8000 of the mmc. This uboot is only visible via serial console. no hdmi output. (and its quite old)

 

This uboot then attempts to chainload the mmc or usb uboot. And its at this phase you get image.

So on my setup, i had CPU uboot but no environment (because i smashed it with my armbian image...), and that environment was needed to boot both mmc or usb.

 

Using a serial port (and pressing control +c ) i was able to instruct uboot it to boot armbian on the usb drive. And i mean manually with command like fatload 0x1000000 usb0.1 linux.img.

 

But every time i reloaded would go back to the endless loop.


So the next step was to find a stock image of my device and dump it into the emmc, via usb booted linux. (i actually only copied like the 1st 10MB, only needed uboot env, not the chinese android)

 

Please know that this is not the image you download from any manufacturer website, those are snap-in upgrades that only change part of the emmc, you need a image that someone extracted with dd command from the entire mmc.

 

 

After that i swore to never touch that emmc again...

Maybe this is your problem too
Get a serial connected to your device and check if you can see the cpu level uboot.

If it is the same issue, maybe someone here can give you the 1st 10MB of their device, if you create a new thread asking for it.

Edited to place the "e" on emmc. tnx johlnx for the fix

Edited by Joao Cordeiro
Posted (edited)

@shexplorer, connect it to the internal serial port using a USB-to-serial adapter. If you don’t have one, they’re very cheap—search for CH340G on Amazon.
 

Quick safety guide on serial adapters:
1 - Your device has 3.3v serial , check the jumper on the CH340G to make sure its on 3.3v and not 5v
2 - DO NOT CONNECT VCC/3.3v/5v Pin!!! 
	Only connect:
		ground 
		RX 
		TX
3 - Connect ground from to ground from device
	Connect RX from usb to TX from device
	Connect TX from usb to RX from device



Let us know if you are having issues with the bound rate or the pinout on your serial header in your device (send us a picture, in that case)

Once you get serial, you should see the boot looping endlessly, holding control + c should stop the loop.

Then you get an uboot console.
there you can chainload your usb or external mmc uboot.

With something similar to(ask chatgpt to help you in case of issues):
 

usb start      # starts usb devices
usb tree       # lists devices and partitions
usb info       # shows USB device info
ls usb 0:1 /   # lists files on partition 1 of usb 0

fatload usb 0:1 0x82000000 u-boot.bin 
# 0x82000000 is an example that may work. if it does not, ask chatgpt for other values
# u-boot.bin is the usb uboot you want to chanload, might have another name.... ls usb 0:1 will help you find other files
#
go 0x82000000 # chainloads what you loaded into 0x82000000 memory address. if you change this on the previous line, change it here also.

 

 

Besides trying to chainload uboot, you can also load linux kernel + initrd + dbt files directly. Again, chatgpt will help you with those commands. But i found chainloading usb uboot easier.

 

It you reach linux console, remember that once you reboot, everything will loop again. So you need to fix what you did to the emmc before rebooting.

You have 3 options to fix:


1 - Restore your full backup. -> you get manufactorer android back


2 - Restore 10MB of your backup or johlnx's backup -> you should be able to boot again from usb or external mmc


3 - You can calculate exacly what you need to copy, to maintain your emmc linux but also recover uboot.

There should be some space between the partition table data and the 1st partition.
Lets imagine, GPT uses 1MB and 1st partition starts at 10MB, you can copy the data between 1MB and 10MB from your backup into the space between 1MB and 10MB of your EMMC. (this is not trivial to do, but again chatgpt can help)
This way, you still have a linux on the EMMC, but you have recovered the Uboot env.

Edited by Joao Cordeiro
Posted

Hi,

first of all thank you for your support. Unfortunately, I could not get it to work. I just don't want to boot anything I store on the SD card. Also, the CTRL+C method won't work. I have to reset the board manually after every try and when powering on while holding CTRL+C the only thing I see in the console is "SPL Hotkey: ctrl+c" as additional line. Maybe the only option is to get into Mask Mode and flash the emmc over USB. But the onboard button won't work to enable it at boot. Maybe I can short some pads but without labeling I dont know which. I attached some output logs and photos of the board.

X88Pro13_Front (2).jpg

X88Pro13_Back (2).jpg

boot_with_armbian_sd_insert.log boot_with_ctrl_c.txt boot_without_sd_insert.log

Posted (edited)

@shexplorer 

Control +c should have worked after:
 

U-Boot SPL board init
U-Boot SPL 2017.09_armbian-2017.09-S93fe-Pe5fd-Hbdb5-Va5b2-Bbf55-R448a (Nov 06 2025 - 16:35:49)
SPL Hotkey: ctrl+c


Make sure that USB TX is well connected to RX and try to spam it. Or use another terminal emulator, like putty instead of screen on a bash terminal. Maybe control is being intercepted.

Edited by Joao Cordeiro

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines