3 FriendlyElec NanoPi R5C

Contents

3.1 Board Overview

The NanoPi R5C is an open-source mini IoT gateway device with two 2.5 Gbit, designed and developed by FriendlyElec. It is integrated with Rockchip RK3568B2 CPU, 1/2/4 GB LPDDR4X RAM and 8 or 32 GB eMMC flash. The NanoPi R5C has rich hardware resources with a compact size of 58 × 58 mm.

../../../../_images/nanopi-r5c.webp

Fig. 3.8 FriendlyElec NanoPi R5C

3.1.1 Board Layout

../../../../_images/nanopi-r5c-layout.jpg

Fig. 3.9 FriendlyElec NanoPi R5C Layout

3.1.2 Photos

../../../../_images/nanopi-r5c-overview.jpg

Fig. 3.10 FriendlyElec NanoPi R5C Board Overview

../../../../_images/nanopi-r5c-front.jpg

Fig. 3.11 FriendlyElec NanoPi R5C Board Front View

../../../../_images/nanopi-r5c-back.jpg

Fig. 3.12 FriendlyElec NanoPi R5C Board Back View

../../../../_images/nanopi-r5c-case-1.jpg

Fig. 3.13 FriendlyElec NanoPi R5C Case Overview

../../../../_images/nanopi-r5c-case-2.jpg

Fig. 3.14 FriendlyElec NanoPi R5C Case Front View

../../../../_images/nanopi-r5c-case-3.jpg

Fig. 3.15 FriendlyElec NanoPi R5C Case Back View

../../../../_images/nanopi-r5c-case-4.jpg

Fig. 3.16 FriendlyElec NanoPi R5C Opened Case

3.1.3 Specification

Table 3.5 FriendlyElec NanoPi R5C Specification

Model

FriendlyElec NanoPi R5C

Processor

SoC Rockchip RK3568
Quad Cortex-A55 ARM 64 bits processor
frequency up to 2.0 GHz

GPU

RM Mali-G52 GPU with support for OpenGL ES 1.1/2.0/3.2, OpenCL 2.0, Vulkan 1.1

NPU

0.8 TOPS

Memory

4 GiB LPDDR4X

Storage

microSD (support UHS-I)
8 GiB eMMC flash (up to 128 GiB)

Ethernet

2 × 2.5 Gigabit Ethernet RJ45 ports

PCI Express

1 × M.2 Key E 2230: PCIe 2.1 x1, USB 2.0 x1 (supports M.2 WiFi, SSD and Bluetooth modules)

USB (Host)

2 × USB 3.2 Gen 1 Type-A ports

Serial

1 × Debug UART (3 pin 2.54 mm header, 3.3V level, 1500000 bps)

HDMI

Support HDMI 1.4 and HDMI 2.0 operation
Support up to 10 bits deep color modes
Support up to 1080p@120 Hz and 4096x2304@60 Hz
Support 3D video formats

LED’s

4 × GPIO controlled LED’s (SYS, WAN, LAN, WL)

Power

USB-C 5V input

Working temperature

0°C to 70°C

Dimensions

PCB: 8 layer, 58 × 58 × 1.6 mm)

nanopi-r5c-dimensions

3.2 Build Targets

3.2.1 Machines

Table 3.6 Supported Machines

Board1

Target YAML2

Machine3

Target Recipe(s)4

Running Media5

Installation Media6

NanoPi R5C

nanopi-r5c-sd.yml

nanopi-r5c-sd

twimg-default-swu

microSD card

nanopi-r5c-emmc.yml

nanopi-r5c-emmc

twimg-default-swu-factory

internal eMMC

microSD card

1

Target board.

2

Target YAML-file located in the kas/targets directory.

3

Target machine name stored in the MACHINE BitBake variable for selected Target YAML.

4

Recipes that will be built by default for the target. In Section 3.2.2, you can find list of supported recipes for the target images, which you can build in addition to the default recipes using optional --target option in build command (see Section 3.3).

5

