Archive

Posts Tagged ‘uefi’

BBen MN10 TV Stick Review – Windows 10, Ubuntu 17.04, Benchmarks, and Kodi

The BBEN MN10 is the second Apollo Lake device to be released in the stick form-factor and on paper looks to have a lot to offer:

It features an Apollo Lake N3350 SoC, an unusual 3GB of RAM, 64GB of storage and is cooled by a ‘mute’ fan. The devices comes in a plain box with a power adapter, and a leaflet style manual.

Click to Enlarge

It also included a three-pin UK power adapter, as this was advertised as the ‘BBen MN10 Mini PC  –  UK PLUG  BLACK’.

Looking at the detail specifications:

Click to Enlarge

We can immediately see discrepancies as the device does not have a ‘RJ45 Port Speed: 1000M LAN’ port, and was not supplied with ‘1 x HDMI Cable’ nor ‘1 x Remote Control’.

Powering on the device and the ‘mute’ fan is also a miss-representation as it starts immediately and is noticeably noisy. It also runs at full speed regardless of workload so the noise is a constant reminder that the device is switched-on:

Starting Windows and the disappointment continues with a message informing that ‘We can’t activate Windows on this device because you don’t have a valid digital license or product key’:

Click to Enlarge

also ‘Intel Remote Keyboard Host App’ is pre-installed (see icon top left) and the computer name is already been set as ‘BBEN’.

As a result I tried installing Microsoft’s Windows 10 Home ISO but because of the confirmed lack of license, I then installed Microsoft’s Windows 10 Enterprise product evaluation ISO in order to review the device.

The basic hardware matched the specification:

with plenty of free-space available post installation:

I then ran some standard benchmarking tools to look at performance under Windows. These are a new set of benchmarks as I’ve updated the tools and releases specifically for devices running Windows version 1709 and later:

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Click to Enlarge

Octane 2.0 with Chrome – Click to Enlarge

As can be seen the performance is as expected for the N3350 SoC and is comparable with other devices such as ECDREAM A9 or Beelink AP34 Ultimate:

Click to Enlarge

Next I installed Ubuntu as dual-boot using my ‘isorespin.sh’ script, which includes installing the rEFInd bootloader to enable booting on Apollo Lake devices when the BIOS doesn’t support Linux:

Performance is again as expected:

Click to Enlarge

Click to Enlarge

And can be compared with other Intel Apollo Lake and earlier Intel Atom devices:

Click to Enlarge

Click to Enlarge

Revisiting the hardware using Linux commands additionally shows the micro SD card is running the slower HS200 interface:

and rather interestingly a S/PDIF audio interface shows up in the sound settings. However given there is only a 3.5mm audio jack and when an external speaker is connected through it, sound works when selecting the S/PDIF interface. This again is somewhat misleading.

Click to Enlarge

Click to Enlarge

Click to Enlarge

Looking at real-work Windows usage cases the first being watching a 4K video using Microsoft Edge which works flawlessly:

Click to Enlarge

The same video when watched using Google Chrome results in occasional dropped frames:

Click to Enlarge

but notice how much harder the CPU and GPU are working.

Watching the same video and changing the video quality to high definition (1080p resolution) results in a better experience.

Click to Enlarge

Unfortunately this can’t be said for watching the same video in Google Chrome on Ubuntu. At 4K the video is unwatchable with excessive dropped frames and a stalled network connection after a short while:

Click to Enlarge

Even at 1080p the video still stutters:

Click to Enlarge

Running Kodi on both Windows and Ubuntu show similar ‘differences’ in the results.

On Windows if the video is encoded using the VP9 codec then decoding is using software resulting in high CPU usage and high internal temperatures:

Click to Enlarge

However when the video is encoded with the H.264 codec then Windows uses hardware to decode:

Click to Enlarge

and similar for videos encoded with H.265 or HEVC:

Click to Enlarge

with no issues playing the videos.

On Ubuntu hardware is used to decode all three codecs:

Click to Enlarge

Click to Enlarge

Click to Enlarge

however some H.265 videos resulted in a blank (black) screen just with audio whereas others played without issue:

Click to Enlarge

As previously mentioned the internal fan is screaming away merrily although it’s effectiveness with internal cooling is somewhat questionable:

Click to Enlarge

It does assist in keeping the device at a safe external temperature:

with the highest observed reading being 41°C.

So looking at the physical characteristics of the device its size is only slightly larger than the second generation Intel Compute Stick:

Initially I used the device upside down as it seemed sensible to have the case vents exposed:

Click to Enlarge

However cracking open the case reveals the fan actually uses the side vent between the two USB ports:

Click to Enlarge

with the bottom vents for cooling the memory and storage chips:

Click to Enlarge

Remarkably the WiFi chip appeared to have been exposed to excessive heat at some stage:

yet had still passed inspection as evidenced by the green ‘Pass’ sticker.

The only identifiable marking on the board were on the bottom under the sticky black coverings:

The BIOS is minimalistic:

which is an issue when booting with a connected USB to Ethernet adapter, as it defaults to PXE booting which needs to timeout before booting occurs from internal storage. A workaround is to boot Windows from the boot menu after pressing F7:

Notice also that the BIOS is unbranded and simply displays the Intel logo.

Finally after using Windows then Ubuntu and returning to Windows I encountered that audio over HDMI had disappeared:

Click to Enlarge

and reinstalling the Intel HD Graphics driver didn’t fix it.

So to sum up this is a device with specific limitations which the buyer should be aware of prior to purchase. I’d like to thank Gearbest for providing the BBEN MN10 for review. They sell it for $197.42 shipped. You’ll also find it on Aliexpress from various sellers with not-activated or activated Windows 10 Home / Pro.

MINIX based Intel Management Engine Firmware & UEFI are Closed Source & Insecure, NERF to the Rescue!

November 7th, 2017 12 comments

You may have heard a few things about Intel Management Engine in recent months, especially as security issues have been found, the firmware is not easily upgradeable, and the EFF deemed it a security hazard asking Intel for ways to disable it.

In recent days, I’ve seen several media reports about the Management Engine being based on an Intel Quark x86-based 32-bit CPU running MINIX open-source operating system. Keep in mind, there’s nothing nefarious about MINIX, it’s just that Intel keeps its own developments on top closed. One of sources for the information is a blog post explaining how to disable Intel ME 11, but ZDNET also points to one of the talks at the Embedded Linux Conference Europe 2017 entitled “Replace Your Exploit-Ridden Firmware with Linux” by Ronald Minnich, Google which explains the problem, and proposes a solution to (almost) disable Intel’s ME, and replace UEFI by a small open source Linux kernel and ramdisk.

Click to Enlarge

To better understand about the issue, we’ll first need to talk about rings… yes… rings. Protection rings with numbers from -3 to +3 indicate the level of privileges with Ring 3 being the lowest priviledge, and Ring -3 giving full access to all hardware. It’s unrelated to OS privileges and normal users and root are are part of the same Ring 3 privileges.

Ring 0 to 3 are well documented, Ring -1 is for hypervisors like Zen so “known to mankind”, but while we know something about Ring -2 CPU, the code for the UEFI kernel and SMM half kernel are not always known, and in the case of Ring -3 kernels which include the Management Engine, Integrated Sensor Hub (ISH), and Innovation Engine (IE) we know very little about the hardware and software, despite them having the highest privilege.

We do know the Management Engine Ring -3 OS provides the following features.

Full Network manageability ICC Over Clocking
Regular Network manageability Protected Audio Video Path (PAVP)
Manageability IPV6
Small business technology KVM Remote Control (KVM)
Level III manageability Outbreak Containment Heuristic (OCH)
IntelR Anti-Theft (AT) Virtual LAN (VLAN)
IntelR Capability Licensing TLS
Service (CLS) Wireless LAN (WLAN)
IntelR Power Sharing Technology (MPC)

If you have no idea what some of the feature do, that’s OK, as even Richard is unclear. The important part is that the firmware has a full network stack, and web servers are running for remote management, which has recently become a serious problem as Intel found a vulnerability in “Intel Active Management Technology (AMT), Intel Standard Manageability (ISM), and Intel Small Business Technology” that can allow “an unprivileged attacker to gain control of the manageability features”.  It requires a firmware update, but considering this affect Intel’s first to seven generation, the bug is at least 9 years old, and most systems won’t be updated. Read this PDF for a detailed (71 pages) security evaluation of Intel’s ME

Beside the Management Engine, the presentation also goes through Ring -2 OS (UEFI), an extremely complex kernel (millions of lines of code) running on the main CPU, and whose security model is… obscurity. UEFI exploits also exist, and can be made permanent since UEFI can rewrite itself. The firmware also always runs, and exploits are undetectable by kernels and programs.

The solution proposed to address the privacy and security issues related to ME and UEFI is called NERF (Non-Extensible Reduce Firmware).

It’s only a partial solution because the system cannot fully boot without ME, but they’ve managed to reduce the size from 5MB to 300KB, removing the web server and IP stack in the process on Minnowboard MAX board thanks to me_cleaner. The SMM Ring -2 semi kernel can be disabled however.

