build for S905

  • This is a thread for new build that comes after a few weeks of (slow) development. Since it contains a new kernel that requires a bit more work to be installed I decided to create a new thread. Please read the whole post before rushing to updating/installing and testing! Work-in-progress build 006 (2016-08-20)


    • updated Amlogic kernel to 2016-07-01 with Mali r6p1 driver thanks to Codesnake
    • updated kernel = (unofficial) S905X support
    • CEC driver updates from Raybuntu
    • kernel modules updated to 2016-08-18 Amlogic release
    • revised Kodi patches for improved playback experience:

      • fixed 10-second delay bug (thanks to Koying)
      • disabled Hardware decoding of Hi10P videos
      • v17 backport: bumped software decoder threads number for better performance
      • v17 backport: fixed TextureManager memory leak
      • minor playback improvements from SPMC

    • updated DVB drivers from media_build package
    • different set of Kodi patches for resolution switching to fix 720p <=> 1080p transitions
    • rewritten installation procedure for internal memory to avoid "Unknown filesystem" errors
    • Realtek 8189FS driver is now included
    • Realtek 8723BS Bluetooth firmware is now included
    • added a possibility to boot from USB
    • disabled power management for Broadcom WiFi for better responsiveness
    • something I forgot?

    Known issues:

    • Suspend doesn't work and when it works, device doesn't wake up properly. Temporary solution: use poweroff. IR power button switches the box off due to this bug.
    • Temperature reading not available.
    • 4K output doesn't work properly due to patches that fix resolution switching. To troubleshoot this, I ask 4K TV owners to paste output of cat /sys/class/amhdmitx/amhdmitx0/disp_cap command. Please don't paste this for 1080p TVs.
    • Jerky playback of some 29.97fps videos and some Live TV channels (Amlogic HW decoder bug).
    • CEC might not work when your box has incomplatible u-boot or your TV is not that well supported by Amlogic low-level CEC driver.
    • Multichannel PCM audio doesn't work.
    • Lots of other things that I did not notice.

    Source code: GitHub - kszaq/LibreELEC.tv at
    Kernel source code: GitHub - kszaq/linux at e1b40e416504263eb53a0bad35b422a046d29b6e

    How to install:
    CAUTION: Read the instructions carefully. Installation procedure has changed since last release!

    I strongly recommend trying running this release from SD card/USB drive before installing to internal memory!

    If you have WeTek Hub, you don't need to use toothpick method: update to latest Android version and make use of dual-boot feature!

    SD card/USB drive:
    Note: only 1 USB port is able to boot the box. You have to try them all.

    • Download img.gz file and burn it to SD card/USB drive: Installation - LibreELEC
    • After this you will see that drive capacity is 512MB. This is OK as there is a second (hidden) partition on the drive for LE userdata!
    • S905: Download a device tree for your box from device_trees, rename it to dtb.img and copy it to main folder of SD card/USB drive - replace the one that's already there.
      S905X: Delete dtb.img from main folder of the card/thumb drive. These devices should already have device tree compatible with the latest kernel.
    • To boot the system for the first time you have to use one of the following:

      • toothpick method: disconnect the power supply, insert card/drive, use a toothpick to push reset button and connect the power while holding the button. Wait until LibreELEC logo appears and release the button.
      • recovery method: boot into Android, insert card/thumb drive and choose Reboot to recovery. Your box should boot into LibreELEC.

    • You have to do step 4 only once. You should repeat step 4 if booting from SD fails after Android reconfiguration/update. Don't worry, it won't delete your data.

    Internal memory (NAND/eMMC):

    • (This step is not needed when you have Android on internal memory) Download Android firmware for your box - you should get it from manufacturer or seller - and extract 2 files: recovery.img and dtb.img to your SD card.
    • Download zip file from LibreELEC release folder.
    • Unpack downloaded file to SD card/USB drive - you should now have 5 files on your card: aml_autoscript, factory_update_param.aml, a zip file with an update, dtb.img and recovery.img.
    • S905: Download a device tree for your box from device_trees, rename it to ledtb.img and copy it to main folder of SD card/USB drive.
      S905X: Extract dtb.img from factory Android update, rename it to ledtb.img and copy it to main folder of SD card.
    • Insert SD card to your box and use "toothpick" method to install it. Alternatively you can boot into Android Recovery and install it manually.

    CAUTION: To boot into recovery after installing LE to internal memory use this procedure:

    • prepare a clean, FAT32-formatted SD card or USB drive
    • copy recovery.img and dtb.img from your Android firmware to SD card (don't use dtb.img for LE!)
    • use "toothpick" method to boot from SD card/USB drive

    Updating SD card release:

    • Update as usual: download img.gz, copy it to Update folder and reboot.
    • Wait for reboot procedure to complete.
    • After you device reboots and stops on first logo, connect the card to your computer, download aml_autoscript from release folder and replace the one that you already have on your card.
    • Download device tree and copy it to card: follow step 3 from SD card installation procedure.
    • Use toothpick method to boot the box.

    Updating NAND release:
    Follow procedure for new install. Your data won't be affected.

    Edited once, last by kszaq ().

  • perfect upgraded my Beelink Mini MXIII NAND without issue. As expected recovery no longer works, will we need to update future NAND builds the same way or just a one time thing?

  • few things i noticed on minimxiii

    internal bluetooth still not working
    in system info cpu temp is no longer displayed.
    cant boot into recovery even with recovery.img and dtb.img on sd card using 'reboot recovery' over ssh

    Any ram management improvements with the new kernel?


    Turns out recovery does work on the Mini MXIII using toothpick. I cracked it open to see if it had a functional button and it does, its just the hole was tiny and a wooden toothpick was to big to reach the button. I took a small phlips screw driver and made the hole larger and can now reboot into recovery with the two files on SD.

    Thanks Kszaq

    Edited once, last by JonSnow ().

  • Hi kszaq

    upgrade> goes a bit tricky on my minimx-g 2GB/16GB

    Initially I dd-ed img to sdcard and all went fine !

    However, dvb kernel modules do not load as there seem to exist 2

    LibreELEC:~ # ls /lib/modules
    3.14.29 3.14.29-media_build

    So then I found the special upgrade instructions.

    Like replacing aml_autoscript and device_trees/gxbb_p200_minimx.dtb
    dtb.img on card. However, all this did not pass initial bear logo

    Note I have 2 sdcards so I can play safe. All previous was done on 2nd
    card (which was clone of previous one). So now I could try
    upgrade method on previous card by putting img.gz in .update.
    Such went well (decompressed and installed upgrade) and booted initial bear logo screen.
    Then I tried replacing aml_autoscript and device_trees/gxbb_p200_minimx.dtb
    dtb.img on card. However, all this did not pass initial bear logo
    screen either.

    So still I had 2nd card and replaced aml_autoscript and dtb.img with original ones.
    And now all is fine again, toothpick boot OK.

    BUT: still dvb kernel modules do not load. They are in 3.14.29-media_build

    LibreELEC:~ # modprobe dvb-usb-af9035
    modprobe: FATAL: Module dvb-usb-af9035 not found in directory /lib/modules/3.14.29

    So I am a bit confused about the upgrade procedure. Everything seems perfect, except:
    the media_build modules are not loaded.

    downgrade> (with backup restore) went fine, and dvb works as before.

    player : Mini MX-G p200_2G & Inphic Spot i7 PRO p212 & Khadas VIM2 q200
    monitor : iiyama ProLite E2283HS
    speaker : UE Boom 2
    dvb-t : PCTV microStick (79e)
    firmware : android | LE 64bit | balbes 3in1 | gentoo

    Edited once, last by Nofan Tasi ().

  • Which dtb file for mini m8s? I just tried the one for mini mxIII and the update went fine but my wired ethernet connection is no longer accessible. I see from libreelec config that it use ip which doesn't make sense. Wifi is working tough.

    Thanks for the build, I really appreciate your work, I'm sure you'll get there!

  • I tried install to sd card on Nexbox A95X (S905X chip) but got "SH: can't access tty job" error.

    I can't use tootpick method to boot to recovery because the box doesn't has recovery button inside AV hole. So I used random zip file put on sd card and choose update from update app. It seems to boot from sd card but only to show the error above.

    How can I fix this? Infact I really want to install to NAND but afraid of bricking it. And I don't know how can I get S905X's dtb.img file from factory Android update.

  • Can't help you since I don't have a s905x box.

    Sadly RAM still fills up quickly after using addons and browsing the library. Video playback is actually much better on this build, skipping chapters works now.

    Will keep my cron job active to reboot the box

    Edited once, last by JonSnow ().

  • Excellent work, as always and booting from USB too! Woohoo!

  • MiniMX SDcard update: not work, when i copy the img.gz to update folder, and restart, simple restart the device.
    Full install work.

    K1Plus SD card full install. (before i have sd card openelec from alex)
    Prepare sdcard, restart with toothpick , installed libreelec, after restart error: at libreelec splash screen couldnt mount flash/system
    The second method i cant recognize :"recovery method: boot into Android, insert card/thumb drive and choose Reboot to recovery. Your box should boot into LibreELEC."
    Where can i choose reboot to recovery?

    Edited once, last by envagyok ().

  • T95N-2G Mini M8s Pro. SD Fresh Install.
    Stuck on Android boot up logo.

    Toothpick method used.

    I supplied dtb.img for this box in device trees needed s905 post:

    Downloaded the device tree that was used for this box from below link.
    I hope this is the correct device tree ? Just trying to confirm.

    Fresh install replaced the device tree with the downloaded one.

    Running TWRP Recovery
    T95N-2G Mini M8s Pro
    Model : T95N-2G
    Kernel version: [email protected]#3
    Sat Jul 9 17:49:49 CST 2016
    Build LMY47V.20160709 test-keys

  • will we need to update future NAND builds the same way or just a one time thing?

    One time thing until there is a need to update device tree again.

    in system info cpu temp is no longer displayed.

    Unfortunately the latest thermal driver doesn't work with GPU driver and it wasn't available until 3 days ago. I thought it's better to not delay the build. Maybe I can fix this for a future build.

    Would dvb-t2/s2 works with tvheadend on KII PRO device?.

    No, I still don't have a driver for internal tuners that I can use and box manufacturer is "considering" my request for the driver.

    Yes, I did delete the dtb.img file and got the error.

    I'm afraid I can't help you either as I don't have any S905X box. Nexbox is also a bit pain to work with, unless someone PRs me a change there's not much I can do.

    You should use this one: gxbb_p200_2G_t95max.dtb

    I will upload appropriate device tree soon. I thought is was the same to T95N Max. Sorry, it was 3 A.M. :(

    The one you linked is for T95N with 1GB RAM and 100Mbps Ethernet.

    If you're using external DVB tuner, please re-download the build and update as usual (.img.gz to Update folder). I have fixed media_builds modules path.

    Edited once, last by kszaq ().

  • I tried install to sd card on Nexbox A95X (S905X chip) but got "SH: can't access tty job" error.

    Same for me with Mini M8s II
    tried with toothpick method and deleted dtb of course.

    anyone got it working with Mini M8s II ?