External or internal data storage where the TanoWrt operating system is running.

6

External storage device for which an installation image is generated. When booting from the Installation Media, the TanoWrt system is installed on the Running Media storage.

3.2.2 Images

Table 3.7 Supported Images

Read-Only Root Filesystem Image

Recipe7

Supported by Target(s)

Description

twimg-default

twimg-default

All

Standard TanoWrt image.

twimg-default-swu

All

Standard TanoWrt image and firmware upgrade image. When building this image, twimg-default will also be built as dependency.

twimg-default-swu-factory

nanopi-r5c-emmc.yml

Factory installation image for standard TanoWrt image. When building this image, twimg-default and twimg-default-swu will also be built as dependencies.

twimg-qt5

twimg-qt5

All

Standard TanoWrt image with Qt5 support.

twimg-qt5-swu

All

Standard TanoWrt image with Qt5 support and firmware upgrade image. When building this image, twimg-qt5 will also be built as dependency.

twimg-qt5-swu-factory

nanopi-r5c-emmc.yml

Factory installation image for standard TanoWrt image with Qt5 support. When building this image, twimg-qt5 and twimg-qt5-swu will also be built as dependencies.

7

Image recipe name. This name can be used as argument for --target build command option (see Section 3.3 section).

3.3 Build

Please read the common information on how to perform a TanoWrt images build and preparing the build environment in section “Building TanoWrt”.

See also

  • See section Section 3.2.1 to select the required target YAML file (<target-yml>).

  • See section Section 3.2.2 to select the required root filesystem image recipe (<target-recipe>).

  • See section Section 3.5 for detailed information about the produced build artifacts.

3.3.1 Examples

3.3.1.1 Build Default Images for NanoPi R5C Board

For microSD Card

$ kas build targets/kas/nanopi-r5c-sd.yml

Default images will be produced to boot and run from the microSD card on the FriendlyElec NanoPi R5C target board.

For Internal eMMC Flash

$ kas build targets/kas/nanopi-r5c-emmc.yml

An initial factory installation image will be generated, intended to run from the microSD card. The installer image will install the default image to the internal eMMC flash memory and further the NanoPi R5C board will boot and run from the eMMC flash memory.

3.3.1.2 Build Image with Qt5 Support for NanoPi R5C Board

For SD Card

$ kas build --target twimg-qt5-swu targets/kas/nanopi-r5c-sd.yml

Images with Qt5 support will be produced to boot and run from the SD card on the NanoPi R5C target board.

For Internal eMMC Flash

$ kas build --target twimg-qt5-swu-factory targets/kas/nanopi-r5c-emmc.yml

An initial factory installation image will be generated, intended to run from the SD card. The installer image will install the image with Qt5 support to the internal eMMC flash memory and further the NanoPi R5C board will boot and run from the eMMC flash memory.

3.4 Partitioning Layouts

Images for NanoPi R5C board using default partitions layouts described here.

For example, the partitioning and data layout for the 32 GB eMMC are shown in the figure below.

../../../../_images/nanopi-r5c-layout-emmc.svg

Fig. 3.17 FriendlyElec NanoPi R5C Partitions Layout for eMMC (32 GB)

The eMMC hardware boot partitions 1 (/dev/mmcblk0boot0) and 2 (/dev/mmcblk0boot1) are currently not used.

3.5 Produced Build Artifacts

All produced build artifacts are stored in the ~/tanowrt/build/tanowrt-glibc/deploy/images/<MACHINE> directory. Refer to table Produced Build Artifacts for a description of some common (not all) build artifacts.

Table 3.8 Produced Build Artifacts

Artifact

Target(s)

Description

Bootloader

idblock.img-<MACHINE>-sdcard

All

Rockchip IDBLOCK image for booting from SD card.

idblock.img-<MACHINE>-emmc

nanopi-r5c-emmc.yml

Rockchip IDBLOCK image for booting from internal eMMC.

Bootloader (U-Boot)

startup-<MACHINE>.img

All

U-Boot startup script.

