Raspberry Pi Pico W UART serial console

Getting started with WiFi on Raspberry Pi Pico W board

Raspberry Pi Trading announced the Raspberry Pi Pico W board basically based on the same design as the original Raspberry Pi Pico board with RP2040 dual-core Cortex-M0+ microcontroller but adding a wireless module with WiFi 4 and Bluetooth LE 5.2, although the latter is not enabled on the board at this time. The company sent me a sample for review/evaluation, and I’ll focus on the WiFi part since the Raspberry Pi Pico W supports the same MicroPython and C/C++ SDKs as for the Raspberry Pi Pico board plus additional APIs for wireless connectivity. Raspberry Pi Pico W unboxing The board I received was cut from a 480-unit reel, and I also got a one-meter long micro USB to USB cable, which should probably not be included by default for people ordering the $6 board. Just like its predecessor, the board is tiny, and The pinout is the same as the […]

NanoPi R5S M.2 NVMe SSD

NanoPi R5S preview – Part 2: Ubuntu 20.04 (FriendlyCore)

I started the NanoPi R5S review with an unboxing, a teardown, a quick try of the pre-installed OpenWrt-based FriendlyWrt, and some iperf3 benchmarks on the 2.5GbE interfaces that were rather disappointing. I test further I switched to the Ubuntu 20.04-based FriendlyCore image since I’m more familiar with Debian-based operating systems, and some tools will not run on OpenWrt. Note the performance is still not quite optimal, and that’s why I call this a preview since numbers should improve in the next few months as more people tweak the software. OpenWrt optimizations? But before jumping to Ubuntu, I gave an updated version of FriendlyWrt a try as FriendElec told me they had added some optimizations: We have made some optimizations on the new image, such as NIC interrupt settings, and offload support… So I downloaded “rk3568-eflasher-friendlywrt-20220526.img.gz” found on Google Drive, flashed it to a microSD card with USBImager, and booted it […]

ArmSoM RK3588 AIModule7 NVIDIA Jetson Nano-compatible SOM
NanoPi R5S router review

NanoPi R5S router review – Part 1: Unboxing, OpenWrt, and iperf3 benchmarking

FriendlyElec has just launched the NanoPi R5S mini router powered by a Rockchip RK3568 processor, and the company kindly sent me two samples for review. In the first part of the review, I’ll check out the device itself, the internal design, the preinstalled OpenWrt, and run some networking benchmarks with iperf3. NanoPi R5S unboxing   The router comes fully assembled together with a 3M sheet with 6 rubber feet, which, as we’ll see below, are not really necessary. A microSD card socket can be found on one of the sides, while the rear panel comes with a USB-C port for power, a WiFi antenna hole (which can also be used to run cables for GPIO. UART console, etc…), two 2.5GbE RJ45 LAN ports, a Gigabit Ethernet WAN port, and HDMI video output. We’ll find a Mask button for firmware flashing on the other side, and the front panel features four […]

Khadas VIM4 Ubuntu 22.04

Khadas VIM4 SBC review – Part 3: Ubuntu 22.04

Here’s the last part of Khadas VIM4 review with Ubuntu 22.04 “Jammy Jellyfish”. You may want to check out our previous parts with the unboxing and first boot, followed by Android 11 if you haven’t already done so. Ubuntu 22.04 installation on Khadas VIM4 I used the same method of installation with OOWOW firmware that can download the image directly from Khadas server, and install it to the eMMC flash. Since I already had Android 11 running on the board, I had to keep pressing the function key (middle), then shortly press the reset button,  before releasing the function key and entering OOWOW interface. From there, I selected Ubuntu 22.04 Gnome, and went ahead with the download. The download was fast with the 758.2MB compressed image downloaded in a couple of minutes, then I simply selected “Install” to go further, and replace Android 11… .. and after rebooting the board […]

Linux 5.18 release arm risc-v mips

Linux 5.18 release – Main changes, Arm, RISC-V, and MIPS architectures

Linux 5.18 is out! Linus Torvalds has just announced the release on lkml: No unexpected nasty surprises this last week, so here we go with the 5.18 release right on schedule. That obviously means that the merge window for 5.19 will open tomorrow, and I already have a few pull requests pending. Thank you everybody. I’d still like people to run boring old plain 5.18 just to check, before we start with the excitement of all the new features for the merge window. The full shortlog for the last week is below, and nothing really odd stands out. The diffstat looks a bit funny – unusually we have parsic architecture patches being a big part of it due to some last-minute cache flushing fixes, but that is probably more indicative of everything else being pretty small. So outside of the parisc fixes, there’s random driver updates (mellanox mlx5 stands out, […]

amlogic a311d2 h265 hardware video encoding sample

Linux hardware video encoding on Amlogic A311D2 processor

I’ve spent a bit more time with Ubuntu 22.04 on Khadas VIM4 Amogic A311D2 SBC, and while the performance is generally good features like 3D graphics acceleration and hardware video decoding are missing. But I was pleased to see a Linux hardware video encoding section in the Wiki, as it’s not something we often see supported early on. So I’ve given it a try… First, we need to make a video in NV12 pixel format that’s commonly outputted from cameras. I downloaded a 45-second 1080p H.264 sample video from Linaro, and converted it with ffmpeg:

I did this on my laptop. As a raw video, it’s pretty big with 3.3GB of storage used for a 45-second video:

Now let’s try to encode the video to H.264 on Khadas VIM4 board using aml_enc_test hardware video encoding sample:

The output explains the parameters used. There are some error messages, […]

Rockchip RK3568, RK3588 and Intel x86 SBCs and SoMs in 2025
Android 12 RISC-V

Android RISC-V progress update, emulator support, and roadmap to 2023

We’ve first covered Alibaba T-Head work on Android 10 for RISC-V in January 2021, and later that year they started selling the T-Head RVB-ICE dual-core RISC-V board with GPU for software development. The company has now provided an update for Android 12 RISC-V port, instructions to build Android RISC-V to run it in an emulator,  as well as a 2022-2023 roadmap. Alibaba T-head is working on hardware platforms, which appears to be similar to T-Head RVB-ICE board, with the following minimal specifications: CPU – At least Dual-core XuanTie C910 (rv64imafdcv) processor GPU – Compatible with OpenGL ES and OpenCL VPU – HW Video/Picture codec Neural Network Accelerator System Memory – 4GB or more DDR Memory Display – MIPI/HDMI Audio – Multi-Channel Audio output & input Camera – ISP with support for multiple MIPI CSI lanes USB interface(s) They built upon the work done on Android 10 to add support for […]

cdc_ncm vs r8152 drivers ubuntu

Fixing performance issues with Realtek RTL8156B 2.5GbE USB dongle in Ubuntu

A few days ago, I reviewed a USB 3.0 to 2.5 Gbps Ethernet adapter based on Realtek RTL8156B chip in Ubuntu 20.04, and let’s say the reliability and performance were underwhelming. I got some recommendations like changing cables, the MTU size, etc… Playing around with cables did no help, but one comment mentioned the cdc_ncm driver could be the issue, followed by another saying that updating to Linux kernel 5.14 should install the correct r8152 driver… So I just did that:

This upgraded Linux 5.13 (shipped with Ubuntu 20.04 + HWE) to Linux 5.14, but still no luck as the system kept using the cdc_ncm driver with a half-duplex link:

But then I thought I may have to use udev rules to prevent loading the cdc_ncm driver, and there’s indeed 50-usb-realtek-net.rules in r8152 driver to do just that. So I copied the file in /etc/udev/rules.d/ folder. Since I […]

Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications