Having bought one of these X96 boxes last year I always wondered if or when there will be an update available.
With the thing running on Android 6.0.1 already I was not expecting monthly updates though.
Sadly the box always gives an error in regards to stack not being able to access the internet.
Turned out, at least for my box there is no real link it tries to access for the update, so it will always fail.

It also seems I am one of the lucky guy who already had a quite recent firmware installed - from July 2016.
Considering their release strategy and time stamping procedure the firmware was created sometime Feb- March 2016.
Everything worked fine except that some programs I installed caused crashes at times with no reason I could find.
Plus Kodi would often take forever and a bit more to get through the menus and start things.
The most annyoing part howver was that the remote did not provide the stop function.
All player buttons olny pause the video or skip it by 15seconds.
I decided it is time to search for some updates somewhere.....

Step 1: Why Update the Firmware?

If all works fine you should not!
It is always better to leave a well running system alone.

Sometimes Android like to bloat up from all the things we installed.
As with Windows everything leaves stuff behind even if uninstalled correctly.
Over time things can get slow or after some "tuning" certain parts not longer respond as the should.
With most of these boxes already rooted and open to all sorts of attack people even ruin their Android system by the use of tuning tools designed for smartphones....
And there are claims the some people got their box shipped with totally outdated firmware and no online update working.
For all this a backup of what you need and a fresh firmware install can solve a lot of problems and give you some speed back too.
Best reason is if you want to sell your box after extensive use and including quite a few personal things on it.
Nothing beast a fresh firmware when it comes to removing ALL your user data.
You can also try a wipe and factory reset from the recovery console if you don't want to flash a firmware.

Step 2: Finding Firmware....

With the S905 and S906 chipsets the good thing is that basically every box with the same amount of memory and same WiFi chip will be compatible for a firmware donation.
Big downside of this way is that you get a box branded for some other manufacturer and that the remote might not work at all.
No big deal if you prefer a WiFi mouse/keyboard kombo anyway.
And of course not every firmware comes in a format the X96 can use right away.
There are UBS burning tools to get these firmwares onto a box if you really need to though...
However, I wanted to get the original back in the hope to get a working remote or to find a way to turn the box on and off through the airmouse.

After some digging on the web I found the guys behind the X96 are actually nice enough to provide more or less regular updates for their boxes, even for the new model with dual WiFi and Bluetooth 4.0.
Only problem with these updates is that they come without any instructions and are located on a chinese file hosting and website service - pan.baidu.com.
I used the Google translator for several hours without finding any way to register an account at Baidu without the need for a china based landline or mobile number to activate it.
There is none, which means as a normal guy you can only download files of up to about 200mb, everything bigger gives you an error message telling you to use their downloader tool - which needs a registered login as well.
But at least the firmware was found :)
The actual download problem was solved with some script and browser plugin in conjunction with a download manager.
If you need the details on the how to then please check my Ible about this task.
All original firmware versions for the X96 boxes can be found on this Baidu account for download.

Found an easier and faster way to get firmwares for all sorts of S905 boxes.

Step 3: Identifying the Correct Firmware for Your X96

I assume you installed a download manager of your choosing and the browser extension and script.
In the Baidu account you see a normal folder structure as you would with any filemanager.
It is all a bit messy with folders, files and Rar archives wildly mixed here.
If you click on the chinese symbols above the listed dates you can sort it all by date, which makes finding the latest version soooo much easier.
You will now notice the folder names.
X96 is pretty obvious, same for the added (2+16) or (1+8) in the name - indicating the firmware for 2GB/16GB and 1GB/8GB boxes.
The latest dates is always the latest firmware.
The one with 6330 in the name is for the new model that has dual WiFi and BT4.0, available for the normal and 2G versions.
As I only have the standard 2/16 box I will focus only on that model but the procedure is the same for the others.
A double click on the folder symbol next to the name will open the files contained within.
Usually 3 or 4.
You need to download all of them! Don't just download the image for the firmware alone as it won't work.

Step 4: Installing the New Firmware

If you have not done so then now is the best time to consider a backup!!!!