startup-factory-<MACHINE>.img

nanopi-r5c-emmc.yml

U-Boot startup script for factory installation image.

u-boot-initial-env-<MACHINE>-sdcard

All

U-Boot initial environment image for SD card image.

u-boot-initial-env-<MACHINE>-emmc

nanopi-r5c-emmc.yml

U-Boot initial environment image for internal eMMC flash.

u-boot-<MACHINE>.bin-sdcard

All

U-Boot binary image for booting from SD card.

u-boot-<MACHINE>.bin-emmc

nanopi-r5c-emmc.yml

U-Boot binary image for booting from internal eMMC flash.

Linux Kernel and DTB

fitImage-<MACHINE>.bin

All

Flattened Image Tree (FIT) image with Linux kernel and Device Tree Blobs (DTB).

fitImage-<MACHINE>.ext4

All

FIT image packed into an ext4 file system image.

rk3568-nanopi5-rev01-<MACHINE>.dtb
rk3568-nanopi5-rev02-<MACHINE>.dtb
rk3568-nanopi5-rev03-<MACHINE>.dtb
rk3568-nanopi5-rev04-<MACHINE>.dtb
rk3568-nanopi5-rev05-<MACHINE>.dtb
rk3568-nanopi5-rev07-<MACHINE>.dtb

All

Target Device Tree Blobs (DTB).

Images

<rootfs-image>-<MACHINE>.sdcard.img

nanopi-r5c-sd.yml

SD card image including all required partitions for booting and running the system. This image is ready to be written to the SD card using the dd utility or similar (see Writing Images).

<rootfs-image>-swu-factory-<MACHINE>.sdcard.img

nanopi-r5c-emmc.yml

SD card factory installation image. This image is ready to be written to the SD card using the dd utility or similar (see Writing Images).

<rootfs-image>-<MACHINE>.squashfs-lzo

All

Root filesystem image (squashfs with LZO compression).

<rootfs-image>-swu-<MACHINE>.swu

All

Firmware upgrade image.

Note

<MACHINE> in the artifacts path and artifact file names are replaced by the actual value of the MACHINE BitBake variable for the chosen target. <rootfs-image> is replaced by the actual read-only root filesystem image name.

For example, below is the complete lists of artifacts produced by the nanopi-r5c-sd.yml and nanopi-r5c-sd.yml target builds. There are two types of listings here — a complete listing, and a reduced listing without the symbolic links display.

3.5.1 Build Artifacts Listings for nanopi-r5c-sd.yml Target

