Storage is normally the slowest part of a system, and operating systems such as Linux try to limit I/O access with “tricks” like caching. The I/O scheduler may also matter if you have multiple programs accessing the same drive, and in Linux 4.12 implemented two new multi-queue block I/O schedulers, namely BFQ (Budget Fair Queuing) and Kyber that are meant to improve the performance of the systems. If you’re using Linux 5.2 you may even get further improvements since performance tweaks make application start-up times under load to be up to 80% faster. I have never seen BFQ in action so far, but earlier this year, Paolo Valente, who is working for Linaro, made a video with an Acer Chromebook 15 showing Google Chrome launch time using the default mq-deadline schedule, and bfq-mq scheduler. The test involves writing a 1.5GB file to the drive with dd, and clicking on the […]
PhyWhisperer-USB Python Controlled USB 2.0 Sniffer Enables USB Security Testing (Crowdfunding)
PhyWhisperer-USB is a hardware USB sniffer & triggering platform that allows users to test the security of USB devices using side-channel power analysis and fault injection using a Python 3 interface, beside simply capturing packets. This has become especially important now as some USB devices include Bitcoin Wallets, FIDO2 keys, and encrypted drives with valuable data. PhyWhisperer-USB hardware specifications: FPGA – Xilinx Spartan 7S15 with 12,800 logic cells USB USB 2.0 Low/Full/High Speed mode PC connection – Micro-USB 2.0 HS port Host connection – Micro-USB port Target connection – USB-A female connector Trigger pattern – 1 – 64 bytes with mask Trigger delay – 0 – 1048576 cycles of 240 MHz internal clock derived from USB clock USB sniffer FIFO – 8192 bytes (FPGA block RAM, adjustable depending on FPGA utilization) Expansion – Spare digital I/O: 8 data pins, 1 clock pin routed to FPGA (on front panel) Clock output […]
MINIX NEO S2 USB-C SSD Hub Review in Ubuntu 18.04 with Khadas Edge
MINIX NEO S1 & S2 are USB-C hubs with the usual HDMI and USB outputs, but also a built-in 120 GB & 240 GB SSD respectively. The company has sent me a sample of each, and in order to test the platform, I decided to do on a Khadas board running Ubuntu 18.04 with LXDE desktop environment (aka Lubuntu). I’ll start by checking out the packages’ content, before going through my experience with the MINIX NEO S2 USB-C hub in Ubuntu 18.04 with LXDE desktop environment. MINIX NEO S1 & S2 Unboxing Both packages are basically identical except for the different color, and one shows 120GB SSD capacity, while the other has 240GB The back side has some more details about the USB-C hub. I’ll focus on the 240GB model since it’s just the same, but around $13 to $20 more expensive, and it offers double the capacity, as well […]
Reading ID Card Data in Ubuntu with EZ100PU Smart Card Reader (Thai ID Edition)
I was asked help with configuring a smart card reader on a government computer running Windows 7, but this made me wonder what would happen if I connected the card reader to my Ubuntu laptop and whether I’d be able to read content from a Thai ID card. EZ100PU Smart Card Reader Let’s have a look at the card reader itself first. It’s a FAST ID EZ100PU smart card reader compliant with ISO7816 standard. That’s the product page of the specific model, but a search for EZ100PU only reveals the manufacturer may be InfoThink Technology based on Taiwan. The USB smart card reader comes with a CD that includes drivers for Windows, Linux, Mac OS, and Android, as well as an SDK with a demo program and sample code in C++, Visual Basic .NET, and C#. As we’ll see further below, the Linux driver is not needed as it works […]
TensorFlow Lite for Microcontrollers Benchmarked on Linux SBCs
Dimitris Tassopoulos (Dimtass) decided to learn more about machine learning for embedded systems now that the technology is more mature, and wrote a series of five posts documenting his experience with low-end hardware such as STM32 Bluepill board, Arduino UNO, or ESP8266-12E module starting with simple NN examples, before moving to TensorFlow Lite for microcontrollers. Dimitris recently followed up his latest “stupid project” (that’s the name of his blog, not being demeaning here :)) by running and benchmarking TensorFlow Lite for microcontrollers on various Linux SBC. But why? you might ask. Dimitris tried to build tflite C++ API designed for Linux, but found it was hard to build, and no pre-built binary are available except for x86_64. He had no such issues with tflite-micro API, even though it’s really meant for baremetal MCU platforms. Let’s get straight to the results which also include a Ryzen platform, probably a laptop, for […]
Android Gaming on Khadas VIM3 SBC (Video)
I started playing with Khadas VIM3 Basic SBC powered by Amlogic A311D processor and 2GB RAM, and noticed Android benchmarks, especially 3D graphics were significantly better (40% improvement) than the ones of Rockchip RK3399. So I decided it may be interesting to show Android gaming on the single-board computer, and installed the latest version of Android 9.0 with Google Play store. Finally I connected the RF dongle of Tronsmart Mars G01 wireless gamepad, as well as USB keyboard and mouse to get some fun. Since the board only has two USB type-A ports, I also inserted MINIX NEO S2 USB-C + SSD hub to connect the gamepad RF dongle. Then I tried to install and play four games Beach Buggy Racing Installed via Google Play Played with Tronsmart gamepad. Perfectly smooth with max graphics settings. Similar to other TV boxes or boards. Riptide GP2 Installed via Amazon Store Played with […]
Amlogic A311D vs Rockchip RK3399 Benchmarks Comparison
I’ve run some benchmarks on Khadas VIM3 SBC earlier this morning. The board is powered by the latest Amlogic A311D hexa-core Cortex-A73/A53 processor, and I’ve found results to be impressive. But let’s see how it compares to another hexa-core processor, namely the popular Rockchip RK3399 Cortex-A72/A53 processor released in 2016 and found in several Chromebooks, TV boxes, and development boards. To do so, I’ve compared Antutu 7.x, PCMark 10 Work 2.0, and 3Dmark benchmark results in Khadas VIM3 board running Android 9, against an actively-cooled Rockchip RK3399 SBC running Android 8.1. The results for A311D should be the same as for Amlogic S922X-B processor, so this post could also serve as an Amlogic S922X-B vs RK3399 comparison. Amlogic A311D vs Rockchip RK3399 – Key features Amlogic A311D Rockchip RK3399 CPU Quad-core Cortex-A73 @ 2.21 GHz Dual-core Cortex-A53 @ 1.8 GHz Dual-core Cortex-A72 @ 1.8 GHz Quad-core Cortex A53 @ 1.416 […]
Khadas VIM3 (Amlogic A311D) Benchmarks & System Info in Android 9
I received Khadas VIM3 kit at the very beginning of this month, and showed the content of the kit, and how to assemble it. Now after clearing some other items for review, I’ve started to play with the Amlogic A311D board which ships with Android 9.0 by default. I’ll focus my efforts on Ubuntu as most people will run Linux distributions on the board, but before doing so I’ve upgraded Android to the latest version, and checked out system information and ran some benchmarks in Android. Installing the latest Android firmware on VIM3 Instructions to upgrade the firmware over USB-C are available for Windows and Ubuntu, but since my laptop runs Ubuntu 18.04 I’ll focus on the latter. We can install the burn-tool for Linux as follows:
1 2 3 4 |
sudo apt install libusb-dev git parted git clone https://github.com/khadas/utils cd utils sudo ./INSTALL |
We can now download and extract the latest Android image:
1 2 |
wget https://dl.khadas.com/Firmware/VIM3/Android/VIM3_Pie_V190704.7z 7z x VIM3_Pie_V190704.7z |
Once it’s done you can connect your VIM3 board to your […]