Posts Tagged ‘nexbox’

Mainline Linux on 64-bit ARM Amlogic SoCs, and TV Boxes such as Wetek Hub / Player 2, NEXBOX A1 / A95X, etc…

March 6th, 2017 30 comments

We’ve already seen Neil Armstrong, part of BayLibre, worked on adding Amlogic SoC (S905/S905X/S912) to mainline Linux via our virtual schedule for the Embedded Linux Conference & OpenIoT Summit 2017. But at the time, although we could see some activity in Linux 4.10 including support for Nexbox A95X and Nexbox A1, they did provide that much details the work that had been done, but since then, ELC 2017 videos have been released, and BayLibre wrote a short post about 3D Graphics support in mainline Linux.

Click to Enlarge

We can see that I/Os, USB host, composite video output, Ethernet, eMMC/SDIO, and PSCI and SCPI features have already been added to Linux 4.10. but some important features have not yet including HDMI, Mali support, Audio, and high speed eMMC modes. HDMI is actually planned for Linux 4.12, which could be released in about 18 weeks if we keep the 10 weeks kernel release schedule we had in the past. WeTek Hub and Play 2 devices tree files have been submitted for Linux 4.11. Beside TV boxes, development boards such as ODROID-C2 and Khadas Vim will also be supported and benefit from this work.

While Mali is not supported in mainline Linux yet, the patchsets for Mali-450 GPU are available on github in order to enable 3D graphics acceleration in Amlogic S905, S905X and S905X. If you are interested to get more details, you may want to watch Neil Armstrong presentation at ELC 2017 which explains the status of Amlogic Linux before working on mainline, the work achieved, the work in progress, and an overview of the community.

You may also want to download the presentation slides for an overview of the talk, and check out and BayLibre blog for future updates.

Thanks to Space Invader, theguyuk, and Harley for the tips.

Linux 4.10 Release – Main Changes, ARM & MIPS Architectures

February 20th, 2017 3 comments

Linus Torvalds has just released Linux 4.10:

So there it is, the final 4.10 release. It’s been quiet since rc8, but we did end up fixing several small issues, so the extra week was all good.

On the whole, 4.10 didn’t end up as small as it initially looked. After the huge release that was 4.9, I expected things to be pretty quiet, but it ended up very much a fairly average release by modern kernel standards. So we have about 13,000 commits (not counting merges – that would be another 1200+ commits if you count those). The work is all over, obviously – the shortlog below is just the changes in the last week, since rc8.

Go out and verify that it’s all good, and I’ll obviously start pulling stuff for 4.11 on Monday. Linus

Linux 4.9 added Greybus staging support, improved security thanks to virtually mapped kernel stacks, and memory protection keys, included various file systems improvements, and many more changes.

Some newsworthy changes for Linux 4.10 include:

  • Virtual GPU support – Intel GVT-g for KVM (KVMGT) is a full GPU virtualization solution with mediated pass-through, starting from 4th generation Intel Core processors with Intel Graphics. Unlike direct pass-through alternatives, the mediated device framework allows KVMGT to offer a complete virtualized GPU with full GPU features to each one of the virtualized guests, with part of performance critical resources directly assigned, while still having performance close to native.
  • New ‘perf c2c’ tool, for cacheline contention analysis – perf c2c (for “cache to cache”) is a new tool designed to analyse and track down performance problems caused by false sharing on NUMA systems. The tool is based on x86’s load latency and precise store facility events provided by Intel CPUs. Visit C2C – False Sharing Detection in Linux Perf for more details about the tool.
  • Improved writeback management – Linux 4.10 release adds a mechanism that throttles back buffered writeback, which makes more difficult for heavy writers to monopolize the I/O requests queue, and thus provides a smoother experience in Linux desktops and shells than what people was used to. The algorithm for when to throttle can monitor the latencies of requests, and shrinks or grows the request queue depth accordingly, which means that it’s auto-tunable, and generally, a user would not have to touch the settings. Read Toward less-annoying background writeback for more details about this improvement.
  • FAILFAST support –  This release also adds “failfast” support. RAID disk with failed IOs are marked as broken quickly, and avoided in the future, which can improve latency.
  • Faster Initial WiFi Connection – Linux 4.10 adds support for using drivers with Fast Initial Link Setup as defined in IEEE 802.11ai. It enables a wireless LAN client to achieve a secure link setup within 100ms. This release covers only the FILS authentication/association functionality from IEEE 802.11ai, i.e., the other changes like scanning optimizations are not included.