[~/tanowrt/build/tanowrt-glibc/deploy/images/nanopi-r5c-sd]$ ls -gGh | grep -v -e "^l"
total 291M
-rw-r--r-- 2  12M May 14 08:35 fitImage--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.bin
-rw-r--r-- 2  15M May 14 08:35 fitImage-6.1.57+gitAUTOINC+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd.ext4
-rw-r--r-- 2 5.8K May 14 08:35 fitImage-its--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.its
-rw-r--r-- 2  11M May 14 08:35 fitImage-linux.bin--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.bin
-rw-r--r-- 2  15M May 14 08:35 fitImage-nanopi-r5c-sd.ext4
-rwxr-xr-x 2 256K May 14 08:35 idblock.img-nanopi-r5c-sd-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55
-rwxr-xr-x 2 415K May 14 08:35 loader.bin-nanopi-r5c-sd-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55
-rw-r--r-- 2 2.6M May 14 08:35 modules--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.tgz
-rw-r--r-- 2 171K May 14 08:35 rk3568-nanopi5-rev01--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.dtb
-rw-r--r-- 2 170K May 14 08:35 rk3568-nanopi5-rev02--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.dtb
-rw-r--r-- 2 170K May 14 08:35 rk3568-nanopi5-rev03--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.dtb
-rw-r--r-- 2 170K May 14 08:35 rk3568-nanopi5-rev04--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.dtb
-rw-r--r-- 2 171K May 14 08:35 rk3568-nanopi5-rev05--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.dtb
-rw-r--r-- 2 172K May 14 08:35 rk3568-nanopi5-rev07--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-sd-20240514020944.dtb
-rw-r--r-- 2 2.3K May 14 08:35 startup.img
-rw-r--r-- 2   16 May 14 08:35 startup.img.version
-rw-r--r-- 2  70K May 14 08:35 twimg-default-nanopi-r5c-sd-20240514020944.rootfs.manifest
-rw-r--r-- 2 945M May 14 08:37 twimg-default-nanopi-r5c-sd-20240514020944.rootfs.sdcard.img
-rw-r--r-- 2  48M May 14 08:36 twimg-default-nanopi-r5c-sd-20240514020944.rootfs.squashfs-lzo
-rw-r--r-- 2   24 May 14 08:37 twimg-default-nanopi-r5c-sd-20240514020944.rootfs.version
-rw-r--r-- 2 354K May 14 08:35 twimg-default-nanopi-r5c-sd-20240514020944.testdata.json
-rw-r--r-- 2 2.2K May 14 08:36 twimg-default-sdimage-rockchip-swu-a-b.wks
-rw-r--r-- 2  65M May 14 08:38 twimg-default-swu-nanopi-r5c-sd-20240514020944.swu
-rw-r--r-- 2 5.7K May 14 08:36 twimg-default.env
-rw-r--r-- 2  405 May 14 08:35 u-boot-initial-env-nanopi-r5c-sd-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13
-rw-r--r-- 2  32K May 14 08:35 u-boot-initial-env-nanopi-r5c-sd-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13.bin
-rw-r--r-- 2 2.0M May 14 08:35 u-boot-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13.bin

3.5.2 Build Artifacts Listings for nanopi-r5c-emmc.yml Target