UEFI stands for Unified Extensible Firmware Interface, so to simplify the code and make it less vulnerable to exploits they’ve made their implementation NON-extensible, and as a result it’s much simpler, as illustrated in the diagram below.

UEFI vs NERF

UEFI DXE stage is replaced with a single Linux kernel (tied to the BIOS vendor), and a 5.9MB firmware-based root file system written in Go (u-root.tk). If you are interesting in the details watching the 38 minutes ELCE 2017 presentation.

You may also be interested in the slides.

Embedded Linux Conference & Open Source Summit Europe 2017 Schedule

August 27th, 2017 4 comments

The Embedded Linux Conference & IoT summit 2017 took place in the US earlier this year in February, but there will soon be a similar event with the Embedded Linux Conference *& Open Source Summit Europe 2017 to take up in Europe on October 23 – 25 in Prague, Czech Republic, and the Linux Foundation has just published the schedule. It’s always useful to find out what is being discussed during such events, even if you are not going to attend, so I went through the different sessions, and compose my own virtual schedule with some of the ones I find the most interesting.

Monday, October 23

  • 11:15 – 11:55 – An Introduction to SPI-NOR Subsystem – Vignesh Raghavendra, Texas Instruments India

Modern day embedded systems have dedicated SPI controllers to support NOR flashes. They have many hardware level features to increase the ease and efficiency of accessing SPI NOR flashes and also support different SPI bus widths and speeds.

In order to support such advanced SPI NOR controllers, SPI-NOR framework was introduced under Memory Technology Devices (MTD). This presentation aims at providing an overview of SPI-NOR framework, different types of NOR flashes supported (like SPI/QSPI/OSPI) and interaction with SPI framework. It also provides an overview of how to write a new controller driver or add support for a new flash device.

The presentation then covers generic improvements done and proposed while working on improving QSPI performance on a TI SoC, challenges associated when using DMA with these controllers and other limitations of the framework.

  • 12:05 – 12:45 – Free and Open Source Software Tools for Making Open Source Hardware – Leon Anavi, Konsulko Group

The open source hardware movement is becoming more and more popular. But is it worth making open source hardware if it has been designed with expensive proprietary software? In this presentation, Leon Anavi will share his experience how to use free and open source software for making high-quality entirely open source devices: from the designing the PCB with KiCAD through making a case with OpenSCAD or FreeCAD to slicing with Cura and 3D printing. The talk will also provide information about open source hardware licenses, getting started guidelines, tips for avoiding common pitfalls and mistakes. The challenges of prototyping and low-volume manufacturing with both SMT and THT will be also discussed.

  • 14:20 – 15:00 – Introduction to SoC+FPGA – Marek Vašut, DENX Software Engineering GmbH

In this talk, Marek introduces the increasingly popular single-chip SoC+FPGA solutions. At the beginning, the diverse chip offerings from multiple vendors are introduced, ranging from the smallest IoT-grade solutions all the way to large industrial-level chips with focus on their software support. Mainline U-Boot and Linux support for such chips is quite complete, and already deployed in production. Marek demonstrates how to load and operate the FPGA part in both U-Boot and Linux, which recently gained FPGA manager support. Yet to fully leverage the potential of the FPGA manager in combination with Device Tree (DT) Overlays, patches are still needed. Marek explains how the FPGA manager and the DT Overlays work, how they fit together and how to use them to obtain a great experience on SoC+FPGA, while pointing out various pitfalls.

  • 15:10 – 15:50 – Cheap Complex Cameras – Pavel Machek, DENX Software Engineering GmbH

Cameras in phones are different from webcams: their main purpose is to take high-resolution still pictures. Running preview in high resolution is not feasible, so resolution switch is needed just before taking final picture. There are currently no applications for still photography that work with mainline kernel. (Pavel is working on… two, but both have some limitations). libv4l2 is doing internal processing in 8-bit, which is not enough for digital photography. Cell phones have 10 to 12-bit sensors, some DSLRs do 14-bit depth.

Differences do not end here. Cell phone camera can produce reasonable picture, but it needs complex software support. Auto-exposure / auto-gain is a must for producing anything but completely black or completely white frames. Users expect auto-focus, and it is necessary for reasonable pictures in macro range, requiring real-time processing.

  • 16:20 – 17:00 – Bluetooth Mesh with Zephyr OS and Linux – Johan Hedberg, Open Source Technology Center, Intel