Some notable ARM architecture improvements and new features:

  • Allwinner:
    • Allwinner A23 – Audio codec driver
    • Allwinner A31/A31s – Display Driver (first pipeline), audio codec support
    • Allwinner A64 – clock driver
    • Allwinner A80 – External SDIO WiFi
    • Allwinner H3 – Audio codec driver, SPI
    • New boards support: NextThingCo CHIP Pro, Pine A64, NanoPi M1
  • Rockchip:
    • Initial support for Rockchip PX5 & PX3 automotive platforms
    • Added Rockchip RK1108 evaluation board
    • Added support for Rikomagic MK808 Android TV stick based on Rockchip RK3066
    • Update Rockchip PCI driver to support for max-link-speed
    • Rockchip rk3399,rk3066 PLL clock optimizations
  • Amlogic
    • Support for the pre-release “SCPI” firmware protocol shipped by Amlogic in their GXBB SoC
    • Initial support for Amlogic S905D, and S912 (GXM) SoCs
    • Added support for Nexbox A1 and A95X Android TV boxes
    • Cleanup for the Amlogic Meson PWM driver
    • New Amlogic Meson Graphic Controller GXBB (S905)/GXL (S905X/S905D)/GXM (S912) SoCs (meson)
    • Resets for 2nd USB PHY
    • Initial support for the SD/eMMC controller in the Amlogic S905/GX* family of SoCs
    • Updated DTS to enable support for USB, I2C, SPI, maibox/MHU, PWM, ethernet MAC & PHY, secure monitor, IR, and watchdog.
  • Samsung
    • Device Tree for Samsung Exynos5433 mobile phone platform, including an (almost) fully supported phone reference board
    • Added support for TOPEET itop/elite board based on exynos4412
    • DeviceTree  updates:
      • Add Performance Monitor Unit to Exynos7.
      • Add MFC, JPEG and Gscaler to Exynos5433 based TM2 board.
      • Cleanups and fixes for recently added TM2 and TM2E boards.
      • Enable ADC on Odroid boards
      • Remove unused Exynos4415 DTSI
  • Qualcomm
    • Add support for Qualcomm MSM8992 (Snapdragon 808) and MSM8994 (Snapdragon 810) mobile phone SoCs
    • Added support for Huawei Nexus 6P (Angler) and LG Nexus 5X (Bullhead) smartphones
    • Support for Qualcomm MDM9615 LTE baseband
    • Support for WP8548 MangOH Open Hardware platform for IOT, based on Qualcomm MDM9615
    • Other device tree changes:
      • Added SDHC xo clk and 1.8V DDR support
      • Add EBI2 support to MSM8660
      • Add SMSC ethernet support to APQ8060
      • Add support for display, pstore, iommu, and hdmi to APQ8064
      • Add SDHCI node to MSM8974 Hammerhead
      • Add Hexagon SMD/PIL nodes
      • Add DB820c PMIC pins
      • Fixup APQ8016 voltage ranges
      • Add various MSM8996 nodes to support SMD/SMEM/SMP2P
  • Mediatek
    • Added clock for Mediatek MT2701 SoCs
    • New Mediatek drivers: mtk-mdp and mtk-vcodec (VP8/VP9/H.264) for MT8173
    • Updated the Mediatek IOMMU driver to use the new struct device->iommu_fwspec member
  • Other new ARM hardware platforms and SoCs:
    • Hisilicon – Hip07 server platform and D05 board
    • NXP – LS1046A Communication processor, i.MX 6ULL SoC, UDOO Neo board, Boundary Devices Nitrogen6_SOM2 (i.MX6), Engicam i.CoreM6, Grinn i.MX6UL liteSOM/liteBoard,  Toradex Colibri iMX6 module
    • Nvidia – Early support for the Nvidia Tegra Tegra186 SoC, NVIDIA P2771 board, and NVIDIA P3310 processor module
    • Marvell – Globalscale Marvell ESPRESSOBin community board based on Armada 3700, Turris Omnia open source hardware router based on Armada 385
    • Renesas “R-Car Starter Kit Pro” (M3ULCB) low-cost automotive board, Renesas RZ/G (r8a7743 and r8a7745) application processors
    • Oxford semiconductor (now Broadcom) OX820 SoC for NAS devices, Cloud Engines PogoPlug v3 based on OX820
    • Broadcom – Various wireless devices: Netgear R8500 router, Tenda AC9 router, TP-LINK Archer C9 V1, Luxul XAP-1510 Access point
    • STMicro  – stm32f746 Cortex-M7 based microcontroller
    • Texas Instruments – DRA71x automotive processors, AM571x-IDK industrial board based on TI AM5718
    • Altera – Macnica Sodia development platform for Altera socfpga (Cyclone V)
    • Xilinx – MicroZed board based on Xilinx Zynq FPGA platforms

That’s a long list of changes and new boards and devices… Linux 4.10 only brings few MIPS changes however:

  • KVM fixes: fix host kernel crashes when receiving a signal with 64-bit userspace,  flush instruction cache on all vcpus after generating entry code (both for stable)
  • uprobes: Fix uprobes on MIPS, allow for a cache flush after ixol breakpoint creation
  • RTC updates:  Remove obsolete code and probe the jz4740-rtc driver from devicetree for jz4740, qi_lb60
  • microblaze/irqchip: Moved intc driver to irqchip. The Xilinx AXI Interrupt Controller IP block is used by the MIPS based xilfpga platform and a few PowerPC based platforms.
  • crypto: poly1305 – Use unaligned access where required, which speeds up performance on small MIPS routers.
  • MIPS: Wire up new pkey_{mprotect,alloc,free} syscalls

You can also read Linux 4.10 changelog with comments only, generated using git log v4.9..v4.10 --stat, in order to get a full list of changes. Alternatively, you could also read Linux 4.9 changelog on

Ten Most Popular Posts of 2016 on CNX Software and Some Stats

December 31st, 2016 13 comments

The last day of the year is a good time to look back at what the year brought us, and I have to say it has been a fun and interesting year on CNX Software. The TV boxes news cycle has been dominated by Amlogic products, but most products have now switched to 64-bit ARM SoC, with 4K and HDMI 2.0 support, and price have kept going down, so you can now get a 4K TV box for as low as $20, although many people will prefer spending a bit more for extra memory and support. Intel based Bay Trail & Cherry Trail mini PCs have continued to be released with Windows, and in some cases Ubuntu, but the excitement seems to have died off a bit, maybe with the expectation of upcoming Apollo Lake mini PCs that should be more powerful. The year have been especially fruitful in the IoT space with a dramatic reduction in costs and sizes from ESP8266 boards to GPS modules and microwave radar modules, and we’ve also seen LPWAN modules & boards, mostly based on LoRa, but also Sigfox, being brought to market, as well as an alternative to ESP8266 with Realtek RTL8710AF, and of course the launch of Espressif ESP32 SoC with WiFi and Bluetooth LE. We’ve also been spoiled with development boards this year with the launch of 64-bit boards such as Raspberry Pi 3, ODROID-C2, and Pine A64+, as well as more dirt cheap Orange Pi boards, joined by NanoPi boards later in the year, and made all the more useful thanks to armbian community.