[~/tanowrt/build/tanowrt-glibc/deploy/images/nanopi-r5c-emmc]$ ls -gGh | grep -v -e "^l"
total 330M
-rw-r--r-- 2  12M May 16 03:11 fitImage--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.bin
-rw-r--r-- 2  15M May 16 03:11 fitImage-6.1.57+gitAUTOINC+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc.ext4
-rw-r--r-- 2 5.8K May 16 03:11 fitImage-its--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.its
-rw-r--r-- 2 6.6K May 16 03:11 fitImage-its-twimg-initramfs-swu-factory-nanopi-r5c-emmc--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.its
-rw-r--r-- 2  11M May 16 03:11 fitImage-linux.bin--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.bin
-rw-r--r-- 2  15M May 16 03:11 fitImage-nanopi-r5c-emmc.ext4
-rw-r--r-- 2  27M May 16 03:11 fitImage-twimg-initramfs-swu-factory-6.1.57+gitAUTOINC+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc.ext4
-rw-r--r-- 2  21M May 16 03:11 fitImage-twimg-initramfs-swu-factory-nanopi-r5c-emmc--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.bin
-rw-r--r-- 2  27M May 16 03:11 fitImage-twimg-initramfs-swu-factory-nanopi-r5c-emmc.ext4
-rwxr-xr-x 2 256K May 15 02:50 idblock.img-nanopi-r5c-emmc-emmc-2017.09+gitAUTOINC+4695fbcfba_642a85dd55
-rwxr-xr-x 2 256K May 15 02:50 idblock.img-nanopi-r5c-emmc-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55
-rwxr-xr-x 2 415K May 15 02:50 loader.bin-nanopi-r5c-emmc-emmc-2017.09+gitAUTOINC+4695fbcfba_642a85dd55
-rwxr-xr-x 2 415K May 15 02:50 loader.bin-nanopi-r5c-emmc-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55
-rw-r--r-- 2 2.6M May 16 03:11 modules--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.tgz
-rw-r--r-- 2 171K May 16 03:11 rk3568-nanopi5-rev01--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.dtb
-rw-r--r-- 2 170K May 16 03:11 rk3568-nanopi5-rev02--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.dtb
-rw-r--r-- 2 170K May 16 03:11 rk3568-nanopi5-rev03--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.dtb
-rw-r--r-- 2 170K May 16 03:11 rk3568-nanopi5-rev04--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.dtb
-rw-r--r-- 2 171K May 16 03:11 rk3568-nanopi5-rev05--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.dtb
-rw-r--r-- 2 172K May 16 03:11 rk3568-nanopi5-rev07--6.1.57+git0+ea9e2a9344-tano0.2.1.20.1.0-nanopi-r5c-emmc-20240516000713.dtb
-rw-r--r-- 2 1.1K May 15 02:49 startup-factory.img
-rw-r--r-- 2   16 May 15 02:49 startup-factory.img.version
-rw-r--r-- 2 2.3K May 15 02:49 startup.img
-rw-r--r-- 2   16 May 15 02:49 startup.img.version
-rw-r--r-- 2  71K May 16 03:12 twimg-default-nanopi-r5c-emmc-20240516000713.rootfs.manifest
-rw-r--r-- 2  47M May 16 03:12 twimg-default-nanopi-r5c-emmc-20240516000713.rootfs.squashfs-lzo
-rw-r--r-- 2   24 May 16 03:12 twimg-default-nanopi-r5c-emmc-20240516000713.rootfs.version
-rw-r--r-- 2 355K May 16 03:12 twimg-default-nanopi-r5c-emmc-20240516000713.testdata.json
-rw-r--r-- 2 101M May 16 03:12 twimg-default-swu-factory-nanopi-r5c-emmc-20240516000713.sdcard.img
-rw-r--r-- 2 1.4K May 16 03:11 twimg-default-swu-factory-sdimage-rockchip-swu-factory.wks
-rw-r--r-- 2 6.3K May 16 03:11 twimg-default-swu-factory.env
-rw-r--r-- 2  64M May 16 03:12 twimg-default-swu-nanopi-r5c-emmc-20240516000713.swu
-rw-r--r-- 2 9.6M May 16 03:11 twimg-initramfs-swu-factory-nanopi-r5c-emmc-20240516000713.rootfs.cpio.gz
-rw-r--r-- 2 3.1K May 16 03:10 twimg-initramfs-swu-factory-nanopi-r5c-emmc-20240516000713.rootfs.manifest
-rw-r--r-- 2   24 May 16 03:11 twimg-initramfs-swu-factory-nanopi-r5c-emmc-20240516000713.rootfs.version
-rw-r--r-- 2 361K May 16 03:10 twimg-initramfs-swu-factory-nanopi-r5c-emmc-20240516000713.testdata.json
-rw-r--r-- 2 2.0M May 15 02:50 u-boot-emmc-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13.bin
-rw-r--r-- 2  405 May 15 02:50 u-boot-initial-env-nanopi-r5c-emmc-emmc-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13
-rw-r--r-- 2  32K May 15 02:50 u-boot-initial-env-nanopi-r5c-emmc-emmc-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13.bin
-rw-r--r-- 2  405 May 15 02:50 u-boot-initial-env-nanopi-r5c-emmc-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13
-rw-r--r-- 2  32K May 15 02:50 u-boot-initial-env-nanopi-r5c-emmc-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13.bin
-rw-r--r-- 2 2.0M May 15 02:50 u-boot-sdcard-2017.09+gitAUTOINC+4695fbcfba_642a85dd55-tano13.bin

3.6 Writing Images

3.6.1 Writing Image to microSD Card

No special information about writing images to microSD card for NanoPi R5C board. See common instructions in Writing Images to SD Card or USB Flash Drive section.

Examples

Writing factory installation image for the nanopi-r5c-emmc.yml target to the microSD card /dev/mmcblk1:

$ dd if=twimg-default-swu-factory-nanopi-r5c-emmc.sdcard.img of=/dev/mmcblk1

Writing bootable image for the nanopi-r5c-sd.yml target to the microSD card /dev/mmcblk1:

$ dd if=twimg-default-nanopi-r5c-sd.sdcard.img of=/dev/mmcblk1

