X96 mini Power Off not working

Hi, i cant power off my x96 mini (s905w/2Gb).

Tested on CoreELEC-Amlogic-ng.arm-9.2-nightly_20201129-Generic.img
with gxl_p281_2g.dtb

The screen turns black and the status LED stays blue but the box restarts after around 3 minutes.
Tested with shutdown from Kodi and shutdown now -h from ssh.

Any Ideas?

Hi, thanks for the Answer.

I’ve run the BL301.BIN Injection but the Problem is still the same.
Also with shutdown now -P the box still goes to black screen with blue light on for 3min and then reboots.

Output of the Injection:

X96mini:~ # inject_bl301
Starting bootloader blob BL301 injection tool…

This tool can be used to update the bootloader
blob BL301 of the vendor bootloader on the internal
eMMC. This bootloader blob BL301 is customized by
Team CoreELEC to support all wake-up features like
CEC, Wake-On-LAN, IR, and GPIO wake-up from
suspend or power off state!

Device serial number: 210ea50078a914dafaca842b77aba3d6
Using CPU type GXL (21): S805X, S805Y, S905X, S905D, S905W, S905L, S905M2
Using binary type because of CoreELEC DT-ID: Generic
Using /dev/bootloader as bootloader partition

Found a valid Amlogic v2 ToC header (0xC200)
Amlogic magic: AMLC
Old signature ToC: 2F7E9D0F6ABD7CCCCB50B20261AE988D5E07C79A8AAF42FE 4C1CEBA8CD13851C
Name: AA640001
Serial Number: 12345678
Flags: 0
Found BL30 blob image at: 0x10200 (0xD600)
Found BL31 blob image at: 0x20200 (0x2C600)
Amlogic magic: AMLC
Old signature bl30: 27C062A88EEC028033DEED929D92C841151D36E6A8BBAFB3 1A1556D23BAB5A86
Using bl301 blob: Generic_21_p241_p281_bl301.bin
Using bl30 blob: /gxl/bl30.bin
Use config.ini value: wol = 0x00
New signature bl30: 1F3417348569FBFA798706129C0FB46B196EAA7A1DC41FE9 60525E605F19EA26
BL301.bin needs to be updated on eMMC
Old signature bl31: D38725C7A44AB619008FDA66D7D7115DDA03C341BDE37987 7EE40E6A84C2AD38
BL31 time stamp: Built : 15:20:30, Feb 7 2018
Using bl31 blob: /gxl/bl31.img
New signature bl31: F4FA79E236346D4A8F2AC924842FE7EA9E92FF0FE931FB45 95EA9E1B50267AA8
BL31.img needs to be updated on eMMC

Please confirm to write the bootloader blob BL301 to
the internal eMMC! Please ensure to update first the device
to the last vendor firmware! And remember if the vendor
firmware get updated you have to do this step again as the
bootloader blob will be overwritten!

Continue? [y/n] y

Warning! GXL support is still experimental!
It is possible that the injection brick your device and it will not boot anymore !
It will be needed to short out the eMMC to recover the Amlogic device.
So there is no warranty by team CoreELEC if the injection will be successful or not!
Please confirm again to write the bootloader blob BL301 to
the internal eMMC on your GXL device!

Continue? [y/n] y

Make backup of vendor bootloader to: /flash/210ea50078a914dafaca842b77aba3d6_bl301.bin

New signature ToC header: 2F7E9D0F6ABD7CCCCB50B20261AE988D5E07C79A8AAF42FE4C1CEBA8CD13851C
Update of ToC header on eMMC is not needed

Finished update of BL3* blobs on internal eMMC!
Please reboot device now and enjoy the new CoreELEC wake-up features!

You can try systemctl poweroff.
If it still wake up an UART log is needed what the reason is.