I’ve compiled a list of the most popular posts of 2016 using the page views count from Google Analytics:

  1. Amlogic S905 vs S812 Benchmarks Comparison (January 2016) – Amlogic S905 was probably the most popular SoC for TV boxes in 2016, thanks to a decent set of features, and aggressive pricing from manufacturers. So people wanted to find out if it was worth upgrading from S812 to S905, or maybe had to decide between purchasing a S905 or S812 TV box.
  2. Raspberry Pi 3, ODROID-C2 and Pine A64+ Development Boards Comparison (February 2016) – 2016 was also the year of cheap 64-bit development board with the launch of Raspberry Pi 3, ODROID-C2 and Pine A64+ boards, more or less at the same time, so again people want have wanted to look at which one to buy through this comparison.
  3. This is What a 16 Raspberry Pi Zero Cluster Board Looks Like (January 2016) – What can generated more buzz than the Raspberry Pi Zero? A cluster of Raspberry Pi Zero boards, as this post went viral the day after being posted. There was some talk about a crowdfunding campaign at one point, but it never happened.
  4. Review of K1 Plus Android TV Box with Combo DVB-S2/DVB-T2 Tuner (February 2016) – My review of K1 PLus T2 S2 might not be the most viewed post on CNX Software, but it sure generated a lot of comments, as while the product offers a unique combination of DVB-T2 and DVB-S2 tuners in an Android TV box at an attractive price, the documentation and software may need some improvements. Unofficial OpenELEC firmware images later surfaced from the community.
  5. How to Change Language to English and Install Apps Remotely on Xiaomi Mi Box 3 Enhanced (April 2016) – Xiaomi Mi Box 3 Enhanced is probably the most powerful TV box that can easily be purchased worldwide, but the caveat is that it has only been designed for the Chinese market. That post explains how to work around that limitation.
  6. Amlogic S905 vs Amlogic S912 Benchmarks Comparison (September 2016) – Quad core vs octa core, yeah twice the performance! Well not quite, but people were still curious to find out how the latest octa-core Amlogic S912 SoC would perform against Amlogic S905, and the truth is that the performance difference is rather minor, except for 3D graphics.
  7. NEXBOX A95X (Amlogic S905X) TV Box Review – Part 2: Android 6.0 and Kodi 16.1 (August 2016) – NEXBOX A95X was one of the first TV boxes based on Amlogic S905X processor, and my second review. The device is tiny an relatively cheap, so the review attracted some eyeballs.
  8. Mini M8S II TV Box (Amlogic S905X) Review – Part 2: Android 6.0 Firmware (July 2016) – My first review of an Amlogic S905X TV box nearly had the same number of views as NEXBOX A95X post, and many of the same features, just in a different package.
  9. Getting Started with Wemos D1 mini ESP8266 Board, DHT & Relay Shield (March 2016) – Wemos D1 mini is a great little ESP8266 board. It’s small, cheap ($4), and easy to use. The optional shields, just as cheap, make it a very attractive option for your IoT projects. Other people noticed it too, and then visited my review to get started.
  10. Raspberry Pi 3 Model B Board Features a 64-Bit ARM Processor, Adds WiFi and Bluetooth Connectivity (February 2016) – The last post is the list if a Raspberry Pi 3 leak just one day before the actual announcement.


Traffic has been rather steady in 2016 over the months.

cnx-software-traffic-2016The blog got around 9.8 millions pageviews in 2016 compared to about 7.2 millions pageviews in 2015, a 36% growth in traffic that was likely helped by my not going on a 3 months trip this year…

“openwrt” and, respectively the top keyword and referral in 2015, were replaced by “amlogic s912” and Facebook in 2016.  Google Analytics only shows the last three months for keywords, and the full year for referrals, with referrals excluding search engines such as Google where CNX Software gets most of its traffic.

Top 10 Keywords Top 10 Referrals
amlogic s912
s905 vs s905x
s905x vs s912
mxq box
amlogic s905
orange pi vs raspberry pi
s905 vs s912
s912 vs s905x

The visitor mix of the blog per country as not changed much, with the top 10 countries of 2015 still there in 2016, and the top five order unchanged with United States, United Kingdom, Germany, Canada, and France.

cnx-software-visitors-2016London still hold the top city spot, but Hong Kong and Moscow dropped of the list to be replaced by New York and Melbourne.


Windows is still the main operating system of CNX Software visitors, but its share, as well as the share of other desktop operating ssystems including Linux and “Macintosh”, keeps dropping, while Android and iOS are having a stronger and stronger presence. In the “browser war”, Chrome lead extended further from 52.93% in 2015 to 59.41% in 2016, and Firefox dropping from 23.54% to 18.90%. Microsoft Edge probably had the best growth going from 0.56% last year to 1.86% this year.

Some of the 2016 review samples and I wish all my readers a very happy, prosperous, and healthy new year 2017.

Click to Enlarge

Click to Enlarge

Amlogic S912 Android TV Boxes List So Far

August 15th, 2016 55 comments

Following up on the tradition to create list of TV boxes with popular processor, such as my Amlogic S905 TV boxes and sticks list, I’ve decided to generate a comparison table for the first ten Amlogic S912 Android TV boxes announced so far. There won’t be any S912 TV sticks, as the processor probably dissipate a little too much heat to be useful in that form factor.


All TV boxes in the table below share the same Amlogic S912 octa-core Cortex A53 processor @ 2.0 GHz with an ARM Mali-820MP3 GPU, support for HDMI 2.0a output, HDR, 4K video playback for  VP9, H.265 and H.264 codecs, and run Android 6.0, so I only included columns for items that differ between products.

 MemoryStorageVideo OutputAudio OutputEthernetWirelessUSBPrice
MXQ Plus M12N / ENYBOX X22GB16GB + micro SD slotHDMI + AVHDMI, AV, optical S/PDIF10/100M802.11 b/g/n/ac + Bluetooth 4.02x USB 2.0$69.99
Zoomtak Vplus2GB16GB + SD slotHDMI + RCA compositeHDMI, RCA stereo, optical S/PDIFGigabit802.11 b/g/n/ac + Bluetooth 4.03x USB 2.0$54 (FOB)
Nexbox A12GB16GB + SD slotHDMI + AVHDMI, AV, optical S/PDIFGigabitDual band 802.11n + Bluetooth 4.02x USB 2.0$70.99 (Coupon GBNA1)
Rikomagic MK222GB16GB + micro SD slotHDMI + AVHDMI, AV, optical S/PDIFGigabitDual band 802.11n + Bluetooth 4.02x USB 2.0, 1x USB OTG portTBD
R-Box Pro2 or 3 GB16GB + micro SD slotHDMI + AVHDMI, AV, optical S/PDIFGigabitDual band 802.11n + Bluetooth 4.02x USB 2.0, 1x micro USB OTG 2GB RAM: $74.99
3GB RAM: $82.99
QINTAIX Q9122GB8 or 16 GB + micro SD slotHDMI + AVHDMI, AV, optical S/PDIFGigabitDual band 802.11n + Bluetooth 4.03x USB 2.0TBD
Beelink GT12GB16GB + micro SD slotHDMIHDMI, optical S/PDIFGigabit802.11 b/g/n/ac + Bluetooth 4.0TBDx USB 2.0$55.99 (coupon GBGT1)
Videostrong KM8 Pro2GB16GB + micro SD slotHDMI + AVHDMI + AVGigabit802.11 b/g/n/ac + Bluetooth 4.02x USB 2.0$47 (FOB)
Vontar Z5 Supermax2GB16GB + micro SD slotHDMI + AVHDMI, AV, optical S/PDIFGigabitDual band 802.11n + Bluetooth 4.02x USB 2.0$89.99
Intbox i72GB8GB + SD slotHDMI + AVHDMI, AV, optical S/PDIFGigabit802.11 b/g/n/ac + Bluetooth 4.02x USB 2.0$118.00