Bluetooth Mesh is a new standard that opens a whole new wave of low-power wireless use cases. It extends the range of communication from a single peer-to-peer connection to a true mesh topology covering large areas, such as an entire building. This paves the way for both home and industrial automation applications. Typical home scenarios include things like controlling the lights in your apartment or adjusting the thermostat. Although Bluetooth 5 was released end of last year, Bluetooth Mesh can be implemented on any device supporting Bluetooth 4.0 or later. This means that we’ll likely see very rapid market adoption of the feature.

The presentation will give an introduction to Bluetooth Mesh, covering how it works and what kind of features it provides. The talk will also give an overview of Bluetooth Mesh support in Zephyr OS and Linux and how to create wireless solutions with them.

  • 17:10 – 17:50 – printk() – The Most Useful Tool is Now Showing its Age – Steven Rostedt, VMware

printk() has been the tool for debugging the Linux kernel and for being the display mechanism for Linux as long as Linux has been around. It’s the first thing one sees as the life of the kernel begins, from the kernel banner and the last message at shutdown. It’s critical as people take pictures of a kernel oops to send to the kernel developers to fix a bug, or to display on social media when that oops happens on the monitor on the back of an airplane seat in front of you.

But printk() is not a trivial utility. It serves many functionalities and some of them can be conflicting. Today with Linux running on machines with hundreds of CPUs, printk() can actually be the cause of live locks. This talk will discuss all the issues that printk() has today, and some of the possible solutions that may be discussed at Kernel Summit.

  • 18:00 – 18:45 – BoF: Embedded Linux Size – Michael Opdenacker, Free Electrons

This “Birds of a Feather” session will start by a quick update on available resources and recent efforts to reduce the size of the Linux kernel and the filesystem it uses.

An ARM based system running the mainline kernel with about 3 MB of RAM will also be demonstrated. If you are interested in the size topic, please join this BoF and share your experience, the resources you have found and your ideas for further size reduction techniques!

Tuesday, October 24

  • 10:55 – 11:35 – Introducing the “Lab in a Box” Concept – Patrick Titiano & Kevin Hilman, BayLibre

Continuous Integration (CI) has been a hot topic for long time. With the growing number of architectures and boards, it becomes impossible for maintainers to validate a patch on all configurations, making it harder and harder to keep the same quality level without leveraging CI and test automation. Recent initiatives like LAVA, KernelCI.org, Fuego, (…) started providing a first answer, however the learning curve remains high, and the HW setup part is not covered.

Baylibre, already involved in KernelCI.org, decided, as part of the AGL project, to go one step further in CI automation and has developed a turnkey solution for developers and companies willing to instantiate a LAVA lab; called “Lab in a Box”, it aims at simplifying the configuration of a board farm (HW, SW).

Motivations, challenges, benefits and results will be discussed, with a demo of a first “Lab in a Box” instantiation.

  • 11:45 – 12:25 – Protecting Your System from the Scum of the Universe – Gilad Ben-Yossef, Arm Holdings

Linux based systems have a plethora of security related mechanisms: DM-Crypt, DM-Verity, Secure Boot, the new TEE sub-system, FScrypt and IMA are just a few examples. This talk will describe these the various systems and provide a practical walk through of how to mix and match these mechanisms and design them into a Linux based embedded system in order to strengthen the system resilience to various nefarious attacks, whether the system discussed is a mobile phone, a tablet, a network attached DVR, a router, or an IOT hub in a way that makes maximum use of the sometime limited hardware resources of such systems.

  • 14:05 – 14:45 – Open Source Neuroimaging: Developing a State-of-the-Art Brain Scanner with Linux and FPGAs – Danny Abukalam, Codethink

Neuroimaging is an established medical field which is helping us to learn more about how the human brain works, the most complex human organ. This talk aims to cover neuroimaging systems, from hobbyist to professional, and how open source has been used to build state-of-the-art systems. We’ll have a look the general problem area, why open source was a good fit, and some examples of solutions including a commercial effort that we have been involved in bringing to market. Typically these solutions consist of specialist hardware, a bespoke software solutions stack, and a suite to manage and process the vast amounts of data generated during the scan. Other points of interest include how we approached building a maintainable and upgradeable system from the outset. We’ll also talk about future plans for neuroimaging, future ideas for hardware & discuss areas lacking good open source solutions.

  • 14:55 – 15:35 – More Robust I2C Designs with a New Fault-Injection Driver – Wolfram Sang, Renesas

It has its challenges to write code for certain error paths for I2C bus drivers because these errors usually don’t happen on the bus. And special I2C bus testers are expensive. In this talk, a new GPIO based driver will be presented which acts on the same bus as the bus master driver under inspection. A live demonstration will be given as well as hints how to handle bugs which might have been found. The scope and limitations of this driver will be discussed. Since it will also be analyzed what actually happens on the wires, this talk also serves as a case study how to snoop busses with only Free Software and OpenHardware (i.e. sigrok).

  • 16:05 – 16:45 – GStreamer for Tiny Devices – Olivier Crête, Collabora

