Version 9.2.0 or 9.0.3 not installing on Mecool M8S Pro L

Don’t you have a reset button on the box to use the toothpick method?

On that box there is no reset button (alas… if I knew it…). But “the internet” says that I can short circuit those 2 pins and that should be equivalent to the reset button.

Assuming I am incorrect, download image, using windows burn the image using rufus, this should open a window, showing the files on the sd card, from the device tree folder, copy the the correct dtb to the root.
Rename to dtb.img

No need for mounting, unless you are on linux.

Thanks, but I don’t have a Windows license I am afraid. I am on Linux and I am quite confident that what you describe is equivalent to what I have done.

The shorting of the pins is the “last resort” method and it should work.

As you say, there is no reset button. I installed an android app to reboot. sorry, can’t remember which one

Not sure what the purpose of that script is for but its unnecessarily long and confusing to those trying to help you here.

Just do

cp /media/$USER/COREELEC/device_trees/gxm_q201_3g.dtb /media/$USER/COREELEC/dtb.img

The rest is not needed.

Shorting off the pins basically grounds the eMMC and will not work because the SoC will then look for the bootloader on SD which doesn’t exist and so the device will not boot.

You can download the Android reboot app here and copy it to an SD or USB and install it with the app installer without connecting to the internet in Android.

If your still getting a black screen with the MeCool logo then you are selecting the wrong dtb for your device.

Can’t offer any further advice to this if the above fails without a UART log.

1 Like

Thanks @anon88919003 sorry about that confusing bash snippet. It does come from a longer script so I just copy/pasted the relevant bits.

I’ll try this APK although I would like to find out if there is a public repository for that Android App?
Does anyone know that developer Thomas van Tilburg in the CoreELEC / LibreELEC team?
He does not seem to be in the LibreELEC forum, I found some Github users but they don’t seem to be Android developers.

Also what’s a UART log? How can I get from the TV box? AFAIK I should use a dedicated hardware to collect/parse that kind of information (e.g. very old Arduino boards), but I am not entirely sure how to do it.

You can install Terminal, and run reboot update.

What’s wrong with official Google apk.
Btw, it needs root access to run…

:worried: it seems I have to login with a Google account into that Android default version from the TV Box to be able to install/use an APK e.g. a Terminal App. There is no way to run that Android without a Google account.

This starts looking like a nightmare because I just wanted to avoid all of this by using software like CoreELEC and open source tools like the Linux CLI (SSH etc.) and Kodi and avoid hardware to configure e.g. a Raspberry Pi with some sort of IR remote controller (and not sure maybe more hardware to completely replace a TV box).

So to summarise my options - for a MeCool box (without a hardware factory reset button):

  • The short-circuit of the 2 pins at the bottom-right corner of the TV box is pointless because the TV box will boot again (reset?) with its default Android version (as the SD card with CoreELEC is somehow not completely bootable, not sure about the technical context here)
  • The recovery mode (hitting the menu button of the remote controller for a few minutes) seems to work intermittently and AFAIK, even if it works, then the boot options in there don’t allow to boot from the SD card containing CoreELEC (right?)
  • The default Android version of the TV box could potentially allow to run the command reboot update via a Terminal-like App/APK, but I need to provide a Google/Gmail account to just be able to log into that TV box and start installing new Android Apps. Also: does this always need root access to Android (and how to do this)? Or sometimes just a Terminal App would do with a command like reboot update?

Do I have any other option? Like:

  • Logging the UART signals: I think I found the (unexposed) UART pins on the board between the SD card slot and one of the USB slots. However these pins are not marked. I see a sqare pin which I believe is Ground GND, but then 3 unmarked round pins, which one is which between TX, RX and 3.3V? I should be able to get an FTDI USB thing to connect to UART, but then I am a bit lost, if only I could be pointed to the right direction e.g. documentation, tutorials, extra hardware to buy.
  • Or perhaps somehow add some “reset” button as a piece of hardware (looking at the board it seems there are some un-exposed pins that perhaps work but are not provided as an option on the box surface).