Remarks: AV means 3.5mm AV jack with composite and stereo audio, and prices are usually retail prices with shipping by registered airmail from China, except for the ones followed by “FOB” which are factory prices.

Corrections are welcomed in the comments section, as well as tips about new S912 boxes not mentioned in this post.

NEXBOX A1 Amlogic S912 Android TV Box Presells for $71

August 9th, 2016 16 comments

NEXBOX A1 was one of the first announcements of an Android TV box powered by Amlogic S912 SoC, but there weren’t many details at the time. Since then several other boxes has been announced, but few have prices, and GearBest now informed me that they were taking pre-orders for NEXBOX A1 for $70.99 including shipping with coupon GBNA1.

NEXBOX_A1NEXBOX A1 specifications:

  • SoC – Amlogic S912 octo-core ARM Cortex A53 processor @ up to 2.0GHz with ARM Mali-820MP3 @ up to 750MHz
  • System Memory – 2GB DDR3
  • Storage – 16GB eMMC flash and SD slot up to 32GB
  • Video Output – HDMI 2.0 and AV ports
  • Audio Output – HDMI, AV, and optical S/PDIF
  • Connectivity – Gigabit Ethernet, dual band WiFi 802.11 b/g/n, Bluetooth 4.0
  • USB – 2x USB 2.0 ports
  • Misc – IR receiver, power button
  • Power Supply – 5V/2A
  • Dimensions- 9.3 x 9.3 x 1.5 cm
  • Weight –  190 grams

So the specifications don’t differ much from the competition. NEXBOX A1 also runs Android 6.0, and ships with the usual accessories, namely an IR remote control, an HDMI cable, a power adapter, and an English manual.

NEXBOX_A1_PortsConsidering Amlogic S912 processor competes with Rockchip RK3368 octa-core processor, but with both a better GPU, and video codec support, S912 TV box prices will likely converge towards RK3368 ones with similar specs, possibly selling for a few dollars more. Beelink i68 was the first Rockchip RK3368 TV box I reviewed, and like most S912 TV boxes, now comes with 2GB RAM, 16GB storage, Gigabit Ethernet, and dual band WiFi. So it’s a good comparison base, and it happens to sell for $66 on both GearBest and Banggood, so around $70 should be a fair price to pay for an Amlogic S912 TV box with equivalent memory and networking features.

However unless you want to make sure you’ll be one of the first to receive the device, there’s no rush to buy right now, since shipping is scheduled for September 17th, 2016.

How to Customize Amlogic Android Firmware – A Tutorial with NEXBOX A95X (S905) TV Box

August 6th, 2016 112 comments

CNXSoft: Bear in mind that there are multiple versions of Nexbox A95X. Yesterday, I published the review of Nexbox A95X with Android 6.0, with the model based on Amlogic S905X processor. In this article, Karl had a look at Nexbox A95X with Amlogic S905 processor, which he purchased a couple of months ago, but since he was not happy with the Android 5.1 firmware, he decided to customize it.

Karl here with a review of the Nexbox A95X S905 box. This took a while to even start. I received the box about 2 months ago and I dived right in and broke it. I didn’t have factory firmware, and wasn’t cautious enough and bricked it. I found some firmware that worked but it didn’t work very well for me. Email’s to Nexbox directly didn’t help and I was stuck with a bricked box… I later found someone who had factory firmware and was kind enough to share and I was back in business. But I still didn’t like it, as it felt sluggish when doing anything else besides Kodi and missing notifications and navigation bar.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Quest to find better firmware

There is a dirty little secret with these boxes and it is a little unfair to the manufacturers who do make good software but you can just about flash any firmware on any matching processor box. The biggest thing is to match the WiFi chip. They will sometimes brick hard and to restore requires shorting pins on the NAND flash. It is pins 29 and 30 on this one (TBC). Short the pins while connect to PC, and apply power and you are able to flash new firmware. I never had to do it on this one. The A95X has an RTL8189ETV WiFi chip as can be seen in the picture above. So I did some searching for “S905 RTL8189 Firmware” and I found some, but they were not any better. If WiFi doesn’t matter and you have Ethernet you will have better luck or can use a USB to Ethernet adapter if the firmware supports it.

Review Turned into a How To

I wasn’t happy with anything (I know….I am needy). So what do we do? Go and try a manufacturer’s who put out good software regardless of WiFi and Ethernet. I had used Tronsmart’s S905 firmware on another box and it is pretty good. So I started there and flashed it and the box booted but without WiFi, nor Ethernet, and I assume no remote control either (I don’t typically use the remote and test with Logitech K400R). So I tried to use this firmware as ROM to port from, and now the time consuming part starts…


Before we begin I will put out the typical disclaimer that you assume all risk and don’t blame me. If you don’t want to have to do this buy a box from a good manufacturer. Several stand out… search for reviews in CNX Software, or other forums.

I do all my work in Windows, so no Linux is necessary but just recently upgraded to Windows 10 and with bash opens up some additional possibilities I have yet to explore. I did try mounting an img but it doesn’t support it yet.

Below is the main software that I use. If you know any other alternatives please leave a comment. Especially Beyond Compare only 30 day evaluation. It is not too expensive and I use it for other things. Install all the programs below with defaults and it should work except the Customization Tool. Install it to someplace other than Program Files. It will save button presses when needing elevated privileges.