Hi, i have exactly the same problem…
HW: X96 mini 2GB/16GB, purchased two days ago from amazon.de.
Older images (including stable ones) do not work, installed:
CoreELEC-Amlogic-ng.arm-9.2-nightly_20201129-Generic.img.gz / gxl_p281_2g.dtb as dtb.img
Remote is working now, using meson-ir and a modified alfawise_h96pp keymap from the repository.
Started inject_bl301, roughly the same output as above. Power off -> it goes into a kind of sleep mode (my monitor stays on: black screen but backlight is still on) and the box restarts after a while, same behaviour through remote, shutdown menu or “systemctl poweroff”.
I was trying gxl_p212_2g.dtb and gxl_p281_2g.dtb too, i saw no differencies between th two. Originally, under android:
cat /proc/device_tree/amlogic-dt-id shows:
gxl_p212_2g but the CoreElec downloadhelper states it should be gxl_p281_2g.dtb so i kept this one.
Any other hint i could try to get to a working “power off”?

1 Like

This behavior is caused by the auto_wakeup function in the new kernel and has to be analyzed carefully (probably timeout is written in the wrong address area…). For a temporary solution, try deactivating auto_wakeup in bl301

Hi, i’ve disabled the CEC-Wake-Up in the Coreelec GUI but the Problem is still the same.

@wallabie i’ve also installed Coreelec to internal and the box runs fine but still with the shutdown Problem.

Wait until the box resumed, open SSH connection and please post the output of:

dmesg | grep rtc

after self-restart:
CoreELEC:~ # dmesg |grep rtc
[ 1.152222@3] aml_vrtc rtc: rtc core: registered aml_vrtc as rtc0
[ 1.152403@3] input: aml_vkeypad as /devices/platform/rtc/input/input1
[ 1.918091@0] aml_vrtc rtc: setting system clock to 2017-01-01 00:00:05 UTC (1483228805)
CoreELEC:~ #

Hi, i see you are using p281_2g dtb, have you tried the p212_2g too?
Under the original android is the p212_2g installed…

How can i deactivate auto_wakeup in bl301 please?

212_2g boots only on white usb-port and 281_2g on black usb-Port :smiley:
But with both shutdown isn’t working :frowning:

U can deactivate the auto_wakeup in The Kodi/Coreelec Settings in the CoreELEC-> Hardware

The problem is the wake up reason is unkown.
Use first last nightly and disable CEC wakeup in ce settings at all.
Disable also WOL and try again.

With a UART log I can tell u the reason for the wakeup.

How can i make an uart log? Do i need some special hardware?
I dont know if that helps, but i tried “shutdown --reboot” , the box stays in that “zombie” status (black screen but the tv shows “1080P input signal”) and the box does not restart.

I used the same microSD slot for for both. Does anyone know wich is the right one for this box? (gxl_p281_2g.dtb or gxl_p212_2g.dtb) What are the differences?

in the Android Recovery Menu (long press reset without usb) mine shows p281 7.1.2/NHG4L/root.

i’ve flashed an old android image (20180512) with the usb burning tool but still get the same shutdown problem.

The NG Version of 9.2.5 stable works fine for me too btw but still the shutdown problem

Just comment out lines 231-239 and compile the u-boot. However, you also have to patch the u-boot for 2g RAM support and faulty reset button function on p281 boards.

Or ask @Portisch if he could test compile bl301 without auto_wakeup
1 Like

Some other user use this timer on GXL platform I guess.
On G12* platform it’s replaced by a RTC wakeup. I currently searching a bug about RTC wakeup after 1-5min for CE 10.0. When I found this maybe the timer issue can be solved to.

1 Like

First question: why buying a device with a obsolete SoC? No answer needed…

Here is a image where I deactivated the auto_wakeup in bl301 blob for p241/p281 only. So please boot with your current image and be sure bl301 is injected. Send the device to suspend - and it wake up?

If yes please update with this tar and try suspend again after update. The bl301 blob is automatic updated if it was injected before.


Thanks a lot, i will try the image later today.
To your second-not-to-be-answered question: beleive me, it was not an intention to buy one like this. I went trough all the hardware infos here, unfortunately all listed devices are older and not on the market anymore - you can get them eventually over ebay. I am happy enough to got one with S905W, as i read now there are some out with an other SoC than stated. The other thing is the naming of the boxes, there is no direct correlation between names and hardware… A broader hardware database would be helpful, until then: do not by an X96 mini like mine… Thanks