X96S no longer boots CoreELEC

I have an X96S TV stick. It was all working quite happily with CoreELEC. I could get it to boot to SD with either the reset button or reboot update. I then used Amlogic Flasher to install a version of TWRP that I found. It worked just fine. I was able to backup everything to an SD card (I didn’t check the read-only box, but I did not write anything with TWRP).
After this, I am unable to get back into CoreELEC. Did I change my bootloader? Android seems to be working just fine. When I hold the reset or reboot update, the boot logo stays on the screen forever. Any ideas what I can do to fix or troubleshoot? I’d prefer not to crack the thing open, as it is not really designed for easy access :slight_smile:

Restore official Android image and start again is the usual step 1 in these kind of cock-ups. :smiley:

1 Like

No luck. I tracked down the stock image and applied it successfully through android recovery. It still has the same behavior. I’ll buy some new sd cards from Microcenter tomorrow and see if perhaps there is physical damage (although I have tried with several cards that seem to be healthy). Anything else I can check before disassembly?

I believe there’s nothing wrong with your microSD card, I experienced the same or similar problem with that TV stick.

I bought a X96S TV stick (2G/16G) some time ago and successfully booted CoreELEC, except WiFi (and BT) is not working. I reported it and said the WiFi module is AP6255 before but I was wrong. AP6255 is used only on the 4G/32G version. On the 2G/16G it is RTL8723BE.

I recently bought another X96S TV stick (4G/32G) but this time, no matter how hard I tried, I could not get it to boot CoreELEC, I checked the difference between the two TV sticks only found the 4G/32G (recently bought) is running Android Pie (9) while the 2G/16G (old one) runs Android Oreo (8). I think the manufacturer changed the bootloader and doesn’t allow dual boot anymore. I planned to downgrade the new TV stick back to Android Oreo. I am still wondering how to do it though. It could take me some time to figure it out.

As for the old TV stick (2G/16G), I also experience boot issues when I flash a new microSD card with the latest nighty build. It gave an error message and asked me to type EXIT. However, after I unplugged the power and power it back on again. it boots to CoreELEC. The only problem left is WiFi not working. Is driver for RTL8723BE included in the build?

1 Like

@lbernstone Is your TV stick a 2G/16G or 4G/32G version? The stock image you used, is it Android Pie (9) or Oreo (8.1)?

I have the 2G/16G version. I had to compile a kernel with the RTL8723BS driver, which worked well for wifi (https://github.com/lbernstone/EmuELEC). I got the bluetooth working for one fleeting, unreproducible instant :smile:. EmuELEC worked very well. Full speed on everything up through PS1, and some minor crackling in Flycast. Stays very cool even when playing the more intensive consoles.
My device is still running the Oreo 8.1 image. It is pretty useless to me as android, so if I can’t come up with another solution, I will crack it open and see if there are pins to get a UART console during the boot process.

Perhaps I should elaborate a little more on the steps/process on how I boot CoreELEC from microSD card on the X96S TV stick so that it is easier to figure what are the problems.

  1. Flash CoreELEC image to microSD card using rufus, copy the dtb file from \device_trees directory (in my case g12a_s905x2_2g.dtb) and rename it to dtb.img. Also copy the remote.conf file to the root directory.

  2. Prepare a zip file, in my case aml_autoscript, and put it in the same directory.

  3. Boot up Android and run UPDATE, Select the zip file stored in the microSD card (in my case aml_autoscript), Click UPDATE button.

  4. The TV stick will reboot and run that zip update file.

It was working some time ago with my 2G/16G X96S TV stick. Of course I could not remember which version of aml_autoscript file that I used at that time and I have no way to find it again.

The same process did not work on the X96S 4G/32G this time! The TV stick boots to recovery and gives the following messages:

Supported API: 3
charge_status 2, charged 1, status SUCCESS, capacity 100
Finding update package…
Opening update package…
Verifying update package…
E: footer is wrong
Update package verification took 0.0 s (result 1).
E: Signature verification failed
E: error: 21
Installation aborted.

I guess E: denotes the microSD card drive.

On top of the Android Recovery screen, it shows:
Amlogic/faraday/faraday
9/PPR1.180610.011/20190529

faraday should be to codename Amlogic gave to S905Y2.

I guess the new Android Recovery now validates the zip file or by any chance I used a zip file that passed the validation before about half year ago.

@lbernstone I knew very little about Lakka. I only know I could also run Lakka on my Odroid-C2.

If your TV stick is running Android Oreo instead of Android Pie, there is no point for me to roll back to Android Oreo. It is better for me to find the correct zip file to update the X96S to dual boot or boot from microSD card.

It is not the zip file that makes the difference. If the bootloader is able to boot from SD, it should find the uboot MBR, and boot it. It is because that fails that you end up in recovery and get an error. That is not the behavior I am seeing. It hangs forever on the post screen, as though it cannot boot the disk or the dtb is invalid.

Thanks for your advise. \May I ask where I could find the uboot MBR. It seems it is not included in the CoreELEC image.

@lbernstone After uncountable number of trial, I finally succeeded to boot CoreELEC on the X96S 4/32GB version! Both WiFi (2.4 and 5GHz) and BT are working and pretty stable. The way I did was kept holding the RESET button (for 8s) while powering-up the device.

I suspect there is some issues with the dtb file (g12a_s905x2_4g.dtb). First of all, USB does not work (as reported by someone in another thread). Also, it takes almost 20s for the 1st CoreELEC boot logo to appear. That’s the reason why I thought this method does not before. As a matter of fact, I tested with LibreELEC and make sure that the X96S support dual boot first. It took only a few seconds for the logo to show. Pity was LibreELEC that I tested went into kernel panic. Other than boot, everything else did not work. Compare with the 2/16GB version of X96S, CoreELEC logo shows after just a few seconds after power up.

@lbernstone I am not sure which dtb file you used that CoreELEC could not boot. Is it the faraday-2g.dtb you provided in another thread? I try your dtb file on my X96S 2/16G version to see if WiFi works with it, but it could not boot at all. Put my original microSD card (with dtb from /device_trees folder) back in, it boots to CoreELEC right away.

I am not sure which dtb file you used that CoreELEC could not boot. Is it the faraday-2g.dtb you provided in another thread?

Nope, it is the g12a_s905x2_2g.dtb that is located in the standard CoreELEC device_trees folder. It seems to perfectly match the hardware, other than it being the low power version.
I don’t have a 4GB (and don’t really need the extra memory for my use case), so I cant help you there, but if it boots, and gets to the OS, it should be possible to troubleshoot that problem if you want to get into some deep dtc work.

Have a good day.
Tell us how you managed to run CoreELEC on the 4/32 version of the X96S. What dtb file you used. Thank you very much.

I simply used this: g12a_s905x2_4g.dtb

My experience of X96S TV stick is described before. I hope you have a better luck than me.

Do you need to hold the Reset button every time you download?
Do you have a streaming problem in this case?

What did you mean by ‘every time you download’? I only press the RESET button once to boot up CoreELEC and whenever I left the microSD card in the stick, it boots CoreELEC. If I take the mSD out, it boots to Android.

I don’t using streaming, but for play back contents stored in my NAS (i.e. also access through WiFi) there is not problem.

Is there any way to fix not working usb? In my case, coreelec booted, but usb does not work. I was unable to check anything else, because there is no way to connect mouse/keyboard

Is there any way to fix not working usb? In my case, coreelec booted, but usb does not work. I was unable to check anything else, because there is no way to connect mouse/keyboard

1 Like

Hello I try the dbt file on my tvbox s96s and works great, thank you very much…