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

cdc_ncm vs r8152 drivers 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 […]

Building a NanoPi M4V2 based All-in-One Linux PC running Armbian (Ubuntu/Debian)

Armbian Ubuntu All-in-One PC

At the end of my review of “RPI All-in-One” PC with Raspberry Pi 4, I noted the system also appeared to be compatible with NanoPi M4V2 single board computer. I’ve now tried it out, and assembling the board inside the 10.1-inch display is even easier than I initially thought. That means I now have a NanoPi M4V2 All-in-One PC running Ubuntu Hirsute or Debian Buster with XFCE desktop environment from Armbian, and most features work including the display and wireless connectivity, but I still have an issue with the touchscreen function. Here are the steps I followed initially: Download Armbian Buster XFCE image from Armbian and flash it to a microSD card with tools like USBimager. Insert the microSD card in the board Install the USB Type-C and HDMI-A adapters in the display. Insert the USB Type-C and HDMI port of the NanoPi M4V2 SBC into the adapters Install the […]

$70 NanoPi M4V2 SBC Gets 4GB LPDDR4 RAM, Power & Recovery Buttons

NanoPi M4V2

FriendlyELEC NanoPi M4 is a Rockchip RK3399 single board computer that follows Raspberry Pi 3 form factor, and was launched in a year ago for $65 with 2GB RAM, and $95 with 4GB RAM. Raspberry Pi 4 introduction brought some more competition, and helped the prices drop to $50 and $75 respectively. But now the company has launched a revision 2 of the board, NanoPi M4V2 that replaces LPDDR3 memory with faster LPDDR4 memory, adds power & recovery buttons, and the audio jack now also support microphone input. It’s only available with 4GB LPDDR4 memory, and the price is lower at $70. The rest of the specifications are mostly identical: SoC – Rockchip RK3399 big.LITTLE hexa-core processor with 2x Arm Cortex-A72 @ up to 2.0GHz, 4x Cortex-A53 @ up to 1.5GHz, a Mali-T864 GPU with support OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11, and AFBC, and a VPU with 4K VP9 and […]

NanoPi M4 SBC Metal Case Comes with an NVMe SSD Adapter and Cooling Fan

NanoPi M4 Metal Case

There are several single board computers that come with NVMe SSD either directly like on ODROID-H2 SBC or indirectly via an expansion board such as M2X extender board for Khadas VIM3.  But if you’d like an enclosure for your system it either further adds to the cost, or you need to develop the case yourself. If you’d like an SBC that takes an NVMe SSD in a fairly compact enclosure and at a affordable price (under $100 excluding the SSD),  NanoPi M4 metal case kit looks to be a good option and sells for $28 with SSD adapter and fan, or just $26 if you already own the SSD adapter. As a reminder, NanoPi M4 is a Rockchip RK3399 SBC that mostly follows Raspberry Pi form factor comes with 2GB or 4GB RAM with price starting at $50. See NanoPi M4 specifications for more details. One selling point of this […]

TensorFlow Lite for Microcontrollers Benchmarked on Linux SBCs

TensorFlow Lite microcontrollers benchmark linux SBC

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 […]

Linux 5.2 Release – Main Changes, Arm, MIPS & RISC-V Architectures

Linux 5.2 Changelog

Linus Torvalds announced the release of Linux 5.2 last Sunday: So I was somewhat pre-disposed towards making an rc8, simply because of my travels and being entirely off the internet for a few days last week, and with spotty internet for a few days before that [*]. But there really doesn’t seem to be any reason for another rc, since it’s been very quiet. Yes, I had a few pull requests since rc7, but they were all small, and I had many more that are for the upcoming merge window. Part of it may be due to the July 4th week, of course, but whatever – I’ll take the quiet week as a good sign. So despite a fairly late core revert, I don’t see any real reason for another week of rc, and so we have a v5.2 with the normal release timing. There’s no particular area that stands […]

NanoPi M4 RK3399 SBC Price Drops to $50 and Up

NanoPi M4

The launch of Raspberry Pi 4 SBC has generated lots of interest, especially with the extra performance and low $35 price tag that has made most alternatives suddenly less interesting. However, Raspberry Pi 4 benchmarks show it’s not quite the fastest board around, and for example, Rockchip RK3399 platforms are still quite faster, sometimes as much as twice as fast. They do cost much more though, often more than twice, and so far one of the cheapest RK3399 boards was NanoPi M4 going for $65. FriendlyELEC has now decided, certainly in response to Raspberry Pi 4 offering, to lower the price to $50 for the 2GB RAM version which compares to $45 with Raspberry Pi 4 2GB, as well as $75 for the 4GB RAM version (was $95). NanoPi M4 specifications: SoC – Rockchip RK3399 big.LITTLE hexa-core processor with 2x Arm Cortex-A72 @ up to 2.0GHz, 4x Cortex-A53 @ up […]

Design your own NAS with $25 4x SATA HAT for NanoPi M4 Board

4x SATA HAT NanoPi M4

NanoPi M4 is one of the many Rockchip RK3399 boards available on the market today. The SBC follows Raspberry Pi form factor, comes with 2 to 4 GB RAM, four USB 3.0 ports, Gigabit Etherent, HDMI 2.0, etc.. and exposes the 2-lane PCIe interface from the Rockchip processor not through a typical PCIe slot or mini PCIe slot, but instead through a 2.54mm pitch header. I feel like an odd choice at first glance, but it now makes complete sense, as the company has launched a 4x SATA HAT for NanoPi M4 board that leverages the header with PCIe 2x signals. 4x SATA HAT for NanoPi M4 key features and specifications: PCIe to SATA Chipset – Marvell 88SE9215 four-port 6Gbps SATA I/O controller USB – 2x 4-pin USB 2.0 host connectors Expansion – NanoPi M4 40-pin header exposed Misc Power key, unpopulated power key jumper Power LED, 4x SATA LEDs […]

EmbeddedTS embedded systems design