3.6.2 Writing Image to eMMC Flash

For the initial flashing of the internal eMMC memory it is recommended to use the special image of the initial factory installation. If you choose a build target (see Build Targets for details) that assumes using the factory installation image for the initial flashing of the device, a factory installation image (<rootfs-image>-swu-factory-<MACHINE>.sdcard.img) will be automatically generated during the build process (see Build). To write the factory installation image to a SD card, follow the instructions from Writing Images to SD Card or USB Flash Drive section.

When you boot device from the prepaired SD card with factory installation image the installation of TanoWrt to the internal eMMC flash memory will be done automatically. The detailed installation log is available on the debug UART. After the installation is complete, the board will reboots automatically. When the device is rebooted, the installed system will be booted from the internal eMMC flash memory.

Caution

Be aware that during the installation all existing data on the internal eMMC flash memory will be permanently lost.

3.7 Booting and Running

3.7.1 Booting from SD Card

  1. Insert the micro SD card to the board.

  2. Connect the USB-C power cable to the input connector.

  3. NanoPi R5C will boot.

  4. (Optional) Use a USB to TTL serial cable to make a connection between your PC and NanoPi R5C. See Serial Console section for details.

  5. Log in to system using default credentials.

Attention

The internal eMMC flash memory must be empty in order to perform a boot from the SD card. See Erasing Internal eMMC Flash section for details about erasing internal eMMC flash.

3.7.2 Booting from Internal eMMC Flash

  1. Connect the USB-C power cable to the input connector.

  2. NanoPi R5C will boot.

  3. (Optional) Use a USB to TTL serial cable to make a connection between your PC and NanoPi R5C. See Serial Console section for details.

  4. Log in to system using default credentials.

3.7.3 Erasing Internal eMMC Flash

You can erase the internal eMMC flash memory in the following ways:

  • Linux command line;

  • U-Boot command line;

  • special utilities and USB connection with PC.

Erasing eMMC Using Linux Command Line

If the device has a bootable Linux system, you can erase the eMMC by the following command entered in the Linux terminal:

[root@tanowrt ~]# dd if=/dev/zero of=/dev/mmcblk0 bs=1k count=32768

Note that if the Linux distribution flashed on the eMMC flash memory is not TanoWrt, the device name of the eMMC flash memory may be different. You can usually find out the real device name by analysing the system boot log by running the command dmesg. For example:

[root@tanowrt ~]# dmesg | grep mmcblk
[    1.450311] mmcblk0: mmc2:0001 A3A551 28.9 GiB
[    1.452242] mmcblk0boot0: mmc2:0001 A3A551 4.00 MiB
[    1.453387] mmcblk0boot1: mmc2:0001 A3A551 4.00 MiB
[    1.454417] mmcblk0rpmb: mmc2:0001 A3A551 16.0 MiB, chardev (237:0)
[    1.574956] mmcblk1: mmc0:59b4 SMI   7.50 GiB
[    1.585584]  mmcblk1: p1 p2 p3 p4 p5 p6
[    9.188921] overlay-resize: Root device mmcblk1
[    9.393006] overlay-resize: Overlay partition /dev/mmcblk1p6 (disk /dev/mmcblk1)
[   11.313657] overlay-resize: Partition /dev/mmcblk1p6 end sector 1933311 -> 15728606
[   11.313939] overlay-resize: Resizing filesystem on partition /dev/mmcblk1p6...
[   24.781017] mount_root: /dev/mmcblk1p1: p1, rw, start 8388608, size 8388608
[   24.786788] mount_root: /dev/mmcblk1p2: p2, rw, start 16777216, size 67108864
[   24.787141] mount_root: /dev/mmcblk1p3: p3, rw, start 83886080, size 402653184 [rootfs]
[   24.793086] mount_root: /dev/mmcblk1p4: p4, rw, start 486539264, size 67108864
[   24.794989] mount_root: /dev/mmcblk1p5: p5, rw, start 553648128, size 402653184
[   24.800779] mount_root: /dev/mmcblk1p6: p6, rw, start 956301312, size 7096745472 [overlay]
[   24.800966] mount_root: root filesystem on the /dev/mmcblk1p3 partition of /dev/mmcblk1 (rw) device
[   24.821481] mount_root: founded suitable overlay partition /dev/mmcblk1p6
[   25.215651] EXT4-fs (mmcblk1p6): mounted filesystem with ordered data mode. Quota mode: disabled.
[   26.700054] EXT4-fs (mmcblk1p6): unmounting filesystem.
[   26.786359] EXT4-fs (mmcblk1p6): mounted filesystem with ordered data mode. Quota mode: disabled.

