How to Upgrade Firmware for Rockchip RK3066, RK3188, RK3328, RK3288, RK3399 Devices with the Command Line in Linux

Previously I wrote an article entitled “How to Flash Rockchip RK3066 / RK3188 Firmware in Linux” explaining how to use a graphical tool called RkFlashKit to upgrade firmware on Rockchip devices using a Linux computer. This tool had some limitations, and it would just have a subset of features of RkAndroidTool (Windows), and it was not possible to flash “update.img” type of firmware which are often provided and flashed with RkBatchTool in Windows. Luckily there’s now a command line tool called upgrade_tool that allows you to flash the “update.img” firmware files directly from Linux. I’ve already shown how to use it with Radxa Rock, but it’s buried with other instructions, so I’ve decided to make a separate post. This has been tested in Ubuntu 14.04 with Radxa Rock (RK3188) and Measy U2C (RK3066). Ready? Let’s start by downloading and extracting upgrade_tool. You may want to add the installation path to […]

How to Boot a Headless Linux Image on Amlogic S802 TV Boxes (Tronsmart Vega S89 Elite)

As some of you already know, I’ve been playing around with Tronsmart Vega S89 Elite, an Android TV Box powered by Amlogic S802 quad-core ARM Cortex A9r4 processor at 2 GHz. Today, I’ll show how to boot a headless Linux image on any Amlogic-based S802 TV Box from the network. The instructions can mainly be used as a starting point for developers, as it requires access to a serial terminal via  UART, but if you’ve never done it before, the instructions should be easy enough to follow. Everything is loaded from the network, the kernel (via boot.img) is loaded via TFTP, and the rootfs (Linaro ALIP image) is mounted via NFS, so it’s nearly impossible to brick your device using the method provided. Linaro ALIP rootfs comes with LXDE, but at this stage, the desktop environment is not showing, even though my HDMI TV is properly detected by the drivers. […]

How to Extract a Device Tree File from Android Firmware Files

Up to now, all our cheap Android devices were based on older Linux kernel (3.0.x, 3.4.x) that still used board files (arch/arm/board, but we’ve recently seen companies like Amlogic and Rockchip release source code with Linux kernel 3.10.x. One of the key differences between these version are the move from board files to flattened device tree and multi-platform support. If it is fully implemented, a single kernel image should be able to boot multiple hardware platforms, and all low level configuration handled by the device tree file. Since I’ve connected the serial port of Tronsmart Vega S89 for debugging, and it’s a slow news day, I thought I might try to boot the Linux kernel I compiled myself, but one of the challenge was to get the device tree file. I’ll show how to extract it from the firmware. It should also be possible to get it directly from the […]

Imperas Releases ARM Cortex A53 & A57 Open Source Models for OVPsim

Since the end of 2012, it has been possible to use ARM 64-bit Fast models to run code compiled for the new ARMv8 architecture by emulating a 64-bit ARM processor inside an Intel / AMD processor. ARM fast models are not the only “free” option anymore, as Imperas has released OVPsim 20140430 with open source models for ARM Cortex A53 and Cortex A57 cores. OVPsim is a virtual platform that’s available free of charge for personal usage. The simulator itself (OVPsim) is closed source, but processor, peripheral and platform models are released under the Apache License version 2.0. OVP models of the ARM Cortex-A53 and Cortex-A57 are fully instruction accurate models, and you can use them for personal with an additional free license key, but if you want to make use of advanced features such as TrustZone and hardware virtualization you’ll need to purchase a commercial version (Imperas Developer or […]

How to Open Tronsmart Vega S89 (Elite) and Access the Serial Console

Tronsmart Vega S89 (Elite) is an Android TV based on Amlogic S802 quad core ARM Cortex A9 processor @ 2GHz, and is one of the fastest Chinese ARM box on the device, at least until Rockchip RK3288 and AllWinner A80 devices come to market. In my unboxing post, I mentioned the UART pins were available, and sometimes in March Amlogic released U-boot and Linux source code for M802/S808, so it’s likely some developers will play around, and eventually run Linux (Ubuntu, Debian, …) on the platform. So today, I’ve done some preliminary work by connecting a USB to serial debug board to my device. The steps to follow are straightforward, and should work on Beelink M8/S82, Jesurun S82, MBOX-S82, IdeaStar S82, etc… which are basically the same box with different names. Before accessing the serial port, we’ll need to open the box. Start by removing the 3 sticky pads at […]

A Quick Test Drive of Tails, a Privacy Focused Linux Distribution

Tails (The Amnesic Incognito Live System) is a Linux distribution that allows you to use the Internet anonymously and circumvent censorship via the Tor network. It leaves no trace, and is said to use “state-of-the-art” cryptographic tools to encrypt files, emails and instant messages. It’s distributed as a live image that boots from a DVD drive, a USB stick, or an SD card. Tails v1.0 has recently been released. so let’s give it a quick try. Tails is currently only available for x86 (32-bit), no ARM image yet. The source code is available via a git repo. Let’s download the ISO image (mirror), and signature. Alternatively you can download both via BitTorrent. To make sure the image is not compromised it’s recommend to verify the integrity of the ISO image with the signature we’ve just downloaded. You’ll also need a signing key The are several methods, but I’ve opened a terminal, […]

How to Make a $15 Web Server for IoT Applications

Arduino_Leonardo_Ethernet_ENC28J60_Assembled

If you have an embedded project that requires some GPIOs, and Ethernet connectivity, you now have a few choices of low cost low boards such as the Raspberry Pi with Broadcom ARM11 SoC for $35 + shipping,  Texas Instruments Connected LaunchPad with an ARM Cortex M4 MCU for $20 including shipping, and today I’ve given a try at a solution to run an HTTP server with an Arduino Leonardo clone connected to ENC28J60 Ethernet module that together cost about $15 including shipping. This Ethernet module has been around for a while and is well supported, I just never took the time to give it a try before. I’ve purchased ENC28J60 module on eBay for $3.46 and connected it via SPI to an Arduino Leonardo clone I acquired as part of a kit via Indiegogo for $12. The kit is not available for purchase outside the crowdfunding campaign, but you can […]

How to Root Mele X1000 (Telechips TCC8935)

Yesterday, I’ve explained to how update firmware on Telechips TCC8935 Android TV boxes, Mele X1000 more exactly. Today I’ll show how to root the device. The method uses Vroot, a Windows-only tool, that appears to be popular recently, as it is the same tool that’s used to root Amlogic S802 based devices. Let’s get started in a Windows PC or virtual machine: Download and install Vroot Start Mele X1000, and go to Settings->Android Settings, then in Developer options, enable USB debugging Connect a micro USB to USB cable between Mele X1000 and your Windows PC Start Vroot,. It should detect your device, download and install drivers and a daemion. Check root access in your device, and a Windows in your default language may pop up in Mele X1000. Accept. You should now see “Mele X1000 is connected. No root permissions” in Vroot, click on the green Root button to start […]

Memfault IoT and embedded debugging platform