GStreamer is a complete Open Source multimedia framework, and it includes hundreds of plugins, including modern formats like DASH, HLS or the first ever RTSP 2.0 implementation. The whole framework is almost 150MB on my computer, but what if you only have 5 megs of flash available? Is it a viable choice? Yes it is, and I will show you how.

Starting with simple tricks like only including the necessary plugins, all the way to statically compiling only the functions that are actually used to produce the smaller possible footprint.

  • 16:55 – 17:35 – Maintaining a Linux Kernel for 13 Years? You Must be Kidding Me. We Need at Least 30? – Agustin Benito Bethencourt, Codethink Ltd

Industrial grade solutions have a life expectancy of 30+ years. Maintaining a Linux kernel for such a long time in the open has not been done. Many claim that is not sustainable, but corporations that build power plants, railway systems, etc. are willing to tackle this challenge. This talk will describe the work done so far on the kernel maintenance and testing front at the CIP initiative.

During the talk it will be explained how we decide which parts of the kernel to cover – reducing the amount of work to be done and the risk of being unable to maintain the claimed support. The process of reviewing and backporting fixes that might be needed on an older branch will be briefly described. CIP is taking a different approach from many other projects when it comes to testing the kernel. The talk will go over it as well as the coming steps. and the future steps.

Wednesday, October 24

  • 11:05 – 11:45 – HDMI 4k Video: Lessons Learned – Hans Verkuil, Cisco Systems Norway

So you want to support HDMI 4k (3840×2160) video output and/or video capture for your new product? Then this is the presentation for you! I will describe the challenges involved in 4k video from the hardware level, the HDMI protocol level and up to the kernel driver level. Special attention will be given to what to watch out for when buying 4k capable equipment and accessories such as cables and adapters since it is a Wild, Wild West out there.

  • 11:55 – 12:35 – Linux Powered Autonomous Arctic Buoys – Satish Chetty, Hera Systems 

In my talk/presentation, I cover the technical, and design challenges in developing an autonomous Linux powered Arctic buoy. This system is a low cost, COTS based, extreme/harsh environment, autonomous sensor data gathering platform. It measures albedo, weather, water temperature and other parameters. It runs on a custom embedded Linux and is optimized for efficient use of solar & battery power. It uses a variety of low cost, high accuracy/precision sensors and satellite/terrestrial wireless communications.

I talk about using Linux in this embedded environment, and how I address and solve various issues including building a custom kernel, Linux drivers, frame grabbing issues and results from cameras, limited power challenges, clock drifts due to low temperature, summer melt challenges, failure of sensors, intermittent communication issues and various other h/w & s/w challenges.

  • 14:15 – 14:55 – Linux Storage System Bottleneck for eMMC/UFS – Bean Huo & Zoltan Szubbocsev, Micron

The storage device is considered a bottleneck to the system I/O performance. This thinking drives the need for faster storage device interfaces. Commonly used flash based storage interfaces support high throughputs, eg. eMMC 400MB/s, UFS 1GB/s. Traditionally, advanced embedded systems were focusing on CPU and memory speeds and these outpaced advances in storage speed improvements. In this presentation, we explore the parameters that impact I/O performance. We describe at a high level how Linux manages I/O requests coming from user space. Specifically, we look into system performance limitations in the Linux eMMC/UFS subsystem and expose bottlenecks caused by the software through Ftrace. We show existing challenges in getting maximum performance of flash-based high-speed storage device. by this presentation, we want to motivate future optimization work on the existing storage stack.

  • 15:05 – 15:45 – New GPIO Interface for User Space – Bartosz Golaszewski

Since Linux 4.8 the GPIO sysfs interface is deprecated. Due to its many drawbacks and bad design decisions a new user space interface has been implemented in the form of the GPIO character device which is now the preferred method of interaction with GPIOs which can’t otherwise be serviced by a kernel driver. The character device brings in many new interesting features such as: polling for line events, finding GPIO chips and lines by name, changing & reading the values of multiple lines with a single ioctl (one context switch) and many more. In this presentation, Bartosz will showcase the new features of the GPIO UAPI, discuss the current state of libgpiod (user space tools for using the character device) and tell you why it’s beneficial to switch to the new interface.

  • 16:15 – 16:55 – Replace Your Exploit-Ridden Firmware with Linux – Ronald Minnich, Google