This output shows that device /dev/mmcblk0 is eMMC flash memory and device /dev/mmcblk1 is SD card.

3.8 Serial Console

Note

The default baudrate of NanoPi R5C with original firmware is 1500000 (1.5 Mbps), please check if your USB to TTL cable support 1.5 Mbps baudrate. Some model of CP210X and PL2303x have baudrate limitation, please check the specified model.

Connection

Connect the USB to TTL serial cable as described below. Don’t connect the VCC wire, connect only TX, RX and GND wires.

Signal

NanoPi R5C Board

3-pin connector J9510 (header next to LAN/USB-C)

GND

Pin 1 (GND)

TX

Pin 2 (UART2DBG_TX)

RX

Pin 3 (UART2DBG_RX)

See USB to TTL Converter Connection to NanoPi R5C figure for example connection USB to TTL converter with NanoPi R5C.

../../../../_images/nanopi-r5c-usb-to-ttl.jpg

Fig. 3.18 USB to TTL Converter Connection to NanoPi R5C

Serial Setting on Host PC

The default serial console settings for NanoPi R5C for U-Boot and kernel are described in table below.

Parameter

Value

Baudrate

1500000

Data bits

8

Stop bits

1

Parity

none

Flow control

none

Signal level

3.3 V

3.9 Default Network Configuration

By default, network port LAN (interface eth1) are joined into a bridge (br-lan interface). Bridge br-lan is in the LAN firewall zone. By default, the IP address on the br-lan bridge is configured using a DHCP client.

To see obtained IP configuration for LAN network use the following command:

[root@tanowrt ~]# ifstatus lan | jsonfilter -e '@["ipv4-address"][0].address'
192.168.0.54

In this example, the device got the IP address 192.168.0.54 via DHCP on LAN interface (bridge br-lan).

The network port WAN (interface eth0) is a separate network interface included in the WAN firewall zone with enabled translation (NAT) from LAN zone. The IP address of the eth0 interface is also configured with a DHCP client. A firewall with blocking rules for incoming traffic is enabled on the eth0 interface. Therefore, there is no access to the web configuration interface through this interface.

To see obtained IP configuration for WAN network use the following command:

[root@tanowrt ~]# ifstatus wan | jsonfilter -e '@["ipv4-address"][0].address'
10.10.0.168

In this example, the device got the IP address 10.10.0.168 via DHCP on the WAN interface (eth0).

Ethernet ports LAN (eth1) and WAN (eth0) have enabled LLDP by default.

3.10 Web User Interface

The WebUI can be accessed via Ethernet port connection through HTTP(s) protocol. You must see something like this in browser after you logged in:

../../../../_images/page-login.png

Fig. 3.19 LuCI WebUI Login Page

../../../../_images/nanopi-r5c-luci-status.png

Fig. 3.20 LuCI WebUI Overview Page

3.11 Firmware Upgrade

No special information about firmware upgrade. Use produced .swu artifact for upgrading running system.

See also

See common instructions in Firmware Upgrade section.

3.12 Additional Information

Here are sections with various additional information about the FriendlyElec NanoPi R5C board and the operation of TanoWrt on it.

3.13 References

  1. https://www.friendlyelec.com/index.php?route=product/product&product_id=290

  2. https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5C#Hardware_Spec