How did the people in here manage to run CoreELEC on a Mecool M8S Pro L TV Box? Did you do it only via a Google Account and a Terminal App or did you make it in another way?

Many thanks

You should have chosen a SBC like N2 or VIM3 (or previous generation like the other vims and C2). An Android TV box is always an Android TV box. If you’re so concerned that you don’t want to create a dummy Google account just to boot to CoreELEC than (I’m repeating here) you should have chosen a SBC.
BTW, it’s possible to skip (in the cases I came across) the account setting and download apk from the web, not Google play.

Uhm but these Odroid N2 or Khadas VIM3 seem single boards similar to a Raspberry Pi, so they dont come in a box and I guess I still have to deal with an IR controller and who knows what kind of extra hardware.

The reason for a TV box was that in there you have all you need like a plastic box and an IR remote controller. However looking at this forum or at those videos on Youtube from the MXQ Project I thought the reset button was provided in any box, but I found out the hard way it isn’t.

Is there an equivalent TV Box that come with the reset button? I think this should be enough to reboot and start CoreELEC from the SD card, right?

You don´t need any google account.
Download Reboot to LibreELEC APK from other source in the WWW or try an android terminal emulator.

You are working on Linux - good conditions

Best choice should be the ODROID-N2 CoreELEC Edition!
Easy to use

Download Reboot to Libreelec from apkmirror or just use short cabel to do short circuit like on my photo: https://kodiwpigulce.pl/wp-content/uploads/2018/03/Screenshot_12.jpg

Oh nice! How do I install / enable / execute that APK? Is this some SSH into the TV Box (which username/password, assuming I find the IP address from the router settings)?

AFAIK when booting the default Android I can not see the main desktop unless I start setting stuff like the language, timezone, Google account etc. I can not find a way to avoid this?

OK so I was able to install and execute the Reboot to LibreELEC 1.1 APK Android App using the adb command (https://apkplz.net/app/me.thomastv.rebootupdate procedure below here) without logging in-to the Android OS with a Google account.

However now the TV Box is stuck again on that black screen with the MeCool word and now it has a red light. Is this due to the SD card containing the renamed gxm_q201_3g.dtb? I think that’s the right DTB (as per documentation), but maybe I should use another DTB?

Check the IP address of the Android TV from the router configuration webpage e.g. 192.168.0.XXX

# Connect to the Android TV (default on port 5555)
adb connect 192.168.0.XXX
# Check the list of devices (it should say something about being "unauthorized")
adb devices -l
# You should now see on the TV screen a popup window asking if you want to enable the debug mode, hit "YES" with your remote controller
# Check again the list of devices (now saying something like "device product:q20x model:M8S_PRO_L device:M8S_PRO_L_4335 transport_id:2")
adb devices -l
# Install the APK (that below is the filename in the current directory)
adb install me.thomastv.rebootupdate_11_apkplz.net.apk
# Check the Java package name of the App (pkg, or pkn) from the logs
adb logcat | grep thomastv
# Run the App 
adb shell monkey -p me.thomastv.rebootupdate  -c android.intent.category.LAUNCHER 1
# Hit the "OK" button of the remote controller when asked from the screen to reboot

It turned out I was using a bad quality unbranded SD card.

This means the file I was copy pasting

  • from /media/$USERNAME/COREELEC/device_trees/gxm_q201_3g.dtb
  • to /media/$USERNAME/COREELEC/dtb.img

was corrupted (different md5sum).

I used a different SD card from a very popular brand and CoreELEC booted with no problems.

Also, for the record: no need to install the APK “Reboot to LibreELEC 1.1” from an unknow source.
Assuming you can connect to the TV box via the adb command (Android Debug Bridge), then you can run:

adb shell reboot update