With the WikiLeaks release of the vault7 material, the security of the UEFI (Unified Extensible Firmware Interface) firmware used in most PCs and laptops is once again a concern. UEFI is a proprietary and closed-source operating system, with a codebase almost as large as the Linux kernel, that runs when the system is powered on and continues to run after it boots the OS (hence its designation as a “Ring -2 hypervisor”). It is a great place to hide exploits since it never stops running, and these exploits are undetectable by kernels and programs.

Our answer to this is NERF (Non-Extensible Reduced Firmware), an open source software system developed at Google to replace almost all of UEFI firmware with a tiny Linux kernel and initramfs. The initramfs file system contains an init and command line utilities from the u-root project, which are written in the Go language.

  • 17:05 – 17:45 – Unikernelized Real Time Linux & IoT – Tiejun Chen, Vmware

Unikernel is a novel software technology that links an application with OS in the form of a library and packages them into a specialized image that facilitates direct deployment on a hypervisor. But why these existing unikernels have yet to gain large popularity broadly? I’ll talk what challenges Unikernels are facing, and discuss exploration of if-how we could convert Linux as Unikernel, and IoT could be a valuable one of use cases because the feature of smaller size & footprint are good for those resource-strained IoT platforms. Those existing unikernels are not designed to address those IoT characters like power consumption and real time requirement, and they also doesn’t support versatile architectures. Most existing Unikernels just focus on X86/ARM. As a paravirtualized unikenelized Linux, especially Unikernelized Real Time Linux, really makes Unikernels to succeed.


If you’d like to attend the real thing, you’ll need to register and pay a registration fee:

  • Early Registration Fee: US$800 (through August 27, 2017)
  • Standard Registration Fee: US$950 (August 28, 2017 – September 17, 2017)
  • Late Registration Fee: US$1100 (September 18, 2017 – Event)
  • Academic Registration Fee: US$200 (Student/Faculty attendees will be required to show a valid student/faculty ID at registration.)
  • Hobbyist Registration Fee: US$200 (only if you are paying for yourself to attend this event and are currently active in the community)

There’s also another option with the Hall Pass Registration ($150) if you just want to network on visit with sponsors onsite, but do not plan to attend any sessions or keynotes.

The First Amlogic S912 Development Board is Coming Soon with Khadas VIM2

July 2nd, 2017 49 comments

We have a decent choice of Amlogic S905 development boards like ODROID-C2 or NanoPi K2, but I was recently asked whether I knew of any Amlogic S912 development boards. I’m sure Amlogic has one for internal development, but those are hard to get, and probably expensive, and while you could probably get an S912 TV box board those lack I/Os, and software support may truly be a challenge. So I’m pleased to announce that Shenzhen Wesion will soon provide an update to their Khadas VIM Pro board with Khadas VIM2 powered by Amlogic S912 octa-core processor.

Click to Enlarge

The company will actually offer three variants of Khadas VIM2 boards (Basic/Pro/Max) specifications with highlights in bold showing differences with Khadas VIM Pro board:

  • SoC –  Amlogic S912 octa core ARM Cortex-A53 @ up to 1.5 GHz with ARM Mali-820MP GPU
  • System Memory
    • Basic – 2 GB DDR4
    • Pro/Max – 3 GB DDR4
  • Storage
    • micro SD card and 2MB SPI flash
    • eMMC Flash – Basic: 16GB; Pro: 32GB; Max: 64GB
  • Video & Audio  Output – HDMI 2.0a up to 4K @ 60 Hz with CEC support
  • Connectivity
    • Basic – Gigabit Ethernet with WoL support, 802.11 b/g/n/ac and Bluetooth 4.1 via Ampak AP6356S module
    • Pro/Max – Gigabit Ethernet with WoL support, 802.11 b/g/n/ac with RSDB and Bluetooth 4.2 via Ampak AP6359SA module
  • USB – 2x USB 2.0 host ports supporting 900mA and 500mA loads, 1x USB 2.0 type C port supporting power and data only
  • Expansion header
    • 40-pin 2.54mm pitch header with USB, UART, I2C, ADC, PWM, I2S, SPDIF, and ISO7816
    • 10-pin FPC connector with I2C and IOs
    • 8 “pin” pogo pads array with USB, I2C, DVB bus, and I/Os
  • Misc – Blue LED, white LED, dual channel IR, power/function/reset buttons, header for RTC battery, fan header
  • Power Supply –  5V to 9V via USB type C, 4-pin VIN 1.25mm pitch header, or pogo pads for VIN (5V recommended for better efficiency); programmable current limit switch up to 4A (Set to 3A by default)
  • Dimensions – 82.0 x 57.5 x 11.5 mm (4x M2 mounting holes)