For Kodi you can use backup tools provided by the community, just make sure to save or copy it on a SD/USB stick.
For the programs, games and other things you might have installed on your box the best option is one of the backup solutions from the playstore or to install them all fresh if you have your progress and details saved in the cloud anyway.
Sorry for the bad image quality bad my cam struggled to get any focus on the screen :(

Get a SD card that is formatted in FAT32 - no ETFS no NTFS please!
Copy all firmware files into the root of your SD card.
Place the SD card into the slot of your box - without the power cord in it please.
Turn the TV on and get a toothpick ;)
Inside the AV port is a tiny push button - you need to press it with the toothpick, hold it and plug the power in.
After 2-5 seconds you will see a X96 logo on the screen - now release the button and remove the toothpick.
The box is now in the correct mode to install the firmware without asking from the SD.
You will see a little Android on the screen and a progess bar showing you how long it might take.
Whatever you do - do not turn the power off at this stage or will have a useless brick!
In my case it was about 10 minutes to complete.
The box will reboot and as it struggles to deal with the SD and dongle for the airmouse it might hang on the X96 logo.
Wait a minute or two and if still stuck power off and remove both the SD and the dongle or whatever else you might have in the USB port.
Now the box will start as normal and get back to naked Android, meaning you have to setup your Wifi and accounts.
After that Kodi will work as before and needs to update some addons and also deactivate some that no longer work - damn bloatware...
You are ready to enjoy a new box now.
The firmware currently available is dated August 2016 but was only uploaded recently.

Step 5: Troubleshooting With the New Firmware

The first thing I noticed that sometimes the remote is already activate and sometimes it is not.
Very annyoing if you don't have a keyboard/mouse at hand to change the settings.
But as before the remote still fails to give me a stop button that does what it is supposed to.
I will try to play around with the config file for the remote to see if I can get that fixed somehow but if all works fine on your remote I might just have a dodgy one.

In some cases I noticed that the Google Play services crash right after the start.
If it happens once and after that every boot up is fine all is good.
In case it always crashes and the Playstore or your games fail to work install the firmware again.
I guess the installation does not fully delete the partitions before getting the new firmware on it.

The Kodi version is now slightly different and allows for easier downloads of the stuff you watch, but I won't get into details of this.
The usual addons are all there, same for the wallpaper and menu structure you are used to.
I strongly recommend to give Kodi enough time at the first start to update and discard all addons!
Failing to do so will cause problems later on, so don't say I did not warn you.
Some addons also mess up certain things in Kodi, so be carefull what you install on your own when it comes to wizards.
If in doubt and Kodi ends up badly you can always flash the firmwar again and start over :)

Step 6: Things Still to Do....

Firstly I want to get the remote working with all buttons as they should but as said mine might be dodgy so please report back if you have the same problem with the stop button.
Secondly I would like to homebrew the firmware to include a basic Bluetooth stack that would allow the use of a dongle.
Last but not least I would like a bloat free Kodi version included.
Don't get me wrong, it is quite nice to have a lot available but not so nice if 80% is of no interest at all or not even working in my region.
For this I am not sure if it is easier to do on a firmware level or by adding it thorugh the recover in the form of an additional firmware part to be installed.

The first with the remote seems to be doable one way or another for the rest I will need time, mostly for reading up on how to make your own firmware.

Step 7: Can I Use the X96 Firmware on My M8, A96 or Unbranded Box?

Yes and no.
No because I really don't have a clue about the actual hardware of your box.
Yes because all boxes with identical hardware and using the same update procedure should be compatible.
For you it means using a hardware info program from the playstore to check if memory, CPU, GPU and other hardware are the same as for the X96 firmware in question.
As most modded or geniune firmwares for these S905 boxes work fine on the X96 I don't see why it would be any different the other way around.
But as with the X96 you might have problems getting all functions of the remote working.
Mostly the power button is affected being lost or relocated to the 2 key on the remote.
If in doubt always keep a copy of your remote config file.
It is possible that some boxes ignore the files on the SD as they expect different filenames.
Here I can't help unless you find the correct filenames yourself.
Same story if the box only expects a ZIP file on the SD for the update.
The only sure way to overcome these issues is to use a USB flasher program and to convert the firmware files into a format the program can handle.
Like this you can literally install whatever you feel like but also risk ending up with a brick if the firmware is really incompatible.
Worst here would be to use a version that is only supposed to work with a different amount of RAM - like installing a 2/16GB version on a 1/8GB box...