Customization Tool

I will be going to go over the basics of this tool. When you first load the tool it will be in Chinese. The 2nd menu Item in the top will set it to English, and it will remember it the rest of the time.


The first step is to unpack the img files. Press the load button, and you will be prompted to what you want to unpack. I check them all at this point except the bottom one. There is an issue right now with the tool with the last one. Then choose the img we are porting to. This will take a while. Amlogic_CustomizationTool_Load


Once the img is unpacked navigate to where you installed the customization tool and rename the tmp directory to Tronsmart.


Now repeat the process again with the Nexbox Stock img. Don’t close the Customization Tool until we are done.

Now we have 2 img’s fully unpacked and in each directory we have 2 folders: Level 1 and Level 2. Level 1 has all the individual partitions and we won’t be doing anything in there today. Level 2 has the different partitions broken out so we can manipulate them. We will only have to go into system to do this port.


Now in the Nexbox firmware,  delete app, fonts, framework, media, priv-app in the system directory, and copy them over from Tronsmart.

At this point go back to the Customization Tool Press the Pack button and save it somewhere. If I was doing this the first time I would flash and do some testing to see if it booted, Wifi, remote etc. This also gets you to a good spot to go back to so in case something goes bad you don’t have to do the whole thing over again. As you are exploring it is good to do this often to save some headache and time.

Beware once you pack an img, as you must close the customization tool down and unpack the last one you packed. There is a bug if you pack make a change test then pack again without restarting and reopening. All the img’s after that first pack won’t be able to be unpacked by the tool.

Final Tweaks

Here is our chance to remove all the bloat and clean the img up. When I clean an img I take a picture of the app drawer with my phone and remove any unwanted apps from the app directory or priv-app directory. Be aware there is also a pre-install directory that won’t install anything. I removed everything to tidy up. I did try to fix quickly but didn’t spend much time on it.

I also replaced the Tronsmart boot animation with a different one. It is in the media directory.


You can also modify boot img and logos with this tool. I use gimp to modify logos. First I would navigate to the logo folder in the level 2 directory. The largest file bootup is a bmp file. Rename to bootup.bmp, right click on it go to properties and note the dimensions and bit depth. In this case it is a 32bit 1280×720 bmp img. Find whatever picture or logo…your imagination is the limit but you have to make sure your dimension and bit depth are exact. In gimp you export to bmp and choose 32 bit…if done correctly your file will be the exact same size as the original. Rename bootup and delete the original. When done you can pack and enjoy your new logo. I believe the tool itself will import but I like to do it by hand. The only thing I use the tool for is to unpack and pack the img.


So we haven’t touched a couple tools so far. That is a good thing. But if we did run into some trouble Beyond compare can drastically reduce the time to find. With this tool you can compare all the files from the stock rom, and the rom you are porting to. If I ran into troubles with booting start with comparing kernel in level 2. Maybe in one of the rc files a reference something differently. This can lead to many hours lost. I have lost many and not succeeded. Be prepared to do lots of reading and research. I included HXD and Notepad++ if you had to modify a file. In the Windows notepad it doesn’t recognize Linux carriage returns.

If you’d just like to install the custom image on your NEXBOX A95X (Amlogic S905 only) TV box, here’s the custom firmware link.

NEXBOX A95X (Amlogic S905X) TV Box Review – Part 2: Android 6.0 and Kodi 16.1

August 5th, 2016 120 comments

Last week I publish the first complete review of an Amlogic S905X device with MINI M8S II TV box review, and while the device work in a smooth and stable manner, some features did not work as expect such as HDMI audio pass-through. I’ve now had the change to compare  it to another S905X with NEXBOX A95X, not to confuse with its “homonym”: NEXBOX A95X with Amlogic S905 processor. I’ve already taken pictures of the device and accessories, and checked out the hardware in the first part of the review,  so today, I’ll report my finding playing with Android 6.0 firmware, Kodi video and audio capabilities, and check whether bugs and issues found on MINI M8S II are also present in the device.

First Boot, Settings and First Impressions

NEXBOX A95X is really a tiny device, so it’s no surprise that it only comes with two USB 2.0 ports, and I used one with my 1TB hard drive, and connected a USB hub to the other with 2 RF dongles for my air mouse and gamepad, as well as a USB keyboard to take screenshots.

Click to Enlarge

Click to Enlarge

The typical 30 second boot is a little faster than on MINI M8S II, possibly thanks to faster eMMC flash, or more optimized firmware. I was also happy to see a different launcher for once.

Click for Original Size

Click for Original Size (1920×1080)

The top row of the user interface shows the current time, network connectivity status, and weather for your selected city. The Home screen has 8 pre-definied (and non customizable) icons for Kodi, YouTube, File Manager, Browser, Google Play, Kodi Center (add-ons installer), Netflix, and a shortcut to All Apps.NEXBOX-A95X_IPTV_Video_Streaming

The “Recommend”, “Online” and “Local” tab are folder where you can add or remove your favorite apps. The Online tab comes with HGTV Watch, HuffPost, Hulu, Pandora, and Plex by default.

NEXBOX-A95X-S905X_Launcher_Setting SystemInfo will show a summary of the device specifications and firmware, Other will only allow you to disable/enable “touch sounds”, Weather is used to set your city,  and Settings points to the usual Amlogic settings.

Click to Enlarge

Click to Enlarge

Again it’s very similar to other box, but like on MINI M8s II, it adds the HDR (High Dynamic Range) option, and storage also shows external storage like the 4 partitions of my USB drive. HDMI-CEC is also missing, which is a problem as I can’t disable it, and the box will prevent me from turning off my Onkyo A/V receiver.


The one extra options I found on NEXBOX A95X is “Power key definition” to select either “suspend and resume” or “shutdown” when pressing the power key on the remote control.

Android_Power_Key_Definition I personally recommend using “Suspend and resume”, as you can also power off the device with a long press on the Power button.

If you are using a USB drive, the following window should show up a few seconds after the boot is complete. That’s a little annoying since it will happen for every boot, but there’s an extra option compare to M8S II, as you can setup the hard drive as internal storage.

Click to Enlarge

Click to Enlarge