We can see that it’s not just a processor update with many new features added to the new boards. If like me, you’ve never heard about RSDB, it stands for Real Simultaneous Dual Band, and allows to use both 5 GHz and 2.4 GHz at the same time, while for most dual band modules only one frequency can be used at a given time. That’s a clear advantage if you’re going to use the board as an access point.

Click to Enlarge

The company will provide Android 7.1 Nougat and Ubuntu 16.04 or greater operating systems and SDKs for the board, and work on UEFI support is in progress. The board will be launched last that month, and for now, the only VIM2 specific documentation provided is Amlogic S912 datasheet, but you can be sure there will be a lot more on Khadas Docs page at launch, although I expect many of the instructions available for Khadas VIM (Pro) will still work on VIM2 board.

You’ll find more details on the announcement forum post, such as Linux OpenGL ES not working natively, i.e. without libhybris and Android libraries, and the board has been designed with micro servers in mind with features like WoL and SPI flash for network boot, as well as UEFI support.

Thanks to Geokon for the tip.

SolidRun MACCHIATOBin Mini-ITX Networking Board is Now Available for $349 and Up

April 24th, 2017 32 comments

SolidRun MACCHIATOBin is a mini-ITX board powered by Marvell ARMADA 8040 quad core Cortex A72 processor @ up to 2.0 GHz and designed for networking and storage applications thanks to 10 Gbps, 2.5 Gbps, and 1 Gbps Ethernet interfaces, as well as three SATA port. The company is now taking order for the board (FCC waiver required) with price starting at $349 with 4GB RAM.

MACCHIATOBin board specifications:

  • SoC – ARMADA 8040 (88F8040) quad core Cortex A72 processor @ up to 2.0 GHz with accelerators (packet processor, security engine, DMA engines, XOR engines for RAID 5/6)
  • System Memory – 1x DDR4 DIMM with optional ECC and single/dual chip select support; up to 16GB RAM
  • Storage – 3x SATA 3.0 port, micro SD slot, SPI flash, eMMC flash
  • Connectivity – 2x 10Gbps Ethernet via copper or SFP, 2.5Gbps via SFP,  1x Gigabit Ethernet via copper
  • Expansion – 1x PCIe-x4 3.0 slot, Marvell TDM module header
  • USB – 1x USB 3.0 port, 2x USB 2.0 headers (internal),  1x USB-C port for Marvell Modular Chip (MoChi) interfaces (MCI)
  • Debugging – 20-pin connector for CPU JTAG debugger, 1x micro USB port for serial console, 2x UART headers
  • Misc – Battery for RTC, reset header, reset button, boot and frequency selection, fan header
  • Power Supply – 12V DC via power jack or ATX power supply
  • Dimensions – Mini-ITX form factor (170 mm x 170 mm)

Click to Enlarge

The board ships with either 4GB or 16GB DDR4 memory, a micro USB cable for debugging, 3 heatsinks, an optional 12V DC/110 or 220V AC power adapter, and an optional 8GB micro SD card. The company also offers a standard mini-ITX case for the board. The board supports mainline Linux or Linux 4.4.x, mainline U-Boot or U-Boot 2015.11, UEFI (Linaro UEFI tree), Yocto 2.1, SUSE Linux, netmap, DPDK, OpenDataPlane (ODP) and OpenFastPath. You’ll find software and hardware documentation in the Wiki.

The Wiki actually shows the board for $299 without any memory, but if you go to the order page, you can only order a version with 4GB RAM for $349, or one with 16GB RAM for $498 with the optional micro SD card and power adapter bringing the price up to $518.

CHUWI LapBook 14.1 Windows 10 Firmware, Drivers, and BIOS

February 13th, 2017 2 comments

In case you’ve installed another operating system like Ubuntu on CHUWI Lapbook 14.1 laptop, and want to re-install Windows 10, CHUWI has released Windows 10 firmware, drivers, and LapBook 14.1 “BIOS” in their forums.

So I’ve re-installed Windows 10 on the laptop using the Windows 10 image. You’ll need to download the 8 files CHUWI LapBook 14.1 Windows.part1.rar to CHUWI LapBook 14.1 Windows.part8.rar, and after extracting them you should get a “CHUWI LapBook 14.1 Windows” directory with all necessary files to reinstall Windows.

The files take 8GB, so it may not fit on all 8GB flash drives, and you may need to use a 16GB or greater drive. I just copied the files to an 64GB flash drive formatted with NTFS, insert the drive into the USB 2.0 port of the laptop, and I could start the installation process at boot time.