If you do it then you do it at your own risk!
Don't come back to blame me if a firmware not designed for your box won't work!

Step 8: Are There Alternatives to What Is Available?

Sure, as with smartphones the modding community is quite active.
If your box has a common chipset and graphics card then chances are good someone cooked a firmware together already.
A good place to start is over at the XDADevelopers forum.
Then there are various forums dedicated to certain models out there.
If you type your chipset, e.g. S905 and some meaningful other words into a Google search you get something like this.
Right at the top some forum links and further down firmwares for various models out there.
Do some reading, get some ideas and the right programs in case you need to flash over USB instead of letting the box do the thing from the SD card.

Are those alternatives or even a firmware for a different box better than what you already have?
No clue, all depends on how all is working, especially those with 4K TV sets and Dolby systems connected often suffer from all sorts of problems in terms of perfect image and sound quality.
If your box is quite old in terms of firmware, let's say from 2015 then it does make sense to want try something new.
Same if certain things just never really work, noone wants to have the box shut down when the movie is just getting interesting LOL

Installing a custom firmware is risky, especially if your hardware is specifically listed to be compatible - often in a thread users test the firmware on their devices, so check there too ;)
If things go bad it usually means the box is unresponsive and installing the original or an otherwise working firmware will fix it.
But if you install something that simply can't work on your hardware you might end with a brick.
For a lot of boxes you can get custom recoveries - if you want to play with firmwares then please consider a custom recovery first!
The stock recovery is often limited and only allows for a factory reset or the installation of a firmware.
A proper wipe and clean or even fixing bootloader problems is only possible through a custom recovery, a flasher program or ADB, the last only helps if you really know what you are doing.

A question I was asked quite often is how to backup everything before installing a new firmware.
For Kodi you get addons to do just that, even into your cloud account.
For the rest all I can say is that it runs on Android and that the playstore offers enough backup solutions for all budgets.
If you need your progress for installed games, account settings or you special network and proxy configuration than please do use backups ;)

Step 9: Installing a Custom Firmware

I was able to find some useful tools that should allow easy backups and the installation of other firmwares.
Will do some tests over the next few days and share what here what I found out.
If any of it turns out positive I will share the files and links so everyone can benefit from it.

So far I was able to download a nice collection of tools.
I paid attention to make sure they can all work in Windows, so no cryptic Linux stuff involved :)
Of course some basics are still required like a working Java enviroment, Cygwin, DOS basic and so on.
But so far I have:
Working TWRP recovery
Working custom ROM
Working tool enviroment

Main problem is now to make a stable firmware from the last original without the bloat and instead some essential programs, plus the Kodi Krypton release as an alternative to the Jarvis version - but will have to do some more testing and find the right beta for this.
And then there is the little problem of putting all this into some readable form so other people can modify their X96 or other S905X based firmware the same way....

So let me know if you would just prefer a firmware to download and install or if you want to know all the essentials of making one - please use the comments instead of a PM.

Step 10: My X96 Firmware Mods....

After some time reading and digging through the WWW I found all the tools and info I needed to give ROM Cooking a try :)
Here is what came out of my kitchen so far:
(Please allow some time for the links to appear here as I still have to create suitable update packages and upload the files! And I am still writing on this, in case it appears incomplete ;) )

Although I tested everything on my box and only upload what really works, I can not know if your box is really a X96 2GB/16GB Wifi only - or some clone.
That means the first thing you have to do if the Recovery boots on your box is to make a backup!!

I am not responsible if you feel the need to try my firmwares and your box is bricked when done.
Everything you is at your own risk and by downloading the files you agree to accept this!
I only say it works on my X96 box with P212 firmware.

General how to:

If you do have a lot of Kodi stuff added or personalised I suggest to use the Kodi backup functions, available as an addon.
For additionally installed programs, account settings and so on please use the backup solotion of your choice.
All files are uploaded as a Rar archive.
Inside the Rar archive you will find what needs to be extracted to an empty SD card.
I suggest to use a fast one with at least 8GB so you have enough room for a few backups.
Once the SD card is ready and inside your box (powered off) you stick a toothpick into the AV port and press the little button inside, plug the power in and when you see the X96 Logo on the screen take the toothpick out.
Shortly after you see the TWRP Recovery screen and need to swipe to confirm you actually want to write onto your system.
This is why we need the keyboard/mouse combo - no TWRP possible just with the IR remote!
Again, the first thing you want to do now is to make a full backup of your box!
Select everything but Cache and let TWRP save your backup on the SD card you use for the installation.
Now go back to the main screen (the little button for back in the "status bar at the bottom").
Wipe all but the external SD card and USB through the Advanced Wipe function.
If you want to try to keep installed programs then see if it works by not wiping the data part, although I do not recommend it.
Time to install the ZIP file of your choice to install the new firmware.

Be patient!!!
The first boot of the new firmware will take quite some time.
The X96 logo will be on the screen and it seems that nothing happens and the box is bricked.
Don't fall for this as I did so in my first firmware attempts.
As all is deodexed and prepared for a quick transfer to the box the actual setup of everything happens during the first boot in the background.
In some cases the progress bar in TWRP stops to animate right after the firmware starts installing, if that happens for more than a few seconds shut down and reboot into recovery.
Without another wipe just install the ZIP of choice again and it should continue fine.
I have not figured out what this causes, same for the touchpad sometimes only working if the USB dongle is replugged.
Happens for about 1 in 15 installations, so you might never experience it anyway ;)

1. X96 with slimmed down Kodi addons and keyboard fix.
If you have these standard WiFi keyboard/touch mouse combos than the problem with the Enter key should be gone for good.
I included a fixed keyboard layout for the keyboards with the hardware ID 0e8f:2519.
There might be other ID's for example if you use an air mouse with keyboard.
If yours still won't work with this fix then please post your HID in the comments and I might include it with the next round of uploads.
In case it does work:
The ALTGR key will toggle the screen keyboard and make it go away too.
OK and ENTER will now do what they should without producing unwanted characters or the need to use the pad to click on the onscreen enter button.
Klick on this to download from Filefactory

2. X96 full Kodi and keyboard fix.
This is essentially what you get from your normal factory update just with the fixed keyboard.
Klick on this to download from filefactory

3. X96 naked - this will be the base firmware you should use for every addition that comes below.
Here we have the OTA update stripped from all apps that would be otherwise included except the pure Android stuff like Playstore and Gallery.
For all additions and mods this is the base firmware used.
I decided on going this route instead of making all mods inside the firmware to avoid complications and give the user more freedom of choice.
Since we need all folder structures created you have to boot and do the usual Android and Google account setup.
Do not try to start Kodi as this won't work and we don't want to cause trouble trying to start something that is not there!
Klick on this to download from Filefactory

1. X96 Naked Kodi Box
This Rom is for everyone who wants the box just to be used with Kodi anyway.
So after the initial setup you can boot directly into Kodi without any launcher or things like that.
For this Rom I removed all the bloatware and only left the system apps, so no Skype, Facebook, Youtube, Twitter and so on, nothing but Kodi.
The box will start and present you with a choice for the launcher.
XMBC is for Kodi
MBox is the standard launcher as you know it
I left the standard launcher so you can check and adjust all your personal settings and see what is left in terms of programs without getting too confused by the new interface.
Once you are done simply press the HOME button on the keyboar/remote to select Kodi as the default launcher.
You can either make it permanent or set it for once and be asked again at the next boot.
Kodi and the firmware is based on the last OTA update.
If you need any other addons please ask Google on where to find them.
How to:
Install X96 naked and set up if not done already.
Copy the addon ZIP file to the SD you used for the previous installation.
Boot into recovery and select the corresponding addon ZIP file for installation.
You can choose between Kodi 16 Jarvis and Kodi 17 Krypton.
Once the box rebooted you can select if you want to use the MBox Launcher or the XMBC Launcher for Kodi.
The selection can be for once or permanent, you choose.
Klick on this for Kodi 16 Jarvis
Klick on this for Kodi 17 Krypton

2. X96 All in