That’s great, unless you already have data on your hard drive, as it requires it to be formatted. So I skipped that step. But if you are going to use that hard drive permanently with the box, then that’s a good option, as you’ll have very large storage for app and data, and I assume you won’t be shown the “USB drive connected” after each boot.

Click to Enlarge

Click to Enlarge

So instead I setup a class 10 micro SD card as internal storage, and formatted it as shown above. Android complained that “This USB drive appears to be slow” however, but I could carry on, and was asked whether I wanted to “Move data to SanDisk SD card”, which I accepted by clicking on “Move now”. Once this is done you’ll strangely see the device storage with a total of 32GB, instead of 16+8 = 24GB, but at least that mean available storage has been increased thanks to the added micro SD card. I understand this is a new feature of Android 6.0.


About_NEXBOX-A95XThe flash on NEXBOX A95X (S905X) has a 16GB capacity, at least on my model, and is partitioned as a single unified partition for app and data with around 1.41GB used after the first boot (with micro SD card used as internal storage yet).

Another identical behavior between MINI M8S II and NEXBOX A95X was that HDMI output was set to 4K SMPTE (4096×2160 @ 24 Hz) by default. I set it manually to 4K 60 Hz (3840×2160) manually, but I noticed it would sometimes fall back to 1080p60 after a reboot. It’s quite easy to notice since the mouse pointer is much smaller (maybe too small) when 4K output is selected. Those common issues are likely due to Amlogic SDK, so I’d expect most Amlogic S905X TV boxes to suffer from those.

I clicked on “More settings” to enter Android 6.0 settings and access other options like Accounts, Language & input, Printing, and so on… The “About MediaBox” section reports NEXBOX-A95X running Android 6.0.1 on top of Linux 3.14.29. The firmware used for review is NEXBOX-A95X-AP6330-6.0.1 dated July 15th, 2016. The firmware is rooted. OTA firmware update is not supported.

The included remote control has a decent range as it worked up to 8 meters (but not 10m), and the IR learning function works well as I was able to register and use the power, input selection, volume, and mute keys of my TV remote control. However, as usual MINIX NEO A2 Lite was my favorite input device since beside acting as a remote, I also use it as a mouse and keyboard, and is much more convenient to use in various parts of Android and apps.

Google Play worked fairly well, except it would not install Mi Fit or Vidonn Smartband apps, possibly because of Bluetooth LE requirements. All other application needed for review could be installed from the store. I also downloaded Amazon Underground with the web browser to install the free version of Riptide GP2.

Power implementation is bit better than on MINI M8S too, mostly thanks to added option to go to standby mode. That means I could go into and out of power on/off, and standby using the remote control. Power consumption was measure with a power meter in 6 different configurations:

  • Power off – 0.4 watt
  • Standby – 0.4 watts
  • Idle – 2.4 watts
  • Power off + USB HDD – 1.1 watt
  • Standby + USB HDD – 0.4 watt
  • Idle + USB HDD – 4.1 to 5.2 watts

It looks rather good. The only oddity is that Power off with USB hard drive consumes more than in standby, and there does not appear to be advantages (in terms of power consumption) of going into power off mode, instead of standby. Standby will also save you some time, as you don’t need to wait for 30 seconds to boot. Power off might be a little safer for your data, depending on how the firmware has been implemented.

When I opened NEXBOX A95X the thermal design seemed OK, except the processor and heatsink were pointing down, instead of up, so in theory the heat could be end up being trapped inside the device. During use, the case gets a little hotter than MINI M8S, but not that much as the maximum temperature on the top and bottom of the case after Antutu 6 was respectively 45°C and 52°C max, and after 15 to 20 minutes playing Riptide GP2, the tempeatures went up to 50°C and 56°C. However, performance (e.g. frame rate) was constant during game play.

My first impressions with NEBOX A95X were pretty good, with the device running a stable and responsive firmware, and the main downsides were small annoyances like the USB drive connected windows after each boot, and the device preventing me from turning off my A/V receiver. The lack of OTA firmware support with the Update & Backup app reporting “Check Failed! Check Your OTA Servier Agent” (sic.) was also a disappointment, but a common problem with cheaper devices.

Audio & Video Playback in Kodi 16.1, and DRM Support

I can also see piracy add-ons pre-installed together with Kodi 16.x with more an more devices, and NEXBOX A95X is no exception.

Click for Original Size

Click for Original Size

The box is using Kodi 16.1 like in M8S II, but the build date is different, so there may have been some modifications.


I’ll get straightaway with 4K video testing from a SAMBA share over 100M Ethernet, unless otherwise stated (HDD = USB hard drive):

  • HD.Club-4K-Chimei-inn-60mbps.mp4 – OK
  • sintel-2010-4k.mkv – HDMI_4K_SMPTE (24 Hz): OK; HDMI_4K_60Hz: OK
  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) –  OK
  • Bosphorus_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) – OK
  • Jockey_3840x2160_120fps_420_8bit_HEVC_TS.ts (H.265) – OK
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC) – HDMI_4K_SMPTE (24 Hz): OK; HDMI_4K_60Hz: OK
  • phfx_4KHD_VP9TestFootage.webm (VP9) – OK
  • BT.2020.20140602.ts (Rec.2020 compliant video; 36 Mbps) – OK
  • big_buck_bunny_4k_H264_30fps.mp4 – OK
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – OK
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – Network: Audio cuts during playback, then silence; HDD: OK
  • Astra-11479_V_22000-Canal+ UHD Demo 42.6 Mbps bitrate.ts (10-bit H.265 from DVB-S2 stream) –  OK
  • Ducks Take Off [2160p a 243 Mbps].mkv (4K H.264 @ 30 fps; 243 Mbps; no audio) – HDD: System hangs after a few frames
  • tara-no9-vp9.webm (4K VP9 YouTube video) – OK
  • The.Curvature.of.Earth.4K.60FPS-YT-UceRgEyfSsc.VP9.3840×2160.OPUS.160K.webm (4K VP9 @ 60 fps + opus audio) – OK most of the time, except for ~5 seconds period @ 2:08 with severe artifacts.

NEXBOX A95X does not suffer from poor video playback when 24 fps videos are played using 4K SMPTE (24Hz) video output, any improvement over MINI M8S II, but streaming over Ethernet may not be as good, as one 51.4 Mbps video suffered from audio cuts due to buffering. The system also completely hanged with a very high bitrate (243 Mbps) video played from the USB hard drive. The artifacts in one VP9 videos occurred at the exact same time on both devices.

I enabled automatic frame rate switching in Android and Kodi, but sadly this does not work.

Audio testing looked much more promising when I went into Kodi Audio output settings with not only AC3 and DTS options, but also TrueHD and DTS-HD options present in the settings.

Click to Enlarge

Click to Enlarge

The results however were disappointing, so I also used HDMI audio pass-through using MX Player / MoviePlayer app too through my Onkyo AV receiver that can handle TrueHD, DTS-HD and Dolby Atmos.

Audio Codec in Video PCM 2.0 Output
(Kodi 16.1)
PCM 2.0 Output
(MoviePlayer or MX Player)
HDMI Pass-through
(Kodi 16.1)
HDMI Pass-through
(MoviePlayer or MX Player)
AC3 / Dolby Digital 5.1 Audio OK but video not smooth No audio Audio OK (DD 5.1) but video not smooth OK (DD 5.1)
E-AC-3 / Dolby Digital+ 5.1 OK No audio DD 5.1, but two short audio cuts OK
Dolby Digital+ 7.1 OK No audio “PCM 2.0/Unknown” switching, and no audio Video Plays in fast forward mode, system has no time to setup audio output
TrueHD 5.1 OK No audio “PCM 2.0/Unknown” switching, and no audio TrueHD 5.1
TrueHD 7.1 OK No audio “PCM 2.0/Unknown” switching, and no audio TrueHD 7.1
Dolby Atmos 7.1 OK No audio “PCM 2.0/Unknown” switching, and lots of “audio farting”. Continuous beep
DTS HD Master OK No audio “PCM 2.0/Unknown” switching, no audio, and video not smooth DTS 5.1
DTS HD High Resolution OK No audio “PCM 2.0/Unknown” switching, no audio DTS 5.1
DTS:X OK No audio “PCM 2.0/Unknown” switching, no audio DTS 5.1

Not really the results we want to see, even for new devices…

I also played a 2-hour H.264 1080p videos over Ethernet to test stability, and I had no problem there.

NEXBOX A95X supports Widewine DRM Level 3 only. This has to be expected however.


Click to Enlarge

Download links to video samples used in this review can be found in the comments section of this Video/Audio sample post.

Network Performance

I’ve tested both 802.11n and Fast Ethernet by transferring a 278MB file between SAMBA and the internal flash a few times, and averaged the results. WiFi supports both 2.4 and 5.0 GHz (no 802.11ac), the connection is stable, but the performance is rather poor with average transfer rate of around 1.6 MB/s.

Throughput in MB/s

Throughput in MB/s

The same test with Ethernet shows a more standard performance of 6.7 MB/s for a Fast Ethernet interface.

Throughput in MB/s

Throughput in MB/s

Miscellaneous Tests


Bluetooth worked reasonably well, and I could transfer a few pictures after pairing NEXBOX-A95X to my Android smartphone, and get Xiaomi Mi Band 2 data after side-loading Mi Fit app. So that means Bluetooth LE is working. I could not use my Bluetooth headset, as the system kept on asking for a pin code during pairing, something my phone, and most other Android devices have never asked for that headphone.


If you’ve been following my reviews of Amlogic TV boxes, you may know my expectation of getting write support on my USB hard drive are pretty low, ever since Amlogic moved to Android 5.1 SDK and the “10MB bug”. But when I realized NEXBOX A95X would actually allow me to copy files and run benchmarks on some of the partitions of my USB hard drive I felt like the second was coming, and could barely control my emotion with tears coming out of my eyes after around 10 months of hardship :).

File System Read Write
EXT-4 Not mounted Not mounted
BTRFS Not mounted Not mounted

Contrary to MINI M8S II, the hard drive partitions are apparently detected as SD cards in NEXBOX A95X, so they were also listed as in A1 Bench, and I could run the benchmark on both NTFS and exFAT partitions of the driver with a very good 37 MB/s sequential read speed for both, and less impressive 6.78 MB/s & 17.66 Mb/s write speed respectively.

Read and Write Speed in MB/s

Read (Bluet) and Write (Red) Speed in MB/s

exFAT used to have very poor performance across devices, so maybe Android 6.0 improve exFAT support a lot.

The 16GB eMMC flash performance is OK with 45.8 MB/s read speed, and 15.24 MBs write speed.

Click to Enlarge

Read and Write Speed in MB/s


I’ve focused on Riptide GP2 only, playing it with Mars G01 wireless gamepad. The game was perfectly playable using default settings, but not quite as smooth as I like when settings the graphics settings to “max resolution”. I kept playing the game for 15 to 20 minutes, and performance was OK, and constant over time. Amlogic S905X is not the ideal processor for gaming, but it’s good enough for casual gaming.

NEXBOX A95X (Amlogic S905X) Benchmarks

Before running running benchmark, let’s have a look at the info reported by CPU-Z.

Click to Enlarge

Click to Enlarge

Amlogic S905X processor is again confirmed as a quad core Cortex A53 processor running between 100 MHz and 2.02 GHz, and with an ARM Mali-450MP GPU. Internal storage partition capacity is 11.87GB, total RAM 1775 MB, and the frame buffer resolution is set to 1920×1080.

Despite having the exact same CPU frequencies, we’ve already seen in our Amlogic S905 vs S905x benchmarks comparison that Amlogic S905X did not performance quite as well. But with NEXBOX A95X the results are even lower possibly due to its non-optimal thermal design as previously discussed.


The device achieved 28,519 points in Antutu 6.x, against 33,553 for MINI M8S II.


The picture is the same with Vellamo with Multicore, Metal and Browser being respectively 1,184, 824, and 1,641 against 1,491, 910, and
1,885 points for MINI M8S II.

Click to Enlarge

Click to Enlarge

3DMark Ice Storm Extreme score @ 3,703 points is also lower despite the CPU running at 2.0 GHz for most of the benchmark during. MINI M8S II achieved 4,183 points in that same test. So the system is slower, but it’s hard to pinpoint what happened.


NEXBOX A95X (S905X) firmware was stable and felt fast, although benchmarkls indicate a lower performance compared to competitors. Video playback in Kodi 16.1 for 10-bit and 8-bit H.265, H.264, and VP9 videos up to 4K @ 60 fps was also good, and I like some details like the ability to set the power button behavior, and setup external storage (micro SD or USB) as internal storage.


  • Stable and responsive Android 6.0 firmware
  • Kodi 16.1 supports 4K 10-bit H.264, H.264 and VP9 videos fairly well
  • HDR (High dynamic range support) for the latest televisions (not tested as LG 42UB820T UHD TV does not support it)
  • Proper power handling (standby/power off) and low power consumption in all modes.
  • Internal storage expansion via external storage devices (micro SD, USB flash drive, USB hard drive).
  • Above average internal storage performance leading to fast boot, and low app loading times
  • exFAT, NTFS, and FAT32 file system support for external storage with read and write support (except in ES File Explorer)
  • IR remote control with IR learning function and good range (up to 8 meters)
  • Bluetooth working for file transfer and sync to fitness trackers (BLE)


  • Video & Audio playback issues: HDMI audio pass-through not working well, automatic frame rate switching not working, Lack of Dolby & DTS licensed for downmixing to PCM 2.0 (stereo audio) in apps other than Kodi
  • Video output settings not always remembered. e.g. set to 4K @ 60 Hz, but fall back to 1080p60 at next reboot
  • Stable but poor WiFi performance
  • Lower performance compared to MINI M8S II, at least in in benchmarks
  • Lack of OTA firmware update support
  • Pairing issue with Bluetooth headset
  • DRM: Only supports Widevine Level 3
  • TV box will force my AV receiver to turn on, even as I manually turn it off (likely HDMI CEC issue)
  • Lack of notification and status bar, leading to some inconvenience after download or Bluetooth transfers for example.

I’d like to thank NEXBOX for sending the device for review, and resellers and distributions can contact the company via their website to purchase the box in quantities. The version of NEXBOX A95X featured in this review (Amlogic S905X, 2GB RAM, 16GB flash) is sold for $42.99 on GearBest and $51.99 on Banggood. Both sites also sell cheaper version with 2GB/8GB ($38.2) and 1GB/8GB ($33), and GeekBuying too. However, if you don’t think you need Android 6.0 features, VP9 and/or HDR, NEXBOX A95X model with Amlogic S905 processor might be a better option, and sells for around $25 with 1GB RAM.

NEXBOX A95X (S905X) Android TV Box Review – Part 1: Unboxing and Teardown

July 22nd, 2016 25 comments

NEXBOX A95X is an Android TV box that first launched with Amlogic S905 processor, the company thought it was a good idea to make multiple models with the same name with a combination of memory capacity (1 or 2GB), storage capacity (8 or 16GB), and even processor, as you may get a box with Amlogic S905, or Amlogic S905X processor adding 4K VP9 and HDR support. So you should be careful befoire your place an order, and check you got the right model when you receive it. The company now sent me their “high-end” A95X Android 6.0 model with Amlogic S905X processor, 2GB RAM, and 16GB storage, as well as Fast Ethernet and dual band WiFi 802.11 b/g/n support. In the first part of the review I’ll check out the hardware, including the board itself, before testing the firmware in more details in the second part.

NEXBOX A95X Unboxing

The box ships in the black package with no apparent trademarked logos or names.NEXBOX_A95X_PackageYou can double-checked the main specifications on the bottom of the package, and you’ll also notice the CE / FCC / RoHS markings which could matter when you import the device.


Click to Enlarge

Click to Enlarge

The TV box ships with an IR remote control taking two AAA batteries and supporting IR learning function for 5 keys, a 5V/2A power supply, an HDMI cable, and  “Android TV User Manual”.

Click to Enlarge

Click to Enlarge

The device itself is really small, although not quite as tiny as WeTek Hub. We have a micro SD slot and two USB 2.0 ports on one side, and the power jack, HDMI 2.0 and AV outputs, Ethernet, and coaxial S/PDIF on the rear panel.

click to

Click to Enlarge

NEXBOX A95X Teardown

The bottom of the case list the main specs, and shows a MAC address starting with C4:4E:21, which looks up to… nothing. So either the MAC address space has been recently registered, or it’s just been (semi-)randomly selected….

Click to Enlarge

Click to Enlarge

Let’s open the thing. There aren’t any screws, but you’ll notice a tiny opening on the top center, and that’s where you’ll want to start working your way to open the case.

Click to Enlarge

Click to Enlarge

Thermal design looks decent with an heatsink on top of the Amlogic processor, itself in contact with a thermal pad connected to a thick metal plate.

Click to Enlarge

Click to Enlarge

The board is named A7_S905X_v2.0, and includes two SKhynix H5TQ4G63CFR DDR3 SDRAM (1GB), a 16GB Samsung KLMAG2WEPD-B031 eMMC 5.0 flash, Ampak AP6330 module for dual band WiFi and Bluetooth 4.0, as well as H1102NL Fast Ethernet magnetics (The Ethernet transceiver is built-in S905X processor). There’s also a smaller “DID2133 16-12 F1” IC close the AV jack that should be an amplifier. The serial console should be accessible via the four pins close to the two USB ports.

Click to Enlarge

Click to Enlarge

Loosening four screws will allow you to completely remove the board, and check out the back where we’ll find two more RAM chips bringing the total to 2GB, as well as sticker with board name, storage/memory/wifi module, a serial number, and the manufacturing date. The board is basically fresh from the oven, as it was made on July 16th, 2016.

I’d like to thank NEXBOX for sending the device for review, and if you are interested in purchasing in quantity, you can contact them via their website. NEXBOX A95X featured in this post (S905X, 2GB RAM, 16GB flash) is sold for $43.99 on Banggood (group buy), and $51.32 on GearBest. You’ll also find a cheaper (~$43) version with just 8GB flash on both sites, and on GeekBuying. Finally, if you don’t care about VP9, and HDR, the first NEXBOX A95 model with Amlogic S905 processor sells for as low as $23 with 1GB RAM.

Update: I’ve now completed testing and the second part of NEXBOX A95X (S905X) review is up.