Click to Enlarge

However, it quickly failed as it tried to install Windows 10 on the flash drive itself:

Virtual Disk Service Error:

The operation is not supported on removable media.

The system cannot open the device or file specified.

Then I remember I had to set the USB drive label to WINPE for this to work. So I have to repartition the drive, format it to NTFS, set the label WINPE, and copy the files again. I reinserted the drive into the laptop, and update started successfully and went much further this time.

Note that by default CHUWI LapBook 14.1 boots from USB first, but if you have changed the settings in the BIOS, you’ll have to press F7 at boot time in order to select the drive. The installation went ahead, and after a while the laptop shutdown. I removed the USB drive, and pressed the power button to carry on with the installation.

Click to Enlarge

At this point System Preparation Tool 3.10 windows pops up, and I just clicked on OK which rebooted the laptop again, and brought me to the usual Windows 10 setup wizard where you select the language, WiFi network, setup and account, etc…

I just went through it as usual, and everything works.

If you have one of the earlier model, and your BIOS is older than version “A2W6_NA14.012”, you may to upgrade the BIOS by downloading “LapBook 14.1 BIOS 20161230.zip” and extracting the files to a USB flash drive formatted with FAT32/NTFS, insert it in the laptop, and boot it to complete the update.

SolidRun MACCHIATOBin is Another Marvell ARMADA 8040 Networking Mini-ITX Board

October 11th, 2016 34 comments

We’ve already seen SolidRun is working on a Marvell ARMADA 8040 quad core Cortex A72 community board for networking and storage applications, but based on a picture taken at Linaro Connect, the company is also working on a similar board with extra connectivity options called MACCHIATOBin.

Click to Enlarge

Click to Enlarge

Apart from the picture, there’s no info on the web about this board, so we’ll have to derive specs from the photo, the community board features, and info provided by Marcin Juszkiewicz, so all details are preliminary and subject to change:

  • SoC – ARMADA 8040 (88F8040) quad core Cortex A72 processor @ up to 2.0 GHz
  • System Memory – 1x DDR4 DIMM up to 16GB RAM
  • Storage – 3x SATA 3.0 port + micro SD slot
  • Connectivity – 1x Gigabit RJ45 port, 1x SFP SGMII @ 2.5Gbps, 2x 10Gbps copper (RJ45) with auto switchover to dual SFP+
  • Expansion – 1x PCIe-x4 3.0 slot, Marvell TDM module header
  • USB – 1x USB 3.0 port, 1x USB-C port
  • Debugging – 20-pin Connector for CPU JTAG debugger
  • Power Supply – 12V DC via power jack or ATX power supply
  • Dimensions – Mini-ITX form factor (170 mm x 170 mm)

That board is said to be SBSA compliant, meaning any ARM SBSA server distributions (like Red Hat) should work with mainlined kernel and bootloaders (U-Boot and UEFI). The price is said to be $350 with 4GB RAM, exactly what the community board is supposed to sell for, so MACCHIATOBin could also be the latest revision of the community board with a layout change, and most of the same features.

LibreELEC 8 for Intel Atom Bay Trail and Cherry Trail Devices with 32-bit UEFI Binary

September 19th, 2016 78 comments

LibreELEC, a fork of OpenELEC, was announced several months ago, and images for various hardware platform were released in that time period. However, support for Intel Bay Trail and Cherry Trail platforms using a 32-it UEFI binary might not have always work, or was more difficult to install. piotrasd has now created a LibreELEC 8 + Kodi 17 beta 3 build especially for this type of devices, and tested it on Tronsmart Ara IZ37 Bay Trail mini PC.

libreelec-8-intel-atom-z3735fHowever, it should work on other Intel Atom Z3735F or Intel Atom x5/z7 mini PC or sticks with a 32-bit UEFI bootloader. If you have such device, you can try it the following instructions using a USB flash drive:

  1. Download and install Rufus or LibreELEC SD USB creator
  2. Download and unpack LibreELEC 8 32-bit UEFI image file
  3. Launch your USB creator program, select the firmware file, and make a bootable USB flash drive
  4. Connect the USB flash drive to your mini PC
  5. Power it on, and press the ESC key on your keyboard to enter the boot menu
  6. Select your USB drive, and follow the Installer procedure on the TV
  7. Installation is complete

I understand that the procedure will wipe out your current operating system since it will install on the internal storage. Make sure that the bootable USB drive is the only USB device connected to the mini PC or TV stick during installation. If the display is too bright, you can go to System settings->Display, and disable “Use Limited colour range (16-235)” option.