Nezha board is a development board that is designed by an AWOL. This project uses a D1 SoC from Allwinner which is used for the first time by the general public. Probably this board is the first massive produced and available SBC based at RISC-V architecture taking in mind a fact that BeagleV™ was canceled in august this year after the pilot program with version beta of the board. The Nezha board can be acquired at Aliexpress from PerfXLab Store or from Sipeed Store.
This article is such an opening to the series of posts about Neza D1 where the basic facts, specification and firmware stack of this SBC are described and present.
The name of this board is taken from a fictional character from Chinese literature. “Nezha” also means “The third prince” and he is a God which was fighting with dragons and snakes. His sign can be found on the board:
The Nezha uses Allwinner D1 SoC with single-core XuanTie C906 64-bit RISC-V
processor running at 1.0GHz. This SoC has also a blocks as HiFi4 DSP or
G2D 2D graphics accelerators. It has 1GB DDR3 RAM memory and 256MB SPI NAND
flash. As massive storage also a microSD card can be used. Board has also a
various of the peripheries such as Ethernet, WiFi & Bluetooth module, HDMI,
type-c USB OTG, type-a USB HOST, and dedicated header for serial communication
(UART) which at the board is described as
DEBUG. To power up this board the
5V/2A power adapter will be needed. For full specification please
refer to the official site.
The presented copy comes with a quite extensive package which contains board, USB-UART converter, 2xUSB type-c cables, and screws.
Firmware & Operating System
For now, the D1 Nezha development board comes with
Tina Linux system which is
a fork of the
OpenWRT. You can find information about it
It supports kernels such as Linux3.4, Linux3.10, Linux4.4, Linux4.9, Linux5.4,
and others. There are also other distributions available such as Debian
PerfXLab versions) and Fedora. All of them can be found and
On the other hand boot firmware on D1 consists of three parts, which largely correspond to the components used by 64-bit ARM SoCs:
boot0- it is modified for this board and used as SPL due to features such as enabling the T-HEAD ISA and MMU extensions.
OpenSBI- supervisor which is an interface between too less privileged modes boot0 and TPL bootloader.
U-Boot- TPL bootloader which initializes additional hardware and loads kernel from storage or the network.
More information can be found at linux-sunxi wiki.
As it is described in many posts and comments on the entire internet, the board
was shipped with
Tina Linux installed at NAND. Below you can see bootlog from
As you can see first two lines come from
boot0 and then further are
U-Boot. If you analyze logs you should manage that kernel and rootfs
are loaded from
Tina starts up, the green LED blinks.
Booting Debian image
There are two available distros of Debian. In this section let’s take a look at one of them prepared by the PerfXLab.
As you can see bootlog is different than for the
Tina Linux. Basically, this
difference is visible in logs from
boot0 where we can read the information
that this time the
SDCard is detected and start to read data from it.
The system starts up and enters the login interface after powering on for about 1 minute. During this process, the LED light will turn on in blue and go out after 5 seconds.
Note: Password to this distro is
Test of the wireless connection
Now let’s test a WiFi connection. For this purpose, it is needed to do some preparations:
bring up the wireless interface,
wpa_supplicant.confwhich contain information about the network we want to be connected,
start a new instance of
wpa_supplicantafter we close existing processes,
dhclientto receive IP address,
iperf3at the Nezha board and your host machine.
After these steps we are prepared to proceed with a test as follows:
iperfserver at the host
$ iperf3 -s
test connection between client and server
# iperf3 -c <host ip>
As result, we receive information about sender and receiver speed. The board
was connected to
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# iperf3 -c 192.168.1.234 Connecting to host 192.168.1.234, port 5201 [ 5] local 192.168.1.171 port 35790 connected to 192.168.1.234 port 5201 [ 2600.050994] [BH_WRN] miss interrupt! [ 2600.330996] [BH_WRN] miss interrupt! [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.78 MBytes 14.9 Mbits/sec 0 100 KBytes [ 5] 1.00-2.00 sec 2.73 MBytes 22.9 Mbits/sec 0 197 KBytes [ 5] 2.00-3.00 sec 4.60 MBytes 38.6 Mbits/sec 0 236 KBytes [ 5] 3.00-4.00 sec 4.16 MBytes 34.9 Mbits/sec 0 266 KBytes [ 5] 4.00-5.00 sec 3.54 MBytes 29.7 Mbits/sec 0 266 KBytes [ 5] 5.00-6.00 sec 4.29 MBytes 36.0 Mbits/sec 0 300 KBytes [ 5] 6.00-7.00 sec 4.47 MBytes 37.6 Mbits/sec 0 300 KBytes [ 5] 7.00-8.00 sec 3.42 MBytes 28.6 Mbits/sec 0 317 KBytes [ 5] 8.00-9.00 sec 3.67 MBytes 30.9 Mbits/sec 0 355 KBytes [ 5] 9.00-10.00 sec 2.92 MBytes 24.5 Mbits/sec 0 355 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 35.6 MBytes 29.9 Mbits/sec 0 sender [ 5] 0.00-10.03 sec 34.2 MBytes 28.6 Mbits/sec receiver
The numbers have spoken! I can say that it is a not bad speed, but it is a half,
I got in comparison with my
Huawei Matebook D.
Certainly, Nezha’s design is interesting. Many of the key elements for the operation of the system is still being developed and we would like to have some contribution to the software for D1 Nezha, for example, support in the Yocto Project. Please let us know in the comments what do you think about this board and what should we check?
If you think we can help in improving the security of your firmware or you
looking for someone who can boost your product by leveraging advanced features
of used hardware platform, feel free to book a call with us
or drop us email to
email@example.com. If you are interested in similar
content feel free to sign up to our newsletter.