Here we have the choice of Mbox, Kodi (XMBC) or ADW as the launcher.
I highly recommend to try ADW ;)
On top of that there is also a dark theme for the ADW launcher and corresponding dark buttons for everything.
Additionally I added some programs that I use quite often and that you might find useful too.
For Kodi I added the full addon pack with all addons updated and nonfunctional ones removed.
If you want it just as a TV box you can set XMBC as the default launcher.
Android apps can be added to the favourites same way as the power menu, so add what you like ;)
The firmware flashing takes about 5 minutes after the MD5 check is over.
The first boot to the standard Mbox launcher takes about 3 minutes but from there you need to be patient while all the programs are installed.
All up expect to wait at least 10 minutes to be on the safe side here.
You will see how the shortcuts keep adding to the launcher screen....

4. X96 Krypton Power Pack
This is the same as above but with the latest Kodi Krypton release.
Not all addons for Kodi 16 are compatible, so you might miss a few here and there.
If in doubt install the latest Super Repo to get more addons.

<p>In the final stages now to get the updated Kodi addons integrated and to modify the kernel so it is fully unlocked and with support for SuperSU.<br>Also really struggling to make the UI show some pop up or message that the initial boot is finnished - thanks to Marshmallow installing all apps in the background while reporting instantly all updates are already finnished.<br>The kernel itself refuses to let me fully decode it by using some hash checks for certain parts that so far I have not figured out.<br>That means I can't unlock a custom bootanimation through the kernel or access the hidden partitions created during the first boot.<br>Same story for the encryption on certain partitions which, with the added problem name space speperation makes copying system files after the first boot a pain.<br>Unless every single file gets the correct permissions it simply won't work.<br>The kernel for the &quot;public&quot; version of the X96 is unbranded by all means but in return with a bootloader that can only be integrated correctly if the USB Burn Tool is used.<br>After that it is even more limited than our current bootloader as the integration of SuperSU at boot level fails due to hash checks of all system files during the initial boot.<br>Finding that out meant for now I will abandone the public version and stick to what I already know to handle.<br>I hope that I can upload a first beta today or tomorrow.<br>For everyone keeping up to date here:<br><br>The current state of my beta includes the following additional apps and modifications:<br>SuperSU replaced the simple Superuser app.<br>Full support for SuperSU at kernel level allowing full integration and automatic updates.<br>The filebrowser was replaced by the FX File browser, a much better browser with root support and things people will need when working on their Android system.<br>Mbox Launcher is still included but I added the XMBC Launcher for Kodi and the ADW Launcher for those doing more with their box.<br>For ADW there is also the Black and Blue Icon pack available - a good combo on a TV screen.<br>Of course the wireless keyboard and mouse problem is fixed, meaning pressing OK or Enter reall does that instead of producing unwated characters.<br>The on screen keyboard can be disabled with the ALTGR key - press twice.<br>F8 still starts Kodi whenever you want it.<br>CTRL+ALT+DELETE will perform an instant reset, so handle with care!<br>Modbro is updated same for the Kodi addons - still worth checking if updates are available as they sometimes come often.<br>Of course the power menu is added in all launchers and within the Kodi Favourites.<br>The IR button for this is hardcoded into the kernel which makes reading any key presses for power through an app a useless undertaking.<br>The key is not even routed through the normal IR remote function embeed in the Android system.<br>And since the USB ports are useless for the keyboard once the box is off....<br>I tried to activate the HDMI control functions for a host in the kernel.<br>But I don't have a TV that would support his, so feel free to check if your box with this mod will turn itself on when you switch the TV to the corresponding HDMI port.<br>All additional files required for the installation are stored on the system partition and deleted once the Kodi addons have been installed.<br>Apart from a massive boost in free system space for those loving a lot of games on their box it also allows me to provide two setups in one.<br>The only difference between the Naked Kodi Box and the Full Apps version is that I won't include anything apart from a file browser and the original Google pack for the Kodi one.<br>In case you don't even want Kodi but only a massive amount of free space in the system partition let me know in the comments and I will include a version with dummy files for the installation that resule in a naked box with just Google and a file browser.<br><br>Anyone here tried the already available versions and wants to share some first thoughts on it?<br></p>
<p>For some reason the editor messud up the links and they disappeared, sorry for that.<br>The first two are back online and the next will follow tonight.</p>
<p>Found a new image for the X96 on Baidu the other day.<br>Unbranded public version.<br>Meaning it contains the standard Amlogic S905x Bootscreen and the original Mbox boot animation.<br>The Kodi addon pack is also slimmed down a bit, from what I could gather at a first glimps mainly those addons that never updated and failed to work.<br>Only problem is that is an image file meant to be used with the USB Burn Tool to directly flash it all through a USB connection.<br>There is also a bigger Kodi pack available for different sales version of the X96.<br>An additional 25mb in the packed form of addons, some for asian languages.<br><br>I am now considering to convert just the system and data part of the unbranded rom.<br>The Kodi addon installation for the first boot I would like to modify too.<br>IMHO it is a total waste to leave this in the system partition only so it can be installed again after a factory reset.<br>Since we do have a working recovery now we can make direct backups of everything and won't need to modify our Kodi again or update an endless list of addons and scripts.<br>For Kodi that would mean moving the archive containing the addons to the internal SD so it can be deleted without problems.<br>Only drawback here is that after a factory reset this archive would be lost.<br><br>Last problem I am still facing is to create a working, modded firmware that already contains a nice collection of programs, improvements and a proper launcher.<br>Despite testing with an unsecure bootloader and kernel certain parts of the firmware fail to act as I predict.<br>Let me give you an example:<br>After the initial firmware update the box needs to reboot to finnish the installation.<br>At this point the other partitions are set and initialised and the data is created.<br>The allowed functions for the official updater script are limited too.<br>Meaning without changing the kernel and bootloader it is impossible to create all partitions first and then to populated them with the correct data.<br>There are so far two workarounds that I am currentl testing.<br>Number one is to use the naked rom as a base and to provide an aroma installer so the user can install all the things they need without adding what they don't want.<br>I don't really like this option too much as with the current limitations certain launcher settings are lost and for some reason Kodi messes up the addon installation.<br>Number two would be to provide nandroid based backup of all programs and added/changed features.<br>This could also be used to include later system or bootloader/kernel changes.<br>Obvious downside here is that it is only for more experienced users as I can not automate everthing through a recovery script - I am still learning!<br>Despite the number of views the feedback seems to be a case for my crystal ball, so unless someone has a feature request or wants some programs included I will experiment with my own collection ;)<br></p>
<p>Hitting a little snag here with the more complex updates as the X96 default kernel is secured and prevents proper Nandroid dumps.<br>Reading up now on modifying kernels....</p>
<p>Update: The first downloads are available :)</p>
<p>I have tested the modified TWRP recovery in all vital fundtions and it works fine.<br>Backups and restore - working<br>Installing OTA or custom ZIP files - working<br>ZIP verification for OTA images - working<br><br>Now it is time to either find a ROM that is working fine with the X96 or to find a nice one and make it work.<br>If, in the meantime, you feel the need for a decent backup let me know here and I will upload the recovery somewhere.</p>
<p>Update 01/04/217:<br>I found enough (I think) to cook my own firmware based on the linked original.<br>So far through TWRP recovery all seems to work fine but of course I would like to create a normal update.zip that can be used with an unmodifed stock system.<br>But being able to now freely mess around with a backup and original firmware at hand is quite nice.<br>I will update the Instructable throughout my learning process and in the end offer the firmware I create for download.<br><br>Since I am able to freely use firmwares for other S905 based devices as code donors the same worshop should work for all TV boxes based on the S905X chipset.<br>So no matter what name is on your box, as long as the actual hardware is the same all should work on your device the same way.<br>There are only two possible areas to watch out for:<br>WiFi and Bluetooth<br>The newer boxes with dual WiFi and BT 4.0 use a different module than the standard S905X boxes.<br>Unless you really want to dig deep into ROM modifications it is best make sure you use the right type of firmware as otherwise your WiFi and (if you have) BT will not work.<br>A simple exchange of these modules is not possible either as it is all included within the kernel as well and so far I don't think I will go that deep for now.<br>One day maybe to get BT support added to my box but please don't hold your breath on it.</p>
<p>I think you guessed it but the update is for 2017.<br>But as I can't edit the comment....</p>

About This Instructable




Bio: I like to improve myself and things I find :) Learning new things every day is next to impossible but I still try - only a working ... More »
More by Downunder35m:X96 (S905x) Android TV Box - Updating the Firmware and Costom Roms The Paracord Stubbie Holder My Little Paracord Splicing Guide 
Add instructable to: