0% found this document useful (0 votes)
1K views548 pages

OrangePi 5 Plus RK3588 User Manual v1.6

This document is the user manual for the Orange Pi 5 Plus development board. It describes the basic features and specifications of the board, and provides instructions for installing and using various operating systems on the board such as Linux, Android, and OpenWRT. It also provides directions for using functions of the board like network connectivity, USB, HDMI, and audio.

Uploaded by

a. saidi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views548 pages

OrangePi 5 Plus RK3588 User Manual v1.6

This document is the user manual for the Orange Pi 5 Plus development board. It describes the basic features and specifications of the board, and provides instructions for installing and using various operating systems on the board such as Linux, Android, and OpenWRT. It also provides directions for using functions of the board like network connectivity, USB, HDMI, and audio.

Uploaded by

a. saidi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 548

range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co.

, Ltd

Orange Pi 5 Plus
User Manual
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Catalog
1. Basic Features of Orange Pi 5 Plus ................................................................................. 1
1.1. What is Orange Pi 5 Plus .....................................................................................................1

1.2. Purpose of Orange Pi 5 Plus ................................................................................................1

1.3. Hardware Specifications of Orange Pi 5 Plus ......................................................................2

1.4. Top view and bottom view of Orange Pi 5 Plus .................................................................. 4

1.5. nterface details of Orange Pi 5 Plus ....................................................................................5

2. Introduction to the use of the development board ........................................................... 6


2.1. Prepare the required accessories ....................................................................................... 6

2.2. Download the image of the development board and related materials ..........................14

2.3. Method of burning Linux image to TF card based on Windows PC ................................. 15

2.3.1. How to use balenaEtcher to burn Linux image ..................................... 16


2.3.2. How to use RKDevTool to burn Linux image to TF card ..................... 21
2.3.3. How to use Win32Diskimager to burn Linux image .............................29
2.4. Method of burning Linux image to TF card based on Ubuntu PC .................................... 32

2.5. How to burn Linux image to eMMC ................................................................................. 37

2.5.1. How to use RKDevTool to burn Linux image into eMMC ...................37
2.5.2. Using the dd command to burn the Linux image into eMMC .............. 46
2.6. How to burn Linux image to SPIFlash+NVMe SSD ............................................................49

2.6.1. The method of using the dd command to burn ......................................49


2.6.2. How to use balenaEtcher software to program ......................................53
2.6.3. Using RKDevTool to burn .....................................................................68
2.7. How to burn OpenWRT image to SPI FLASH .................................................................... 77

2.7.1. The method of using the dd command to burn ......................................77


2.7.2. Using RKDevTool to burn .....................................................................78
2.8. How to burn Android image to TF card ............................................................................ 86

2.9. How to burn Android image into eMMC .......................................................................... 90

2.9.1. How to burn Android image into eMMC via Type-C cable .................. 90
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.9.2. How to burn Android 12 image into eMMC via TF card ......................95
2.10. How to burn Android image to SPIFlash+NVMe SSD ................................................... 100

2.11. How to burn Orange Pi OS (Droid) image to TF card ....................................................105

2.12. How to burn Orange Pi OS (Droid) image into eMMC ..................................................108

2.12.1. Burn Orange Pi OS (Droid) image to eMMC ................................... 108


2.12.2. Burn Orange Pi OS (Droid) image to eMMC via TF card ................ 113
2.13. Burn Orange Pi OS (Droid) image to SPIFlash+NVMe SSD ............................................118

2.14. How to use RKDevTool to clear SPIFlash ...................................................................... 123

2.15. Start the Orange Pi development board ...................................................................... 130

2.16. How to use the debugging serial port .......................................................................... 131

2.16.1. Connection instruction of debugging serial port ............................... 131


2.16.2. How to use the debugging serial port on the Ubuntu platform ......... 133
2.16.3. How to use the debugging serial port on Windows platform ............ 136
2.17. Instructions for using the 5v pin in the 40pin interface of the development board to
supply power ............................................................................................................................ 139

3. Ubuntu/Debian Server and Xfce desktop system instructions .................................... 140


3.1. Supported Ubuntu/Debian image types and kernel versions ........................................ 141

3.2. Linux system adaptation .................................................................................................141

3.3. The format of linux commands in this manual ...............................................................143

3.4. Linux system login instructions .......................................................................................144

3.4.1. Linux system default login account and password ..............................144


3.4.2. How to set automatic terminal login in linux system .......................... 145
3.4.3. Instructions for automatic login of Linux desktop version system ..... 145
3.4.4. The setting method of root user automatic login in Linux desktop
version system ................................................................................................... 147
3.4.5. The method of disabling the desktop in the Linux desktop version
system ................................................................................................................ 147
3.5. Onboard LED Light Test Instructions ...............................................................................148

3.6. Network connection test ................................................................................................ 150


range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.6.1. 2.5G Ethernet port test .........................................................................150


3.6.2. WIFI connection test ........................................................................... 153
3.6.3. How to set a static IP address .............................................................. 161
3.7. How to use E-Key PCIe WIFI6+Bluetooth module .......................................................... 169

3.8. SSH remote login development board ........................................................................... 171

3.8.1. SSH remote login development board under Ubuntu ..........................171


3.8.2. SSH remote login development board under Windows ...................... 172
3.9. How to use ADB .............................................................................................................. 174

3.9.1. How to use network adb ...................................................................... 174


3.9.2. adb3.9.2. Use type-c data cable to connect to adb ...............................176
3.10. The method of uploading files to the Linux system of the development board ..........178

3.10.1. How to upload files to the development board Linux system in Ubuntu
PC ...................................................................................................................... 178
3.10.2. The method of uploading files to the development board Linux system
in Windows PC .................................................................................................. 182
3.11. HDMI test ......................................................................................................................187

3.11.1. HDMI test ..........................................................................................187


3.11.2. HDMI IN test method ........................................................................189
3.11.3. HDMI to VGA display test ................................................................192
3.11.4. HDMI resolution setting method .......................................................193
3.12. How to use Bluetooth ...................................................................................................196

3.12.1. Test method of desktop image ........................................................... 196


3.13. USB interface test ......................................................................................................... 199

3.13.1. Connect USB mouse or keyboard to test ...........................................199


3.13.2. Connect USB storage device test ...................................................... 199
3.13.3. USB wireless network card test .........................................................200
3.13.4. USB camera test ................................................................................ 205
3.14. Audio Test ..................................................................................................................... 207

3.14.1. Testing audio methods on desktop systems .......................................207


3.14.2. The method of using commands to play audio ..................................209
3.14.3. Method of using commands to test recording ................................... 212
3.15. Temperature sensor ......................................................................................................212
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.16. 40 Pin Expansion Interface Pin Instructions ................................................................. 214

3.17. How to install wiringOP ................................................................................................ 216

3.18. 40 pin interface GPIO, I2C, UART, SPI, CAN and PWM test ...........................................218

3.18.1. 40 pin GPIO port test .........................................................................218


3.18.2. How to set the pull-down resistance of pin GPIO port ..................... 220
3.18.3. 40 pin SPI test ....................................................................................221
3.18.4. 40 pin I2C test ................................................................................... 224
3.18.5. 40 pin UART test ...............................................................................227
3.18.6. How to test PWM using /sys/class/pwm ........................................... 229
3.18.7. CAN test method ............................................................................... 234
3.19. Method of using wiringOP hardware PWM ................................................................. 241

3.19.1. How to set PWM using wiringOP’s gpio command .......................242


3.19.2. How to use the PWM test program ................................................... 247
3.20. How to install and use wiringOP-Python ......................................................................248

3.20.1. How to install wiringOP-Python ....................................................... 249


3.20.2. 40 pin GPIO port test .........................................................................251
3.20.3. 40 pin SPI test ....................................................................................253
3.20.4. 40 pin I2C test ................................................................................... 256
3.20.5. 40 pin UART test ...............................................................................259
3.21. Hardware watchdog test .............................................................................................. 262

3.22. Check the serial number of RK3588 chip ..................................................................... 263

3.23. How to install Docker ....................................................................................................263

3.24. How to download and install arm64 version balenaEtcher ......................................... 264

3.25. The installation method of the pagoda linux panel ..................................................... 266

3.26. Set the Chinese environment and install Chinese input method .................................271

3.26.1. Debian system installation method ....................................................271


3.26.2. ubuntu 20.04 system installation method .......................................... 278
3.26.3. Ubuntu 22.04 installation method ..................................................... 282
3.27. How to remotely log in to the Linux system desktop method ..................................... 288

3.27.1. Use NoMachine remote login ............................................................288


range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.27.2. Use VNC remote login ...................................................................... 292


3.28. Some programming language test supported by thelinux system ...............................294

3.28.1. Debian Bullseye system .................................................................... 294


3.28.2. Debian Bookworm system ................................................................ 296
3.28.3. Ubuntu Focal system ......................................................................... 297
3.28.4. Ubuntu Jammy system ...................................................................... 299
3.29. QT installation method ................................................................................................. 301

3.30. ROS installation method ............................................................................................... 310

3.30.1. Ubuntu 20.04 method of installing ROS 1 Noetic ............................ 310


3.30.2. Ubuntu20.04 The method of installing ROS 2 Galactic ....................314
3.30.3. Ubuntu22.04 to install ROS 2 Humble ..............................................317
3.31. The method of installing the kernel header file ........................................................... 319

3.32. How to use 10.1 inch MIPI LCD screen ......................................................................... 322

3.32.1. 10.1 -inch MIPI screen assembly method ......................................... 322


3.32.2. Open the 10.1 -inch MIPI LCD screen configuration ....................... 324
3.32.3. The server version of the image rotation display direction method .. 326
3.32.4. The desktop image rotation display and touch direction method ......327
3.33. Instructions for opening the logo use instructions .......................................................329

3.34. Test methods for OV13850 and OV13855 MIPI camera ...............................................330

3.35. Test method for infrared receiving ............................................................................... 334

3.36. The method to use RTC ................................................................................................ 337

3.37. How to use the cooling PWM fan .................................................................................338

3.38. How to use the ZFS file system ..................................................................................... 340

3.38.1. How to install ZFS .............................................................................340


3.38.2. Methods of creating ZFS pools ......................................................... 341
3.38.3. Test the data deduplication function of ZFS ......................................343
3.38.4. Test the data compression function of ZFS ....................................... 344
3.39. How to install and use CasaOS ..................................................................................... 345

3.39.1. CasaOS installation method .............................................................. 345


3.39.2. How to use CasaOS ........................................................................... 346
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.40. The method of shutting down and restarting the development board ....................... 354

4. Ubuntu22.04 Gnome Wayland Desktop system instructions ...................................... 355


4.1. Ubuntu22.04 GNOME desktop system adaptation situation ......................................... 356

4.2. Confirm that the current window system used by the system is Wayland .................... 358

4.3. Switch the method of default audio equipment ............................................................ 359

4.4. GPU test method ............................................................................................................ 360

4.5. Chromium browser hard solution to play video test method ........................................ 362

4.6. Kodi hard solution to play video test method ................................................................ 364

4.7. Ubuntu22.04 Gnome to install ROS 2 Humble ............................................................... 372

4.8. Set the Chinese environment and the method of installing the Chinese input method374

5. Orange Pi OS Arch system use instructions ................................................................ 381


5.1. Orange Pi OS Arch system adaptation situation .............................................................381

5.2. How to use the M.2 E-Key PCIE WIFI6+Bluetooth module ............................................ 383

5.3. How to use 10.1 inch MIPI LCD screen ........................................................................... 390

5.3.1. 10.1 -inch MIPI screen assembly method ........................................... 390


5.3.2. How to open 10.1 -inch MIPI LCD screen configuration ................... 393
5.3.3. Method of rotating display and touch direction .................................. 394
5.4. OV13850 and OV13855 MIPI test methods for testing .................................................. 397

5.5. Set the Chinese environment and the method of installing the Chinese input method399

5.6. HDMI IN test method ..................................................................................................... 405

5.7. How to install wiringOP .................................................................................................. 408

5.8. 40 PIN interface GPIO, I2C, UART, SPI, CAN and PWM test ............................................ 410

5.8.1. 40 PIN GPIO port test ......................................................................... 411


5.8.2. 40 PIN GPIO Port -to -Plattering resistance setting method ............... 411
5.8.3. 40 PIN SPI test .................................................................................... 412
5.8.4. 40 pin I2C test ..................................................................................... 415
5.8.5. 40 Pin's UART test .............................................................................. 416
5.8.6. PWM test method ................................................................................ 418
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5.8.7. CAN's test method ...............................................................................421


6. Linux SDK——orangepi-build instructions ............................................................... 424
6.1. Compilation system requirements ................................................................................. 424

6.1.1. Compile with the Ubuntu22.04 system of the development board ..... 424
6.1.2. Compile with x64 Ubuntu22.04 computer .......................................... 424
6.2. Get the source code of linux sdk .................................................................................... 427

6.2.1. Download orangepi-build from github ................................................ 427


6.2.2. Download the cross-compilation toolchain ......................................... 429
6.2.3. orangepi-build complete directory structure description .....................430
6.3. Compile u-boot ...............................................................................................................431

6.4. Compile the linux kernel .................................................................................................435

6.5. Compile rootfs ................................................................................................................ 441

6.6. Compile linux image ....................................................................................................... 444

7. Linux Development Manual ........................................................................................448


7.1. The method of compiling the kernel source code separately in the linux system of the
development board .................................................................................................................. 448

8. OpenWRT system instructions .................................................................................... 450


8.1. OpenWRT version ........................................................................................................... 450

8.2. OpenWRT Adaptation .....................................................................................................451

8.3. The first start to expand rootfs .......................................................................................451

8.4. How to log in to the system ............................................................................................452

8.4.1. Login via serial port .............................................................................452


8.4.2. Log in to the system via SSH .............................................................. 452
8.4.3. Log in to the LuCI management interface ...........................................453
8.4.4. Log in to the terminal through the LuCI management interface ......... 454
8.4.5. Use IP address + port number to log in to the terminal ....................... 457
8.5. How to modify the IP address of the LAN port through the command line .................. 458

8.6. How to modify the root password ..................................................................................459

8.6.1. Modify via command line ................................................................... 459


8.6.2. Modify through the LuCI management interface ................................ 460
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.7. USB interface test ........................................................................................................... 461

8.7.1. Mount the USB storage device under the command line .................... 461
8.7.2. Mount the USB storage device on the LuCI management interface ... 462
8.8. How to use E-Key PCIe wireless network card ............................................................... 466

8.8.1. How to create WIFI hotspot ................................................................ 466


8.8.2. How to connect to WIFI hotspot ......................................................... 471
8.9. Installing packages via the command line ...................................................................... 475

8.9.1. Install via opkg in the terminal ............................................................ 475


8.10. OpenWRT management interface installation software package ................................475

8.10.1. View the list of available software packages in the system ...............476
8.10.2. Example of installing software packages .......................................... 477
8.10.3. Remove package example ................................................................. 479
8.11. Using Samba Network Shares .......................................................................................481

8.12. Zerotier Instructions ..................................................................................................... 485

9. Compilation method of OpenWRT source code ..........................................................488


9.1. Download OpenWRT source code ..................................................................................488

9.2. Compile OpenWRT source code ..................................................................................... 488

10. Instructions for using the Android 12 system ............................................................490


10.1. Supported Android versions ......................................................................................... 490

10.2. Android function adaptation ........................................................................................ 490

10.3. How to use the USB wireless network card ..................................................................492

10.4. M.2 How to use E-Key PCIe WIFI6+Bluetooth module .................................................493

10.5. WIFI connection test method ....................................................................................... 494

10.6. How to use Wi-Fi hotspot .............................................................................................497

10.7. Bluetooth test method ................................................................................................. 499

10.8. Test method of HDMI In ............................................................................................... 503

10.9. How to use 10.9.10.1 inch MIPI screen ........................................................................ 504

10.10. OV13850 and OV13855 MIPI camera test method .................................................... 505
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10.11. 40pin interface GPIO, UART, SPI and PWM test ......................................................... 509

10.11.1. 40pin GPIO port test ........................................................................509


10.11.2. 40pin UART test ..............................................................................513
10.11.3. 40pin SPI test ...................................................................................516
10.11.4. 40pin PWM test ...............................................................................518
10.12. How to use ADB .......................................................................................................... 521

10.12.1. Use the data cable to connect to adb debugging ..............................521


10.12.2. Use network connection adb debugging ..........................................522
10.13. 2.4G USB remote control tested by Android Box ....................................................... 523

10.14. How to use the infrared remote control of the Android Box system ......................... 524

10.15. How to use HDMI CEC function in Android Box system ............................................. 525

11. How to compile Android 12 source code .................................................................. 527


11.1. Download Android 12 source code .............................................................................. 527

11.2. Compile the source code of Android 12 ....................................................................... 527

12. Instructions for using the Orange Pi OS Droid system ............................................. 530
12.1. Function adaptation of OPi OS Droid system ............................................................... 530

12.2. Test method of HDMI In ............................................................................................... 531

13. Appendix ....................................................................................................................534


13.1. User Manual Update History ........................................................................................ 534

13.2. Image update history ....................................................................................................534


range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1. Basic Features of Orange Pi 5 Plus

1.1. What is Orange Pi 5 Plus

Orange Pi 5 Plus adopts Rockchip RK3588 new-generation octa-core 64-bit ARM


processor, specifically quad-core A76 and quad-core A55, using Samsung 8nm LP
process technology, large-core main frequency up to 2.4GHz, integrated ARM Mali-G610
MP4 GPU, embedded with high-performance 3D and 2D image acceleration modules,
built-in AI accelerator NPU with a computing power of up to 6 Tops, optional 4GB, 8GB,
16GB or 32GB memory, with up to 8K display processing capabilities.

Orange Pi 5 Plus introduces quite a lot of interfaces, including 2 HDMI outputs, 1


HDMI input, USB-C/DP interface, M.2 M-key PCIe3.0x4, M.2 E-key PCIe2.0x1, 2 2.5G
network port, eMMC expansion interface, USB2.0, USB3.0 interface, infrared, earphone,
onboard MIC, speaker, RTC and 40pin expansion pin header, etc. It can be widely used in
high-end tablet, edge computing, artificial intelligence, cloud computing, AR/VR, smart
security, smart home and other fields, covering various AIoT industries.

Orange Pi 5 Plus supports Orange Pi OS, the official operating system developed by
Orange Pi. At the same time, it supports Android 12.1, OpenWRT, Debian11, Debian12,
Ubuntu20.04 and Ubuntu22.04 and other operating systems.

1.2. Purpose of Orange Pi 5 Plus

We can use it to achieve:

 A Linux desktop computer


 A Linux web server
 Android tablet
 Android game console, etc.
Of course, there are more functions. Relying on a strong ecosystem and
a variety of expansion accessories, OPi 5 Plus can help users easily realize

1
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

the delivery from idea to prototype to mass production. It is a maker,


dreamer, amateur The ideal creative platform for enthusiasts.

1.3. Hardware Specifications of Orange Pi 5 Plus

Hardware Specifications of Orange Pi 5 Plus

Master chip Rockchip RK3588(8nm LP process)

• 8-core 64-bit processor


CPU • 4 Cortex-A76 and 4 Cortex-A55 with independent NEON coprocessor
• Cortex-A76 up to 2.4GHz, Cortex-A55 up to 1.8GHz

• Integrated ARM Mali-G610


GPU • Built-in 3D GPU
• Compatible with OpenGL ES1.1/2.0/3.2, OpenCL 2.2 and Vulkan 1.2

Embedded GPU supports INT4/INT8/INT16/FP16, with computing power up


NPU
to 6 Tops

PMU RK806-1

RAM 4GB/8GB/16GB/32GB optional

• QSPI Nor FLASH: 16MB/32MB


• MicroSD card slot
Storage
• eMMC socket, external eMMC module can be connected
• M.2 2280 slot for NVMe SSD (PCIe 3.0 x4)

• 2 x USB3.0
USB • 2 x USB2.0
• 1 x Type-C

• 2 x HDMI 2.1 output, up to 8K@60FPS


• 1 x Type-C (DP 1.4A) output, up to 4K@60FPS
Video
• 1 x HDMI input, up to 4K@60FPS
• 1 x MIPI DSI 4 Lane output, up to 4K@60Hz

TP interface 1 x 6Pin FPC socket

Camera 1 x MIPI CSI 4 Lane

2
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

• 1 x 3.5mm headphone jack audio input/output


• 1 x onboard MIC input
• 2 x HDMI output
Audio
• 1 x HDMI input
• 1 x DP output
• 1 x speaker output (2pin, 1.25mm specification)

Ethernet 2 x PCIe 2.5G Ethernet ports (RTL8125BG )

40pin expansion port Used to expand UART, I2C, SPI, CAN, PWM, GPIO interfaces

PCIe M.2 M-KEY PCIe 3.0 x 4 lanes, used to connect 2280 NVMe SSD solid state drive

Contains PCIe 2.0 x 1/PCM/UART/USB2.0 interface, supports 2230 Wi-Fi6 /BT


PCIe M.2 E-KEY
module

Button 1 MaskROM key, 1 RECOVERY key, 1 power on/off key

Powered supply Support Type-C power supply, 5V@4A

Infrared receiver 1 x infrared receiver

LED RGB LED three-color indicator light

2pin, 1.25mm specification, used to connect 5V fan, support PWM control switch
Fan interface
and speed

RTC battery interface 2pin, 1.25mm specification, used to power the RTC module

Debugging 3pin debug serial port (UART)

Orangepi OS(Droid)、Orangepi OS(Arch)、Orangepi OS(OH)、Ubuntu20.04、


Supported OS
Ubuntu22.04、Debian11、Debian12、OpenWRT and Android12

Introduction of Appearance Specifications

Product Size 100mm*75mm

Weight 86.5g

rangePi™ is a registered trademark of Shenzhen Xunlong Software Co., Ltd.

3
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1.4. Top view and bottom view of Orange Pi 5 Plus

Top view:

Bottom view:

4
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1.5. nterface details of Orange Pi 5 Plus

5
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2. Introduction to the use of the development board

2.1. Prepare the required accessories

1) TF card, a class 10 or above high-speed SanDisk card with a minimum capacity of


16GB (32GB or above is recommended)

6
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) TF card reader, used to burn the image into the TF card

3) Display with HDMI interface

4) HDMI to HDMI cable, used to connect the development board to an HDMI monitor
or TV for display

Note, if you want to connect a 4K or 8K display, please make sure that the
HDMI cable supports 4K or 8K video display.

7
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Type-C to HDMI cable, connect the development board to an HDMI monitor or TV


for display through the Type-C interface

6) Type-C to USB adapter, used to connect USB devices such as USB storage devices or
mouse keyboards through the Type-C interface (there are 2 USB3.0 HOST interfaces
and 2 USB2.0 HOST interfaces on the development board, this accessory generally
not used)

7) 10.1-inch MIPI screen, used to display the system interface of the development board
(this screen is common to OPi5/OPi5B)

8) Power adapter, Orange Pi 5 Plus is recommended to use 5V/4A Type-C power supply

8
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

for power supply

There are two Type-C ports that look the same on the development board. The one
next to the network port is the power port, and the other Type-C port has no power
supply function. Please don’t connect it wrong.

The Type-C power interface of the development board does not support the PD
negotiation function, and only supports a fixed 5V voltage input.

9) The mouse and keyboard of the USB interface, as long as the mouse and keyboard of
the standard USB interface are acceptable, the mouse and keyboard can be used to
control the Orange Pi development board

9
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) USB camera

11) 5V cooling fan. As shown in the figure below, the development board has an
interface for connecting the cooling fan, and the interface specification is 2pin
1.25mm pitch
The fan on the development board can adjust the speed and switch through
PWM.

10
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12) Network cable, used to connect the development board to the Internet

13) The data cable of the Type-C interface, used for burning images, using ADB and other
functions

14) Infrared remote control

Note that the remote control of the air conditioner or the TV cannot control the
Orange Pi development board. The operating system provided by Orange Pi can
only ensure that the remote control provided by Orange Pi can be used by default.

15) OV13850 camera with 13 million MIPI interface (common with OPi5/OPi5B)

11
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

16) OV13855 camera with 13 million MIPI interface (common with OPi5/OPi5B)

17) M.2 M-KEY 2280 specification NVMe SSD solid state drive, PCIe interface
specification is PCIe3.0x4

18) eMMC expansion module (to be added physical pictures)

The position where the eMMC module is inserted on the development board is
shown in the figure below:

12
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

19) RTC battery, the interface is 2pin, 1.25mm pitch

The location of the RTC battery interface on the development board is shown in
the figure below:

20) Horn, the interface is 2pin, 1.25mm pitch

The interface position of the speaker on the development board is shown in the
figure below:

13
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

21) Matching shell (pictures and assembly methods to be added)


22) 3.3V USB to TTL module and DuPont line, when using serial port debugging
function, need USB to TTL module and DuPont line to connect the development
board and computer

23) Personal computer with Ubuntu and Windows operating systems installed
1 Ubuntu22.04 PC Optional, used to compile Linux source code
2 Windows PC For burning Android and Linux images

2.2. Download the image of the development board and


related materials
1) The website for downloading the English version of materials is:
http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-5-plus.html

14
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) The information mainly includes


a. User Manual and Schematic: Saved on Google Cloud Disk
b. Official tools: mainly include the software that needs to be used during the use
of the development board
c. Android source code: saved on Google Cloud Disk
d. Linux source code: saved on Github
e. OpenWRT source code: saved on Github
f. Android image: saved on Google Cloud Disk
g. Ubuntu image:saved on Google Cloud Disk
h. Debian image:saved on Google Cloud Disk
i. Orange Pi OS image:saved on Google Cloud Disk
j. OpenWRT image:saved on Google Cloud Disk

2.3. Method of burning Linux image to TF card based on


Windows PC

Note that the Linux image mentioned here specifically refers to the image
of Linux distributions such as Debian, Ubuntu, OpenWRT or OPi OS Arch
downloaded from the Orange Pi data download page.

15
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.3.1. How to use balenaEtcher to burn Linux image


1) First prepare a TF card with a capacity of 16GB or more. The transmission speed of
the TF card must be class 10 or above. It is recommended to use a TF card of SanDisk
and other brands

2) Then use the card reader to insert the TF card into the computer

3) Download the Linux operating system image file compression package that you want
to burn from the Orange Pi data download page, and then use the decompression
software to decompress it. Among the decompressed files, the file ending with ".img" is
the image file of the operating system. The size is generally above 2GB.

Note, if you download the OpenWRT image, you will see the following two
types of images in the download link of the OpenWRT image, please download
the image file in the "TF card, eMMC and NVME SSD boot image" folder.

4) Then download the burning software of Linux image——balenaEtcher, the


download address is:
https://www.balena.io/etcher/

5) After entering the balenaEtcher download page, click the green download button to
jump to the place where the software is downloaded

16
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then you can choose to download the Portable version of balenaEtcher software. The
Portable version does not need to be installed, and you can use it by double-clicking to
open it

7) If the downloaded version of balenaEtcher needs to be installed, please install it


before using it. If you downloaded the Portable version of balenaEtcher, just double-click
to open it. The balenaEtcher interface after opening is shown in the figure below:

17
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

When opening balenaEtcher, if the following error is prompted:

Please select balenaEtcher, right-click, and select Run as administrator.

8) The specific steps to use balenaEtcher to burn the Linux image are as follows
a. First select the path of the Linux image file to be burned
b. Then select the drive letter of the TF card
c. Finally click Flash to start burning the Linux image to the TF card

18
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) The interface displayed in the process of burning the Linux image by balenaEtcher is
shown in the figure below, and the progress bar displays purple, indicating that the Linux
image is being burned into the TF card.

10) After burning the Linux image, balenaEtcher will also verify the image burned to the
TF card by default to ensure that there is no problem in the burning process. As shown in
the figure below, a green progress bar indicates that the image has been burnt, and
balenaEtcher is verifying the burnt image.

19
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) After successful burning, the display interface of balenaEtcher is as shown in the
figure below. If the green indicator icon is displayed, it means that the image burning is
successful. At this time, you can exit balenaEtcher, and then pull out the TF card and
insert it into the TF card slot of the development board.

20
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.3.2. How to use RKDevTool to burn Linux image to TF card


1) First, you need to prepare a data cable with a good quality Type-C interface

2) You also need to prepare a 16GB or larger TF card. The transmission speed of the TF
card must be class 10 or above. It is recommended to use a TF card of SanDisk and other
brands

3) Then insert the TF card into the card slot of the development board

4) Then download the Rockchip microdriver DriverAssitant_v5.12.zip and


MiniLoader and the burning tool RKDevTool_Release_v3.15.zip from the Orange Pi
data download page
a. On the Orange Pi data download page, first select the official tool, and then
enter the following folder.

b. Then download all the files below

21
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note that the "MiniLoader-things needed to burn the Linux image" folder is
hereinafter referred to as the MiniLoader folder.

5) Then download the Linux operating system image file compression package that you
want to burn from the Orange Pi data download page, and then use the decompression
software to decompress it. Among the decompressed files, the file ending with ".img" is
the image file of the operating system , the size is generally more than 2GB

Note, if you download the OpenWRT image, you will see the following two types
of images in the download link of the OpenWRT image, please download the image
file in the "TF card, eMMC and NVME SSD boot image" folder.

6) Then use decompression software to decompress DriverAssitant_v5.12.zip, and then


find the DriverInstall.exe executable file in the decompressed folder and open it

7) After opening DriverInstall.exe, the steps to install the Rockchip driver are as

22
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "driver
installed successfully", and then click the "OK" button.

8) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

9) After opening the RKDevTool burning tool, because the computer has not been
connected to the development board through the Type-C cable at this time, the lower left
corner will prompt "No device found"

23
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) Then start burning the Linux image to the TF card


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

b. Make sure the development board is not connected to the Type-C power supply
c. Then press and hold the MaskROM button on the development board, the
position of the MaskROM button on the development board is shown in the
figure below:

d. Finally, connect the power supply of the Type-C interface to the development
board, and power on, and then release the MaskROM button. The location of the
Type-C power interface is as follows:

e. If the previous steps are successful, the development board will enter the

24
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

MASKROM mode at this time, and the interface of the burning tool will prompt
"found a MASKROM device"

f. Then place the mouse cursor in the area below

g. Then click the right mouse button and the selection interface shown in the figure
below will pop up

h. Then select the import configuration option

25
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

i. Then select the rk3588_linux_tfcard.cfg configuration file in the MiniLoader


folder downloaded earlier, and click Open

j. Then click OK

k. Then click the position shown in the figure below

26
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

l. Then select MiniLoaderAll.bin in the MiniLoader folder downloaded earlier,


and then click to open

m. Then click the position shown in the figure below

n. Then select the path of the linux image you want to burn, and click Open
Before burning the image, it is recommended to rename the linux image to be

27
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

burned to orangepi.img or other shorter names, so that you can see the percentage
value of the burning progress when burning the image.

o. Then please check the option to force writing by address

p. Then click the execute button to start burning the linux image to the tf card of
the development board

28
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

q. The log displayed after burning the linux image is shown in the figure below

r. After burning the linux image to the TF card, the linux system will start
automatically.
2.3.3. How to use Win32Diskimager to burn Linux image
1) First prepare a TF card with a capacity of 16GB or more. The transmission speed of
the TF card must be class 10 or above. It is recommended to use a TF card of SanDisk
and other brands

2) Then use the card reader to insert the TF card into the computer

3) Then format the TF card


a. SD Card Formatter can be used to format the TF card. The download link is
https://www.sdcard.org/downloads/formatter/eula_windows/SDCardFormatterv5_WinEN.zip

b. After downloading, unzip and install directly, and then open the software

c. If only a TF card is inserted into the computer, the drive letter of the TF card will
be displayed in the "Select card" column. If multiple USB storage devices are
inserted into the computer, you can select the corresponding drive letter of the
TF card through the drop-down box

29
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then click "Format", a warning box will pop up before formatting, and
formatting will start after selecting "Yes (Y)"

e. After formatting the TF card, the message shown in the figure below will pop up,
click OK

4) Download the image file compression package of the Linux operating system that you
want to burn from the Orange Pi data download page, and then use the decompression
software to decompress it. Among the decompressed files, the file ending with ".img" is
the image file of the operating system. The size is generally more than 2GB

30
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note, if you download the OpenWRT image, you will see the following two types
of images in the download link of the OpenWRT image, please download the image
file in the "TF card, eMMC and NVME SSD boot image" folder.

5) Use Win32Diskimager to burn the Linux image to the TF card


a. The download page of Win32Diskimager is
http://sourceforge.net/projects/win32diskimager/files/Archive/

b. After downloading, install it directly. The interface of Win32Diskimager is as


follows
a) First select the path of the image file
b) Then confirm that the drive letter of the TF card is consistent with that
displayed in the "Device" column
c) Finally click "Write" to start burning

c. After the image writing is completed, click the "Exit" button to exit, and then you
can pull out the TF card and insert it into the development board to start

31
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.4. Method of burning Linux image to TF card based on


Ubuntu PC

Note that the Linux image mentioned here specifically refers to the image of
Linux distributions such as Debian, Ubuntu, OpenWRT or OPi OS Arch
downloaded from the Orange Pi data download page, and the Ubuntu PC refers to
the personal computer with the Ubuntu system installed.

1) First prepare a TF card with a capacity of 16GB or more. The transmission speed of
the TF card must be class 10 or above. It is recommended to use a TF card of SanDisk
and other brands

2) Then use the card reader to insert the TF card into the computer

3) Download the balenaEtcher software, the download address is


https://www.balena.io/etcher/

4) After entering the balenaEtcher download page, click the green download button to
jump to the place where the software is downloaded

5) Then choose to download the Linux version of the software

32
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Download the Linux operating system image file compression package that you want
to burn from the Orange Pi data download page, and then use the decompression
software to decompress it. Among the decompressed files, the file ending with ".img" is
the image file of the operating system. The size is generally more than 2GB

Note, if you download the OpenWRT image, you will see the following two types
of images in the download link of the OpenWRT image, please download the image
file in the "TF card, eMMC and NVME SSD boot image" folder.

The decompression command for the compressed package ending in 7z is as


follows:
test@test:~$ 7z x orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.7z
test@test:~$ ls orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.*
orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.7z
orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.sha # checksum file
orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.img # mirror file

If you download the OpenWRT image, the compressed package ends with gz, and the
decompression command is as follows:
test@test:~$ gunzip openwrt-aarch64-opi5plus-23.05-linux-5.10.110-ext4.img.gz

33
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

test@test:~$ ls openwrt-aarch64-opi5plus-23.05-linux-5.10.110-ext4.img
openwrt-aarch64-opi5plus-23.05-linux-5.10.110-ext4.img # mirror file

7) After decompressing the image, you can first use the sha256sum -c *.sha.sha
command to calculate whether the checksum is correct. If the prompt is successful, it
means that the downloaded image is correct, and you can safely burn it to the TF card. If
it prompts that the checksum does not match, it means There is a problem with the
downloaded image, please try to download again
test@test:~$ sha256sum -c *.sha
orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.img: OK

If you download the OpenWRT image, you need to verify the compressed package,
do not decompress it and then verify it
test@test:~$ sha256sum -c openwrt-aarch64-opi5plus-23.04-linux-5.10.110-ext4.img.gz.sha
openwrt-aarch64-opi5plus-23.04-linux-5.10.110-ext4.img.gz: OK

8) Then double-click balenaEtcher-1.14.3-x64.AppImage on the graphical interface of


Ubuntu PC to open balenaEtcher (no installation required), and the interface after
balenaEtcher is opened is shown in the figure below

9) The specific steps to use balenaEtcher to burn the Linux image are as follows
a. First select the path of the Linux image file to be burned
b. Then select the drive letter of the TF card
c. Finally click Flash to start burning the Linux image to the TF card

34
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) The interface displayed in the process of burning the Linux image by balenaEtcher is
shown in the figure below, and the progress bar displays purple, indicating that the Linux
image is being burned into the TF card

11) After burning the Linux image, balenaEtcher will also verify the image burned into
the TF card by default to ensure that there is no problem in the burning process. As
shown in the figure below, a green progress bar indicates that the image has been burnt,
and balenaEtcher is verifying the burnt image

35
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12) After successful burning, the display interface of balenaEtcher is as shown in the
figure below. If a green indicator icon is displayed, it means that the image burning is
successful. At this time, you can exit balenaEtcher, and then pull out the TF card and
insert it into the TF card slot of the development board for use.

36
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.5. How to burn Linux image to eMMC

Note, after burning the image into eMMC, if the test finds that it cannot be
started, please clear the SPIFlash and try again. For the method of clearing
SPIFlash, please refer to the method of using RKDevTool to clear SPIFlash.

2.5.1. How to use RKDevTool to burn Linux image into eMMC


Note that all the following operations are performed on a Windows computer.

Note that the Linux image mentioned here specifically refers to the image of
Linux distributions such as Debian, Ubuntu, OpenWRT or OPi OS Arch
downloaded from the Orange Pi data download page.

1) The development board reserves the expansion interface of the eMMC module.
Before burning the system to the eMMC, you first need to purchase an eMMC module
that matches the eMMC interface of the development board. Then install the eMMC
module to the development board. The eMMC module and the method of plugging into
the development board are as follows:

2) It is also necessary to prepare a data cable with a good quality Type-C interface

37
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then download Rockchip DriverAssitant_v5.12.zip and MiniLoader and the


burning tool RKDevTool_Release_v2.96.zipRKDevTool_Release_v3.15.zip from the
Orange Pi data download page, please make sure that the version of the downloaded
RKDevTool tool is v2.96.
a. On the download page of Orange Pi, first select the official tool, and then enter
the following folder

b. Then download all the files below

Note that the "MiniLoader-things needed to burn the Linux image" folder is
hereinafter referred to as the MiniLoader folder.

4) Then download the Linux operating system image file compression package that you
want to burn from the Orange Pi data download page, and then use the decompression
software to decompress it. Among the decompressed files, the file ending with ".img" is
the image file of the operating system , the size is generally more than 2GB

Note, if you download the OpenWRT image, you will see the following two types

38
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

of images in the download link of the OpenWRT image, please download the image
file in the "TF card, eMMC and NVME SSD boot image" folder.

5) Then use decompression software to decompress DriverAssitant_v5.12.zip, and then


find the DriverInstall.exeexecutable file in the decompressed folder and open it

6) After opening DriverInstall.exe, the steps to install the Rockchip driver are as
follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "driver
installed successfully", and then click the "OK" button.

39
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

8) After opening the RKDevTool burning tool, because the computer has not been
connected to the development board through the Type-C cable at this time, the lower left
corner will prompt "No device found"

9) Then start burning the Linux image into eMMC


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

40
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Make sure that the development board is not inserted into the TF card and not
connected to the power supply
c. Then press and hold the MaskROM button on the development board, the
position of the MaskROM button on the development board is shown in the
figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on, and then release the MaskROM button

e. If the previous steps are successful, the development board will enter the
MASKROM mode at this time, and the interface of the burning tool will prompt
"found a MASKROM device"

f. Then place the mouse cursor in the area below

41
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

g. Then click the right mouse button and the selection interface shown in the figure
below will pop up

h. Then select the import configuration option

i. Then select the rk3588_linux_emmc.cfg configuration file in the MiniLoader


folder downloaded earlier, and click Open

42
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

j. Then click OK

k. Then click the position shown in the figure below

l. Then select MiniLoaderAll.bin in the MiniLoader folder downloaded earlier,


and then click to open

43
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

m. Then click the position shown in the figure below

n. . Then select the path of the linux image you want to burn, and click Open
Before burning the image, it is recommended to rename the linux image to be
burned to orangepi.img or other shorter names, so that you can see the percentage
value of the burning progress when burning the image.

44
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

o. Then please check the option to force writing by address

p. Then click the execute button to start burning the linux image to the eMMC of
the development board

q. The log displayed after burning the linux image is shown in the figure below

45
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

r. After burning the linux image into the eMMC, the linux system will start
automatically.
Note, after burning the image into eMMC, if the test finds that it cannot be
started, please clear the SPIFlash and try again. For the method of clearing
SPIFlash, please refer to the method of using RKDevTool to clear SPIFlash.

2.5.2. Using the dd command to burn the Linux image into eMMC
Note that the Linux image mentioned here specifically refers to the image of
Linux distributions such as Debian, Ubuntu, OpenWRT or OPi OS Arch
downloaded from the Orange Pi data download page.

1) The development board reserves the expansion interface of the eMMC module.
Before burning the system to the eMMC, you first need to purchase an eMMC module
that matches the eMMC interface of the development board. Then install the eMMC
module to the development board. The eMMC module and the method of plugging into
the development board are as follows:

46
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Using the dd command to burn the linux image to eMMC needs to be done with a TF
card, so first you need to burn the linux image to the TF card, and then use the TF card to
start the development board to enter the linux system. For the method of burning the
Linux image to the TF card, please refer to the instructions in the two sections of the
method of burning the Linux image to the TF card based on the Windows PC and
the method of burning the Linux image to the TF card based on the Ubuntu PC.

3) After using the TF card to start the linux system, we first upload the decompressed
linux image file (Debian, Ubuntu image or OPi Arch image downloaded from the official
website) to the TF card. For the method of uploading the linux image file to the
development board, please refer to the description in the section of the method of
uploading files to the development board Linux system.

4) After uploading the image to the linux system of the development board, we enter the
storage path of the image file in the command line of the linux system of the development
board. For example, I store the linux image of the development board in the
/home/orangepi/Desktop directory Download it, and then enter the
/home/orangepi/Desktop directory to see the uploaded image file.
orangepi@orangepi:~$ cd /home/orangepi/Desktop
orangepi@orangepi:~/Desktop$ ls
Orangepi5plus_x.x.x_debian_bullseye_desktop_xfce_linux5.10.160.img

How to enter the command line of the development board linux system?
1. For the method of using the serial port to log in to the terminal, please refer to
the instructions in the section on how to use the debugging serial port.
2. Use ssh to remotely log in to the Linux system, please refer to the instructions in
the section of SSH remote login to the development board.
3. If a display screen such as HDMI or LCD is connected, you can open a command

47
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

line terminal on the desktop.

5) Next, we first use the following command to confirm the device node of eMMC
orangepi@orangepi:~/Desktop$ ls /dev/mmcblk*boot0 | cut -c1-12
/dev/mmcblk1

6) Then we can use the dd command to clear the eMMC. Note that after the of=
parameter, please fill in the output result of the above command
orangepi@orangepi:~/Desktop$ sudo dd bs=1M if=/dev/zero of=/dev/mmcblk1 count=1000 status=progress
orangepi@orangepi:~/Desktop$ sudo sync

7) Then you can use the dd command to burn the linux image of the development board
into the eMMC
a. In the following command, the if= parameter is followed by the full path where
the linux image is stored + the name of the Linux image (such as the name of
/home/orangepi/Desktop/Linux image). Because we have entered the path of
the linux image above, we only need to fill in the name of the Linux image.
b. Please do not copy the linux image name in the following command, but replace
it with the actual image name (because the version number of the image may be
updated).
sudo dd bs=1M if=Orangepi5plus_x.x.x_debian_bullseye_desktop_xfce_linux5.10.160.img of=/dev/mmcblk1 status=progress

sudo sync

Note, if you upload a .7z or .xz linux image compressed file, please remember to
decompress it before using the dd command to burn.

The detailed description of all parameters of the dd command and more usage
can be viewed by executing the man dd command in the linux system.

8) After successfully burning the linux image of the development board to the eMMC,
you can use the poweroff command to shut down. Then please pull out the TF card, and
then short press the power button to turn on, and then the linux system in the eMMC will
be started.

48
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.6. How to burn Linux image to SPIFlash+NVMe SSD

Note that the Linux image mentioned here specifically refers to the image
of Linux distributions such as Debian, Ubuntu, OpenWRT or OPi OS Arch
downloaded from the Orange Pi data download page.

Note that all the following operations are performed on a Windows computer.
2.6.1. The method of using the dd command to burn
1) First, you need to prepare an M-Key 2280 specification NVMe SSD solid state drive,
and the specification of the PCIe interface in the M.2 slot of the development board is
PCIe3.0x4.

2) Then insert the NVMe SSD into the M.2 PCIe interface of the development board
shown in the figure below, and fix it

3) The position of the SPI Flash on the development board is shown in the figure below,
no other settings are required before starting the programming

4) Burning the linux image to SPIFlash+NVMe SSD needs to be done with a TF card, so
first you need to burn the linux image to the TF card, and then use the TF card to start the

49
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

development board to enter the linux system. For the method of burning the Linux image
to the TF card, please refer to the instructions in the two sections of the method of
burning the Linux image to the TF card based on the Windows PC and the method
of burning the Linux image to the TF card based on the Ubuntu PC

5) After using the TF card to start the Linux system, we first burn the u-boot image into
the SPI Flash
a. Run nand-sata-install first, ordinary users remember to add sudo
permission.
orangepi@orangepi:~$ sudo nand-sata-install
b. Then select 7 Install/Update ther bootloader on SPI Flash

c. Then select <Yes>

d. Then please wait patiently for the burning to complete. After the burning is
completed, the display will be as follows (a Done will be displayed in the lower
left corner):

50
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

There is no nand-sata-install script in OPi OS Arch system, please use the


following command to mirror u-boot to SPI Flash:

[orangepi@orangepi ~]$ sudo dd if=/boot/rkspi_loader.img of=/dev/mtdblock0

6) Then upload the linux image file (Debian, Ubuntu or OpenWRT image downloaded
from the official website) to the TF card. For the method of uploading the linux image
file to the development board, please refer to the description in the section of the
method of uploading files to the development board Linux system.
Note, if you download the OpenWRT image, you will see the following two types
of images in the download link of the OpenWRT image, please download the image
file in the "TF card, eMMC and NVME SSD boot image" folder.

7) After uploading the image to the linux system of the development board, we enter the
storage path of the image file in the command line of the linux system of the development
board. For example, I store the linux image of the development board in the
/home/orangepi/Desktop directory Download it, and then enter the
/home/orangepi/Desktop directory to see the uploaded image file.
orangepi@orangepi:~$ cd /home/orangepi/Desktop
orangepi@orangepi:~/Desktop$ ls
orangepi5plus_x.x.x_debian_bullseye_desktop_xfce_linux5.10.160.img

51
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

How to enter the command line of the development board linux system?
4. For the method of using the serial port to log in to the terminal, please refer to
the instructions in the section on how to use the debugging serial port.
5. Use ssh to remotely log in to the Linux system, please refer to the instructions in
the section of SSH remote login to the development board.
6. If HDMI, LCD and other display screens are connected, you can open a
command line terminal on the desktop.

8) Next, let's confirm that the NVMe SSD has been recognized by the development
board's linux. If the NVMe SSD is recognized normally, use the sudo fdisk -l command
to see nvme-related information
orangepi@orangepi:~/Desktop$ sudo fdisk -l | grep "nvme0n1"
Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors

Use the lspci command to see an NVMe-related PCI device


orangepi@orangepi:~$ lspci
0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd Device 3588 (rev 01)
0000:01:00.0 Non-Volatile memory controller: SK hynix BC501 NVMe Solid State Drive
....

9) Then we can use the dd command to clear the NVMe SSD (optional)
orangepi@orangepi5plus:~/Desktop$ sudo dd bs=1M if=/dev/zero of=/dev/nvme0n1 count=2000 status=progress
orangepi@orangepi5plus:~/Desktop$ sudo sync

10) Then you can use the dd command to burn the linux image of the development board
to the NVMe SSD
a. In the following command, the if= parameter is followed by the full path where
the linux image is stored + the name of the Linux image (such as the name of
/home/orangepi/Desktop/Linux image). Because we have entered the path of
the linux image above, we only need to fill in the name of the Linux image.
b. Please do not copy the linux image name in the following command, but replace
it with the actual image name (because the version number of the image may be
updated).
sudo dd bs=1M if=orangepi5plus_x.x.x_debian_bullseye_desktop_xfce_linux5.10.160.img of=/dev/nvme0n1 status=progress

52
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

sudo sync

Note, if you upload a .7z or .xz or .gz linux image compressed file, please
remember to decompress it before using the dd command to burn.

The detailed description of all parameters of the dd command and more


usage can be viewed by executing the man dd command in the linux system.

11) After successfully burning the linux image of the development board to the NVMe
SSD, you can use the poweroff command to shut down. Then please pull out the TF card,
and then short press the power button to turn on, then the linux system in
SPIFlash+NVMe SSD will be started.
2.6.2. How to use balenaEtcher software to program
Please do not use this method for OPi OS Arch system and OpenWRT system.

1) First, you need to prepare an M-Key 2280 specification NVMe SSD solid state drive,
and the specification of the PCIe interface in the M.2 slot of the development board is
PCIe3.0x4.

2) Then insert the NVMe SSD into the M.2 PCIe interface of the development board
shown in the figure below, and fix it

3) The position of the SPI Flash on the development board is shown in the figure below,
no other settings are required before starting the programming

53
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Burning the linux image to SPIFlash+NVMe SSD needs to be done with a TF card, so
first you need to burn the linux image to the TF card, and then use the TF card to start the
development board to enter the linux system. For the method of burning the Linux image
to the TF card, please refer to the instructions in the two sections of the method of
burning the Linux image to the TF card based on the Windows PC and the method
of burning the Linux image to the TF card based on the Ubuntu PC.

5) After booting into the linux system in the TF card, please confirm that the NVMe SSD
has been recognized by the linux system of the development board. If the NVMe SSD is
recognized normally, use the sudo fdisk -lcommand to see nvme-related information
orangepi@orangepi:~/Desktop$ sudo fdisk -l | grep "nvme0n1"
Disk /dev/nvme0n1: 1.86 TiB, 2048408248320 bytes, 4000797360 sectors

Use the lspci command to see an NVMe-related PCI device


orangepi@orangepi:~$ lspci
0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd Device 3588 (rev 01)
0000:01:00.0 Non-Volatile memory controller: SK hynix BC501 NVMe Solid State Drive
....

6) The balenaEtcher has been pre-installed in the linux image, and the opening method is
as follows:

54
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

If it is not pre-installed, for how to download and install the arm64 version of
balenaEtcher, please refer to the instructions in the section on how to download and
install the arm64 version of balenaEtcher.

7) The interface after opening balenaEtcher is as follows:

8) The method of using balenaEtcher to burn u-boot to the SPI Flash of the development
board is as follows:
a. First clickFlash from file

55
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Then enter the /usr/lib/linux-u-boot-legacy-orangepi5plus_1.x.x_arm64


directory, select rkspi_loader.img, and click Opento open

c. The interface after opening rkspi_loader.img is as follows:

d. Then click Select target

56
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. Then click Show 2 hidden to open more options for storage devices

f. Then select the device name of SPI Flash /dev/mtdblock0, and click Select

g. Then click Flash

h. Then click Yes, I’m sure

57
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

i. Then enter the password orangepi of the development board linux system, and it
will start burning the u-boot image into the SPI Flash

j. The display of the burning process is as follows:

58
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

k. After the burning is completed, the display is as follows:

9) The method of burning the linux system in the TF card to the NVMe SSD (this
method is equivalent to cloning the system in the TF card to the NVMe SSD)
a. First click Clone drive

59
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Then select the device name of the TF card /dev/mmcblk1

c. The interface after opening the TF card is as follows:

d. Then click Select target

e. Then click Show 2 hidden Option to open more storage devices

60
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

f. Then select the device name of the NVMe SSD /dev/nvme0n1, and click Select

g. Then click Flash

h. Then click Yes, I’m sure

61
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

i. Then enter the password orangepi of the linux system on the development board,
and it will start burning the linux image to the SSD

j. The display of the burning process is as follows:

62
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

k. After the burning is completed, the display is as follows:

l. Then you need to expand the capacity of the rootfs partition in the NVMe SSD.
The steps are as follows:
a) Open GParted first, if the system does not have Gparted pre-installed,
please use the apt command to install it
orangepi@orangepi:~$ sudo apt-get install -y gparted

b) Then enter the password orangepi of the linux system, and click
Authenticate

63
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c) Then click Fix

d) Then select NVMe SSD

e) The display interface after selecting NVMe SSD is as follows:

64
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

f) f) Then select the /dev/nvme0n1p2 partition, click the right button again,
and then select Resize/Move

g) Then drag the capacity to the maximum at the position shown in the figure
below

65
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h) Then click Resize/Move

i) Then click the green√ in the position below

j) Then click Apply

k) Then click Close to close

66
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

m. At this point, you can use the sudo poweroff command to shut down. Then
please pull out the TF card, and then short press the power button to turn on,
then the linux system in SPIFlash+NVMe SSD will be started.

10) Step 9) is to clone the system in the TF card to the NMVe SSD. We can also directly
burn the linux image file to the NVMe SSD. Here are the steps:
a. Upload the linux image file to the linux system of the development board
b. Then use balenaEtcher to burn

c. After using this method to burn the image, there is no need to manually
expand the capacity, and it will automatically expand the capacity at the first

67
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

startup.

2.6.3. Using RKDevTool to burn


1) First, you need to prepare an M-Key 2280 specification NVMe SSD solid state drive,
and the specification of the PCIe interface in the M.2 slot of the development board is
PCIe3.0x4.

2) Then insert the NVMe SSD into the M.2 PCIe interface of the development board
shown in the figure below, and fix it

3) The position of the SPI Flash on the development board is shown in the figure below,
no other settings are required before starting the programming

4) Then you need to prepare a data cable with good quality Type-C interface

5) Then download the Rockchip driver DriverAssitant_v5.12.zip and MiniLoader and


the burning tool RKDevTool_Release_v3.15.zip from the Orange Pi data download page

68
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a. On the download page of Orange Pi, first select the official tool, and then enter
the following folder

b. Then download all the files below

Note that the "MiniLoader-things needed to burn the Linux image" folder
is hereinafter referred to as the MiniLoader folder.

6) Then download the Linux operating system image file compression package that you
want to burn from the Orange Pi data download page, and then use the decompression
software to decompress it. Among the decompressed files, the file ending with ".img" is
the image file of the operating system , the size is generally more than 2GB

Note, if you download the OpenWRT image, you will see the following two types
of images in the download link of the OpenWRT image, please download the image
file in the "TF card, eMMC and NVME SSD boot image" folder.

7) Then use decompression software to decompress DriverAssitant_v5.12.zip, then find


DriverInstall.exe executable file in the decompressed folder and open it

69
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) After opening DriverInstall.exe, the steps to install the Rockchip driver are as
follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "driver
installed successfully", and then click the "OK" button.

9) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

70
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) After opening the RKDevTool burning tool, because the computer is not connected
to the development board through the Type-C cable at this time, the lower left corner will
prompt "No device found"

11) Then start burning the Linux image to the SSD


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

b. Make sure the development board is not connected to the power supply, and no
TF card or eMMC module is inserted
c. Then press and hold the MaskROM button on the development board. The
position of the MaskROM button on the development board is shown in the
figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on, and then release the MaskROM button. The location of the

71
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Type-C power interface is as follows:

e. If the previous steps are successful, the development board will enter the
MASKROM mode at this time, and the interface of the burning tool will prompt
"Found a MASKROM device"

f. Then place the mouse cursor in the area below

g. Then click the right mouse button and the selection interface shown in the figure
below will pop up

72
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Then select the Import configuration option

i. Then enter the MiniLoader folder downloaded earlier, then select the
rk3588_linux_pcie.cfg configuration file, and click Open

j. Then click OK

73
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

k. Then click the location shown in the figure below

l. Then select MiniLoaderAll.bin in the MiniLoader folder downloaded earlier,


and then click to open

m. Then click the position shown in the figure below

74
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

n. Then enter the MiniLoader folder downloaded earlier, select rkspi_loader.img,


and click Open

o. Then click the location shown in the figure below

p. Then select the path of the linux image you want to burn, and click Open
Before burning the image, it is recommended to rename the linux image to be

75
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

burned to orangepi.img or other shorter names, so that you can see the percentage
value of the burning progress when burning the image.

q. Then please check the option to force write by address

r. Click the Execute button again to start burning the u-boot+linux image to
SPIFlash+SSD

76
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

s. The display log after burning the image is shown in the figure below

If there is a problem with burning, please clear the SPIFlash first and then try
burning again. For the method of clearing SPIFlash, please refer to the instructions
in the section of using RKDevTool to clear SPIFlash.

t. After the image is burnt, it will automatically start the linux system in
SPIFlash+PCIe SSD. If it does not start normally, please power on and try again.

2.7. How to burn OpenWRT image to SPI FLASH

The method introduced in this section is to burn the entire OpenWRT image to
spi flash, no nvme ssd is required. In other words, u-boot, kernel and rootfs are all
stored in spi flash.
Since the spi flash on the development board is only 16MB, this system basically
cannot install much software, and currently only some basic functions can be
realized.
2.7.1. The method of using the dd command to burn
1) Burning the OpenWRT image to SPIFlash needs to be completed with the help of a
TF card, so first you need to burn the OpenWRT image that supports TF card startup to
the TF card, and then use the TF card to start the development board to enter the
OpenWRT system. For the method of burning the OpenWRT image to the TF card, please
refer to the instructions in the two sections of the method of burning the Linux image
to the TF card based on the Windows PC and the method of burning the Linux
image to the TF card based on the Ubuntu PC.

2) Then download the OpenWRT image that can boot from SPIFlash from Orange Pi's

77
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

download page. After opening the download link, you can see the following two types of
OpenWRT images, please select the image in the SPIFlash boot image folder to
download

3) Then upload the image downloaded from the official website to the TF card.

4) Then execute the following command to burn the OpenWRT image into SPIFlash.
Note that after if=, you need to specify the actual path where the image is stored
root@OpenWrt:~# dd if=openwrt-rockchip-armv8-xunlong_orangepi-5-plus-spi-squashfs-sysupgrade.bin of=/dev/mtdblock0

5) Then you can use the poweroff command to shut down. Then please pull out the TF
card, and then short press the power button to turn on, and then the OpenWRT system in
SPIFlash will be started.
2.7.2. Using RKDevTool to burn
1) The position of the SPI Flash on the development board is shown in the figure below,
no other settings are required before starting the programming

2) Then you need to prepare a data cable with good quality Type-C interface

78
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then download the Rockchip driver DriverAssitant_v5.12.zip and MiniLoader and


the burning tool RKDevTool_Release_v3.15.zip from the Orange Pi data download page
a. On the download page of Orange Pi, first select the official tool, and then enter
the following folder

b. Then download all the files below

Note that the "MiniLoader-things needed to burn the Linux image" folder is
hereinafter referred to as the MiniLoader folder.

4) Then download the OpenWRT image that can be booted from SPIFlash from the
download page of Orange Pi. Limited by the capacity of SPIFlash, the image size is less
than 16MB. After opening the download link, you can see the following two types of
OpenWRT images, please select the image in the SPIFlash boot image folder

5) Then use decompression software to decompress DriverAssitant_v5.12.zip, and then


find the DriverInstall.exe executable file in the decompressed folder and open it

79
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) After opening DriverInstall.exe, the steps to install the Rockchip driver are as
follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "driver
installed successfully", and then click the "OK" button.

7) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

80
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) After opening the RKDevTool burning tool, because the computer has not been
connected to the development board through the Type-C cable at this time, the lower left
corner will prompt "No device found"

9) Then start burning the OpenWRT image into SPI FLASH


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

b. Make sure the development board is not connected to the power supply, and the
TF card and eMMC module are not inserted
c. Then press and hold the MaskROM button on the development board. The
position of the MaskROM button on the development board is shown in the
figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on, and then release the MaskROM button

81
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. If the previous steps are successful, the development board will enter the
MASKROM mode at this time, and the interface of the burning tool will prompt
"Found a MASKROM device"

f. Then place the mouse cursor in the area below

g. Then click the right mouse button and the selection interface shown in the figure
below will pop up

82
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Then select the Import configuration option

i. Then select the rk3588_linux_spiflash.cfg configuration file in the MiniLoader


folder downloaded earlier, and click Open

j. Then click OK

83
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

k. Then click the location shown in the figure below

l. Then select MiniLoaderAll.bin in the MiniLoader folder downloaded earlier,


and click Open

m. Then click the location shown in the figure below

84
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

n. Then select the path of the OpenWRT image you want to burn, and click Open
Before burning the image, it is recommended to rename the OpenWRT image to
be burned to orangepi.img or other shorter names, so that you can see the
percentage value of the burning progress when burning the image.

o. Then please make sure that the option to force writing by address is ticked

p. Click the Execute button again to start burning the OpenWRT image into
SPIFlash

85
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

q. The display log after burning the OpenWRT image is shown in the figure below

If there is a problem with burning, please clear the SPIFlash first and then try
burning again. For the method of clearing SPIFlash, please refer to the instructions
in the section of using RKDevTool to clear SPIFlash.

r. The OpenWRT image will start automatically after burning, if it does not start
normally, please try again with power on.

2.8. How to burn Android image to TF card

1) First prepare a TF card with a capacity of 16GB or greater. The transmission speed of
the TF card must be class10 or above. It is recommended to use a TF card of SanDisk and
other brands

2) Then use the card reader to insert the TF card into the computer

86
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then download the SDDiskTool programming tool from the Orange Pi data
download page, please make sure that the version of the SDDiskTool tool is the latest
v1.72

4) Then download the Android12 image from the Orange Pi download page
a. After opening the download link of the Android image, you can see the
following two types of Android images, please select the image in the TF card
and eMMC boot image folder to download

b. After entering the TF card and eMMC boot image folder, you can see the
following three images, the difference between them is:
a) The first image is dedicated to HDMI display and supports 8K display. If you
don’t use LCD screen, please download the image without lcd
b) If you want to use lcd screen, please choose image with lcd
c) The image with box is a image dedicated to the TV box

5) Then use decompression software to decompress the compressed package of the


downloaded Android image. Among the decompressed files, the file ending with ".img" is
the Android image file, and the size is more than 1GB

6) Then use decompression software to decompress SDDiskTool_v1.72.zip, this


software does not need to be installed, just find SD_Firmware_Tool.exe in the
decompressed folder and open it

87
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) After opening SDDiskTool, if the TF card is recognized normally, the inserted disk
device will be displayed in the "Select Removable Disk Device" column. Please make
sure that the displayed disk device is consistent with the drive letter of the TF card
you want to burn If there is no display, you can try to unplug the TF card

8) After confirming the drive letter, you can format the TF card first, click the restore
disk button in SDDiskTool, or use the SD Card Formatter mentioned above to format the
TF card

9) Then start to write the Android image to the TF card

88
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a. First check "SD Boot" in "Select Function Mode"


b. Then select the path of the Android image in the "Select to upgrade firmware"
column
c. Finally click the "Start Create" button to start burning the Android image to the
TF card

10) After burning, you can exit the SDDiskTool software, and then you can pull out the
TF card from the computer and insert it into the development board to start

89
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.9. How to burn Android image into eMMC

Note, after burning the image into eMMC, if the test finds that it cannot be
started, please clear the SPIFlash and try again. For the method of clearing
SPIFlash, please refer to the method of using RKDevTool to clear SPIFlash.
2.9.1. How to burn Android image into eMMC via Type-C cable
Note that all the following operations are performed on a Windows computer.

1) The developmentd board reserves an eMMC expansion interface. Before


programming the system to eMMC, you first need to purchase an eMMC module that
matches the eMMC interface of the development board. Then install the eMMC module
to the development board. The eMMC module and the method of plugging into the
development board are as follows:

2) It is also necessary to prepare a data cable with a good quality Type-C interface

3) Then download Rockchip driver DriverAssitant_v5.12.zip and burning tool

90
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

RKDevTool_Release_v3.15.zip from Orange Pi's download page.


4) Then download the Android image from Orange Pi's download page.
a. After opening the download link of the Android image, you can see the following
two types of Android images, please select the image in the TF card and eMMC
startup image folder to download

b. After entering the TF card and eMMC boot image folder, you can see the
following three images, the difference between them is:
a) The first image is dedicated to HDMI display and supports 8K display. If you
don’t use LCD screen, please download the image without lcd
b) If you want to use lcd screen, please choose image with lcd
c) The image with box is a image dedicated to the TV box

5) Then use the decompression software to decompress the compressed package of the
downloaded Android image. Among the decompressed files, the file ending with ".img" is
the Android image file, and the size is more than 1GB

6) Then use decompression software to decompress DriverAssitant_v5.12.zip, and


then find the DriverInstall.exe executable file in the decompressed folder and open it

91
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) After opening DriverInstall.exe, the steps to install the Rockchip driver are as
follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "driver installed
successfully", then click "OK"

8) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

9) After opening the RKDevTool burning tool, because the computer has not been
connected to the development board through the Type-C cable at this time, the lower left
corner will prompt "No device found"

92
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) Then start burning the Android image into eMMC


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

b. Then make sure that the development board is not inserted into the TF card and
not connected to the power supply
c. Then press and hold the MaskROM button on the development board, the
position of the MaskROM button on the development board is shown in the
figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on

93
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. If the previous steps are successful, the development board will enter the
MASKROM mode at this time, and the interface of the burning tool will prompt
"found a MASKROM device"

f. Then click the "Upgrade Firmware" column of the burning tool

g. Then click the "Firmware" button to select the path of the Android image that
needs to be burned

94
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Finally, click the "Upgrade" button to start burning, and the log during the
burning process is shown in the figure below. After burning is completed, the
Android system will start automatically.

2.9.2. How to burn Android 12 image into eMMC via TF card

Note that all the following operations are performed on a Windows computer.

1) The development board reserves an eMMC expansion interface. Before programming


the system to eMMC, you first need to purchase an eMMC module that matches the
eMMC interface of the development board. Then install the eMMC module to the
development board. The eMMC module and the method of plugging into the
development board are as follows:

95
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) You also need to prepare a TF card with 8GB or larger capacity. The transmission
speed of the TF card must be class10 or above. It is recommended to use a TF card of
SanDisk and other brands

3) Then use the card reader to insert the TF card into the computer

4) Then download the SDDiskTool programming tool from the Orange Pi data
download page, please ensure that the version of the SDDiskTool tool is the latest
v1.72
5) Then download the Android image from Orange Pi's download page
a. After opening the download link of the Android image, you can see the
following two types of Android images, please select the image in the TF card
and eMMC startup image folder to download

b. After entering the TF card and eMMC boot image folder, you can see the
following three images, the difference between them is:
a) The first image is dedicated to HDMI display and supports 8K display. If
you don’t use LCD screen, please download the image without lcd
b) If you want to use lcd screen, please choose mirror with lcd
c) The mirror with box is a mirror dedicated to the TV box

96
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then use decompression software to decompress the compressed package of the


downloaded Android image. Among the decompressed files, the file ending with ".img" is
the Android image file, and the size is more than 1GB

7) Then use decompression software to decompress SDDiskTool_v1.72.zip, this


software does not need to be installed, just find SD_Firmware_Tool.ex in the
decompressed folder and open it

8) After opening SDDiskTool, if the TF card is recognized normally, the inserted disk
device will be displayed in the "Select Removable Disk Device" column. Please make
sure that the displayed disk device is consistent with the drive letter of the TF card
you want to burn, if there is no display, you can try to unplug the TF card

9) After confirming the drive letter, you can format the TF card first, click the restore
disk button in SDDiskTool, or use the SD Card Formatter mentioned above to format
the TF card

97
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) Then start to write the Android image into the TF card
a. First confirm that the displayed drive letter is the drive letter corresponding to
the TF card under "Select Removable Disk Device"
b. Then select "Firmware Upgrade" in "Select Function Mode"
c. Then select the path of the Android firmware in the "Select Upgrade
Firmware" column
d. Finally click the "Start Create" button to start burning

11) After the burning is completed, the display is as shown in the figure below, and then
you can exit SDDiskTool

98
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12) Then pull out the TF card from the computer and insert it into the development board.
After the development board is powered on, it will automatically start burning the
Android image in the TF card to the eMMC of the development board.

13) If the development board is connected to an HDMI display, you can also see the
progress bar of burning the Android image to eMMC from the HDMI display

14) When the HDMI monitor displays the following information, it means that the
burning of the Android image into the eMMC has been completed. At this time, the TF
card can be pulled out, and then the Android system in the eMMC will start.

99
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.10. How to burn Android image to SPIFlash+NVMe SSD

Note that all the following operations are performed on a Windows computer.

1) First, you need to prepare an M-Key 2280 specification NVMe SSD solid state drive,
and the specification of the PCIe interface in the M.2 slot of the development board is
PCIe3.0x4.

2) Then insert the NVMe SSD into the M.2 PCIe interface of the development board and
fix it

100
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) The position of the SPI Flash on the development board is shown in the figure below,
no other settings are required before starting the programming

4) It is also necessary to prepare a data cable with a good quality Type-C interface

5) Then download Rockchip driver DriverAssitant_v5.12.zip and burning tool


RKDevTool_Release_v3.15.zip from Orange Pi's data download page.
6) Then download the Android12 image from the Orange Pi download page
a. After opening the download link of the Android image, you can see the
following two types of Android images, please select the image in the
SPIFlash-NVME SSD boot image folder to download

b. After entering the SPIFlash-NVME SSD boot image folder, you can see the
following three images. Their differences are:

101
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a) The first image is dedicated to HDMI display and supports 8K display. If


you don’t use LCD screen, please download the image without lcd
b) If you want to use lcd screen, please choose image with lcd
c) The image with box is a image dedicated to the TV box

7) Then use the decompression software to decompress DriverAssitant_v5.12.zip, and


then find the DriverInstall.exe executable file in the decompressed folder and open it

8) After opening DriverInstall.exe, the steps to install the Rockchip driver are as followsa.
a. Click the "Driver Install" button

b. After waiting for a period of time, a pop-up window will prompt "driver
installed successfully", then click the "OK" button

102
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

10)After opening the RKDevTool burning tool, because the computer is not connected to
the development board through the Type-C cable at this time, the lower left corner will
prompt "No device found"

11) Then start burning the Android image to SPIFlash+NVMe SSD


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

103
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Make sure that the development board is not plugged into TF and eMMC
modules, and is not connected to the power supply
c. Then press and hold the MaskROM button on the development board, the
position of the MaskROM button on the development board is shown in the
figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on, and then release the MaskROM button

e. If the previous steps are successful, the development board will enter the
MASKROM mode at this time, and the interface of the burning tool will prompt
"Found a MASKROM device"

f. Then click the "Upgrade Firmware" column of the burning tool

104
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

g. Then click the "Firmware" button to select the Android image to be burned

h. Finally, click the "Upgrade" button to start burning. The burning process is
shown in the figure below. After the burning is completed, the Android system
will automatically start.

2.11. How to burn Orange Pi OS (Droid) image to TF card

Note that all the following operations are performed on a Windows computer.

105
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1) First prepare a TF card with 8GB or larger capacity. The transmission speed of the TF
card must be class10 or above. It is recommended to use a TF card of SanDisk and other
brands

2) Then use the card reader to insert the TF card into the computer

3) Then download the SDDiskTool programming tool from the Orange Pi data
download page, please make sure that the version of the SDDiskTool tool is the latest
v1.72.

4) Then download the Orange Pi OS (Droid) image from the Orange Pi data download
page, open the download link of the Orange Pi OS (Droid) image, and you can see the
following two types of images, please select the image below

5) Then use decompression software to decompress the compressed file of the


downloaded Orange Pi OS (Droid) image. Among the decompressed files, the file ending
with ".img" is the Orange Pi OS (Droid) image file, and the size is more than 1GB

6) Then use decompression software to decompress SDDiskTool_v1.72.zip, this


software does not need to be installed, just find SD_Firmware_Tool.ex in the
decompressed folder and open it

7) After opening SDDiskTool, if the TF card is recognized normally, the inserted disk
device will be displayed in the "Select Removable Disk Device" column. Please make
sure that the displayed disk device is consistent with the drive letter of the TF card
you want to burn , if there is no display, you can try to unplug the TF card

106
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) After confirming the drive letter, you can format the TF card first, click the restore
disk button in SDDiskTool, or use the SD Card Formatter mentioned above to format
the TF card

9) Then start to write the Orange Pi OS (Droid) image into the TF card
a. First check "SD Boot" in "Select Function Mode"
b. Then select the path of the Orange Pi OS (Droid) image in the "Select to
upgrade firmware" column
c. Finally, click the "Start Create" button to start burning the Orange Pi OS (Droid)
image to the TF card

107
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) After burning, you can exit the SDDiskTool software, and then you can pull out the
TF card from the computer and insert it into the development board to start

2.12. How to burn Orange Pi OS (Droid) image into eMMC

Note, after burning the image into eMMC, if the test finds that it cannot
be started, please clear the SPIFlash and try again. For the method of
clearing SPIFlash, please refer to the method of using RKDevTool to clear
SPIFlash.
2.12.1. Burn Orange Pi OS (Droid) image to eMMC
Note that all the following operations are performed on a Windows computer.

1) The development board reserves an eMMC expansion interface. Before programming

108
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

the system to eMMC, you first need to purchase an eMMC module that matches the
eMMC interface of the development board. Then install the eMMC module to the
development board. The eMMC module and the method of plugging into the
development board are as follows:

2) It is also necessary to prepare a data cable with a good quality Type-C interface

3) Then download Rockchip driver DriverAssitant_v5.12.zip and burning tool


RKDevTool_Release_v3.15.zip from Orange Pi's data download page
4) Then download the Orange Pi OS (Droid) image from the Orange Pi download
page

5) Then use decompression software to decompress the compressed file of the


downloaded Orange Pi OS (Droid) image. Among the decompressed files, the file ending
with ".img" is the Orange Pi OS (Droid) image file, and the size is more than 1GB

109
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then use decompression software to decompress DriverAssitant_v5.12.zip, then find


the DriverInstall.exe executable file in the decompressed folder and open it

7) After opening DriverInstall.exe, the steps to install the Rockchip driver are as
follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "driver
installed successfully", and then click the "OK" button.

8) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

110
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) After opening the RKDevTool burning tool, because the computer is not connected to
the development board through the Type-C cable at this time, the lower left corner will
prompt "No device found"

10) Then start burning Orange Pi OS (Droid) image into eMMC


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

b. Make sure that the development board is not inserted into the TF card and not
connected to the power supply
c. Then press and hold the MaskROM button on the development board, the
position of the MaskROM button on the development board is shown in the

111
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on

e. If the previous steps are successful, the development board will enter the
MASKROM mode at this time, and the interface of the burning tool will prompt
"found a MASKROM device"

f. Then click the "Upgrade Firmware" column of the burning tool

112
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

g. Then click the "Firmware" button to select the path of the Orange Pi OS (Droid)
image that needs to be burned

h. Finally, click the "Upgrade" button to start burning, and the log during the
burning process is shown in the figure below. After burning, the Orange Pi OS
(Droid) system will start automatically.

2.12.2. Burn Orange Pi OS (Droid) image to eMMC via TF card


Note that all the following operations are performed on a Windows computer.

113
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1) The development board reserves an eMMC expansion interface. Before programming


the system to eMMC, you first need to purchase an eMMC module that matches the
eMMC interface of the development board. Then install the eMMC module to the
development board. The location of the eMMC interface is as follows:

2) You also need to prepare a TF card with 8GB or larger capacity. The transmission
speed of the TF card must be class10 or above. It is recommended to use a TF card of
SanDisk and other brands

3) Then use the card reader to insert the TF card into the computer

4) Then download the SDDiskTool programming tool from the Orange Pi data
download page, please ensure that the version of the SDDiskTool tool is the latest
v1.72.

5) Then download the Orange Pi OS (Droid) image from the Orange Pi download
page

6) Then use the decompression software to decompress the compressed package of the
downloaded Orange Pi OS (Droid) image. Among the decompressed files, the file ending
with ".img" is the Orange Pi OS (Droid) image file, and the size is more than 1GB

7) Then use decompression software to decompress SDDiskTool_v1.72.zip, this


software does not need to be installed, just find SD_Firmware_Tool.exe in the
decompressed folder and open it

114
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) After opening SDDiskTool, if the TF card is recognized normally, the inserted disk
device will be displayed in the "Select Removable Disk Device" column. Please make
sure that the displayed disk device is consistent with the drive letter of the TF card
you want to burn, if there is no display, you can try to unplug the TF card.

9) After confirming the drive letter, you can format the TF card first, click the restore
disk button in SDDiskTool, or use the SD Card Formatter mentioned above to format
the TF card

10) Then start to write the Orange Pi OS (Droid) image into the TF card

115
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a. First confirm that the displayed drive letter is the drive letter corresponding to the TF
card under "Select Removable Disk Device"
b. Then select "Firmware Upgrade" in "Select Function Mode"
c. Then select the path of the Orange Pi OS (Droid) firmware in the "Select Upgrade
Firmware" column
d. Finally click the "Start Create" button to start burning

11) After the burning is completed, the display is as shown in the figure below, and then
you can exit SDDiskTool

12) Then pull out the TF card from the computer and insert it into the development board.
After the development board is powered on, it will automatically start burning the Orange
Pi OS (Droid) image in the TF card to the eMMC of the development board.

116
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

13) If the development board is connected to an HDMI display, you can also see the
progress bar of burning the Orange Pi OS (Droid) image to eMMC from the HDMI
display

14) When the HDMI monitor displays the following information, it means that the
burning of the Orange Pi OS (Droid) image to the eMMC has been completed. At this
time, the TF card can be pulled out, and then the Orange Pi OS (Droid) system in the
eMMC will start to start .

117
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.13. Burn Orange Pi OS (Droid) image to SPIFlash+NVMe SSD

Note that all the following operations are performed on a Windows computer.

1) First, you need to prepare a 2280 specification NVMe SSD solid state drive. The
specification of the PCIe interface in the M.2 slot of the development board is PCIe3.0x4.

2) Then insert the NVMe SSD into the M.2 PCIe interface of the development board and
fix it

118
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) The position of the SPI Flash on the development board is shown in the figure below,
no other settings are required before starting the programming

4) It is also necessary to prepare a data cable with a good quality Type-C interface

5) Then download the Rockchip driver DriverAssitant_v5.12.zip and the burning tool
RKDevTool_Release_v3.15.zip from the Orange Pi data download page,
6) Then download the Orange Pi OS (Droid) image, open the download link of the
Orange Pi OS (Droid) image and you can see the following two types of images, please
select the image with spi-nvme to download

7) Then use the decompression software to decompress DriverAssitant_v5.12.zip, and


then find the DriverInstall.exe executable file in the decompressed folder and open it

119
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) After opening DriverInstall.exe, the steps to install the Rockchip driver are as
follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "driver
installed successfully", and then click the "OK" button.

9) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

10) After opening the RKDevTool burning tool, because the computer is not connected

120
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

to the development board through the Type-C cable at this time, the lower left corner will
prompt "No device found"

11) Then start burning the Android image to SPIFlash+NVMe SSD


a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

b. Make sure that the development board is not plugged into the TF and eMMC
modules, and is not connected to the power supply
c. Then press and hold the MaskROM button on the development board, the
position of the MaskROM button on the development board is shown in the
figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on, and then release the MaskROM button

121
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. If the previous steps are successful, the development board will enter the
MASKROM mode at this time, and the interface of the burning tool will prompt
"found a MASKROM device"

f. Then click the "Upgrade Firmware" column of the burning tool

g. Then click the "Firmware" button to select the Orange Pi OS (Droid) image to
be burned

122
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Finally, click the "Upgrade" button to start burning. The burning process is
shown in the figure below. After the burning is completed, the Orange Pi OS
(Droid) system will automatically start.

2.14. How to use RKDevTool to clear SPIFlash

1) The position of SPI Flash on the development board is shown in the figure below

2) First, you need to prepare a data cable with a good quality Type-C interface

123
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then download the Rockchip driver DriverAssitant_v5.12.zip and MiniLoader and


the burning tool RKDevTool_Release_v3.15.zip from the Orange Pi data download
page
a. On the Orange Pi data download page, first select the official tool, and then
enter the following folder

b. Then download all the files below

Note that the "MiniLoader-things needed to burn the Linux image" folder
is hereinafter referred to as the MiniLoader folder.

4) Then use the decompression software to decompress DriverAssitant_v5.12.zip, and


then find the DriverInstall.exe executable file in the decompressed folder and open it

124
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) After opening DriverInstall.exe, the steps to install the Rockchip driver are as
follows
a. Click the "Driver Installation" button

b. After waiting for a period of time, a pop-up window will prompt "The driver is
installed successfully", and then click the "OK" button.

6) Then decompress RKDevTool_Release_v3.15.zip, this software does not need to be


installed, just find RKDevTool in the decompressed folder and open it

125
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) After opening the RKDevTool burning tool, because the computer has not been
connected to the development board through the Type-C cable at this time, the lower left
corner will prompt "No device found"

8) Then you can start to clear the contents of the SPI FLASH
a. First, connect the development board to the Windows computer through the
Type-C data cable. The position of the Type-C interface on the development
board is shown in the figure below

b. Make sure the development board is not connected to the power supply
c. Then press and hold the MaskROM button on the development board, the
position of the MaskROM button on the development board is shown in the
figure below:

d. Then connect the power supply of the Type-C interface to the development board,
and power on, and then release the MaskROM button

126
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. If the previous steps are successful, at this time the development board will enter
the Maskrom mode, and it will be prompted "Find a Maskrom device" on the
interface of the recording tool

f. Then please select advanced features

g. Then click the position shown in the figure below

127
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Then select MiniLoaderAll.bin in the MiniLoader folder downloaded earlier,


and then click Open

i. Then click download

j. The display after downloading MiniLoaderAll.bin is shown in the figure below

k. Then select the storage device as SPINOR

128
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

l. Then click switch storage

m. Then click Erase All to start erasing SPIFlash

n. The display log after erasing SPIFlash is shown in the figure below

129
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.15. Start the Orange Pi development board

1) Insert the burned TF card or eMMC module into the TF card slot of the Orange Pi
development board. If the image of SPIFlash+NVMe SSD has been burnt, then there is
no need to insert a TF card or eMMC module, just make sure that the NVMe SSD is
normally inserted into the development board.

2) The development board has an HDMI interface, and the development board can be
connected to a TV or HDMI display through an HDMI-to-HDMI cable. If you buy an
LCD screen, you can also use the LCD screen to display the system interface of the
development board. If there is a Type-C to HDMI cable, the system interface of the
development board can also be displayed through the Type-C interface.

3) Connect a USB mouse and keyboard to control the Orange Pi development board.

4) The development board has an Ethernet port, which can be plugged into a network
cable for Internet access.

5) Connect a high-quality power adapter with a 5V/4A USB Type-C interface.


Remember not to plug in a power adapter with a voltage output greater than 5V,
as this will burn out the development board.
Many unstable phenomena during the power-on and start-up process of the
system are basically caused by power supply problems, so a reliable power adapter
is very important. If you find that there is a phenomenon of continuous restart
during the startup process, please replace the power
supply or the Type-C data cable and try again.

130
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The Type-C power port does not support PD negotiation.


In addition, please do not connect the USB interface of the computer to power
the development board.

There are two Type-C ports that look the same on the development board. The
one next to the network port is the power port, and the other Type-C port has no
power supply function. Please don’t connect it wrong.

6) Then turn on the switch of the power adapter. If everything is normal, you can see the
startup screen of the system on the HDMI monitor or LCD screen.

7) If you want to view the output information of the system through the debugging serial
port, please use the serial cable to connect the development board to the computer. For
the connection method of the serial port, please refer to the section on how to use the
debugging serial port.

2.16. How to use the debugging serial port

2.16.1. Connection instruction of debugging serial port


1) First, you need to prepare a 3.3V USB to TTL module, and then insert the USB
interface end of the USB to TTL module into the USB interface of the computer.
For better compatibility, it is recommended to use CH340 USB to TTL module,
please do not use CP2102, PL2303 type USB to TTL module.

131
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Before purchasing a USB to TTL module, please confirm that the module
supports a baud rate of 1500000.

2) The corresponding relationship between GND, RXD and TXD pins of the debugging
serial port of the development board is shown in the figure below:

3) The GND, TXD and RXD pins of the USB to TTL module need to be connected to
the debugging serial port of the development board through a DuPont line
a. The GND of the USB to TTL module is connected to the GND of the
development board
b. The RX of the USB to TTL module is connected to the TX of the development
board
c. The TX of the USB to TTL module is connected to the RX of the development
board

4) The schematic diagram of connecting the USB to TTL module to the computer and
the Orange Pi development board is as follows

132
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The TX and RX of the serial port need to be cross-connected. If you don’t want
to carefully distinguish the order of TX and RX, you can connect the TX and RX of
the serial port casually. If there is no output in the test, then exchange the order of
TX and RX, so that there is always a This order is correct.
2.16.2. How to use the debugging serial port on the Ubuntu platform
There are many serial port debugging software that can be used under Linux,
such as putty, minicom, etc. The following demonstrates how to use putty.

1) First, insert the USB-to-TTL module into the USB port of the Ubuntu computer. If the
connection and recognition of the USB-to-TTL module is normal, you can see the
corresponding device node name under /dev on the Ubuntu PC. Remember this node
name, and then set the serial port software will be used.
test@test:~$ ls /dev/ttyUSB*
/dev/ttyUSB0

2) Then use the following command to install putty on Ubuntu PC


test@test:~$ sudo apt-get update
test@test:~$ sudo apt-get install -y putty

3) Then run putty, remember to add sudo permission


test@test:~$ sudo putty

4) After executing the putty command, the following interface will pop up

133
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) First select the setting interface of the serial port

6) Then set the parameters of the serial port


a. Set the Serial line to connect to as /dev/ttyUSB0 (modify to the corresponding
node name, generally /dev/ttyUSB0)
b. Set Speed(baud) to 1500000 (the baud rate of the serial port)

134
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. Set Flow control to None

7) After setting the serial port setting interface, return to the Session interface
a. First select the Connection type as Serial
b. Then click the Open button to connect to the serial port

8) After starting the development board, you can see the Log information output by the

135
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

system from the opened serial port terminal

2.16.3. How to use the debugging serial port on Windows platform


There are many serial port debugging software that can be used under Windows,
such as SecureCRT, MobaXterm, etc. The following demonstrates how to use
MobaXterm. This software has a free version and can be used without buying a
serial number.

1) Download MobaXterm
a. Download MobaXterm website as follows
https://mobaxterm.mobatek.net
b. After entering the MobaXterm download page, click GET XOBATERM NOW!

c. Then choose to download the Home version

136
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then select Portable portable version, no need to install after downloading, just
open it and use it

2) After downloading, use decompression software to decompress the downloaded


compressed package, you can get the executable software of MobaXterm, and then
double-click to open

3) After opening the software, the steps to set up the serial port connection are as follows
a. Open the session settings interface
b. Select the serial port type
c. Select the port number of the serial port (select the corresponding port number

137
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

according to the actual situation), if you cannot see the port number, please use
360 Driver Master to scan and install the driver for the USB to TTL serial port
chip
d. Select the baud rate of the serial port as 1500000
e. Finally click the "OK" button to complete the settings

4) After clicking the "OK" button, you will enter the following interface. At this time,
start the development board and you can see the output information of the serial port

138
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2.17. Instructions for using the 5v pin in the 40pin interface of


the development board to supply power

The power supply method we recommend for the development board is to use
the 5V/4A or 5V/5A Type-C interface power cord to plug into the Type-C power
interface of the development board for power supply. If you need to use the 5V pin
in the 40pin interface to power the development board, please make sure that the
power cable and power adapter used can meet the power supply requirements of the
development board. If the use is unstable, please switch back to the Type-C power
supply.

1) First, you need to prepare a power cord as shown in the figure below

The power cord shown in the picture above can be bought on Taobao, please
search and buy by yourself.

139
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Use the 5V pin in the 40pin interface to supply power to the development board. The
connection method of the power line is as follows
a. The USB A port of the power cord shown in the above picture needs to be
plugged into the 5V/4A or 5V/5A power adapter connector (please do not plug
into the USB port of the computer for power supply, nor can the general
mobile phone charging head, because the development board Without the
PD function, the general mobile phone charging head can only output the
lowest 5V/2A)
b. The red DuPont line needs to be plugged into the 5V pin of the development
board 40pin
c. The black DuPont line needs to be inserted into the GND pin of the 40pin
interface
d. The positions of the 5V pin and the GND pin of the 40pin interface in the
development board are shown in the figure below, remember not to reverse the
connection

3. Ubuntu/Debian Server and Xfce desktop system


instructions

The content of this chapter is written based on the Ubuntu/Debian server


version image and the xfce desktop version image.
If you are using the Ubuntu22.04 Gnome image, please first check the
instructions in the chapter Ubuntu22.04 Gnome Wayland Desktop System
Instructions.
You can refer to the instructions in this chapter for the content that does not
exist in the chapter of Ubuntu22.04 Gnome Wayland Desktop System User

140
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Manual, but some details may be different, please pay special attention to this point.
If you are using the OPi OS Arch image, please refer to the chapter Orange Pi
OS Arch System Instructions.

3.1. Supported Ubuntu/Debian image types and kernel


versions

Linux image type kernel version server version desktop version


Debian 11 - Bullseye Linux5.10 support support
Debian 12 - Bookworm Linux5.10 plan support plan support
Ubuntu 20.04 - Focal Linux5.10 support support
Ubuntu 22.04 - Jammy Linux5.10 support support

3.2. Linux system adaptation

Function Linux5.10 driver Debian11 Ubuntu20.04 Ubuntu22.04


HDMI TX1 Video OK OK OK OK
HDMI TX1 Audio OK OK OK OK
HDMI TX2 Video OK OK OK OK
HDMI TX2 Audio OK OK OK OK
HDMI RX Video OK OK OK OK
HDMI RX Audio OK OK OK OK
USB2.0X2 OK OK OK OK
USB3.0X2 OK OK OK OK
2.5G PCIe network OK OK OK OK
port X2
2.5G PCIe network OK OK OK OK
port light
Debug serial port OK OK OK OK
RTC Chip OK OK OK OK
FAN interface OK OK OK OK
eMMC Extension ports OK OK OK OK
AP6275P-WIFI OK OK OK OK
AP6275P-BT OK OK OK OK

141
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

AX200-WIFI OK OK OK OK
AX200-BT OK OK OK OK
AX210-WIFI OK OK OK OK
AX210-BT OK OK OK OK
RTL8852BE-WIFI OK OK OK OK
RTL8852BE-BT OK OK OK OK
MaskROM button OK OK OK OK
Type-C 转 USB3.0 OK OK OK OK
Type-C ADB Function OK OK OK OK
Type-C DP Video OK OK OK OK
Type-C DP Audio OK OK OK OK
switch button OK OK OK OK
infrared function OK OK OK OK
Three-color LED light OK OK OK OK
Onboard MIC OK OK OK OK
headphone playback OK OK OK OK
headphone recording OK OK OK OK
SPK Horn OK OK OK OK
40PIN GPIO OK OK OK OK
40PIN I2C OK OK OK OK
40PIN SPI OK OK OK OK
40PIN UART OK OK OK OK
40PIN CAN OK OK OK OK
40PIN PWM OK OK OK OK
TF card start OK OK OK OK
SPI+NVME start OK OK OK OK
OV13850 camera OK OK OK OK
OV13855 camera OK OK OK OK
GPU OK OK OK OK
VPU OK OK OK OK
NPU OK OK OK OK
REBOOT command OK OK OK OK
restarts
Poweroff command OK OK OK OK
shutdown

142
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

MIPI LCD display OK OK OK OK


MIPI LCD Touch OK OK OK OK
Chromium hard OK OK OK OK
solution video

3.3. The format of linux commands in this manual

1) In this manual, all commands that need to be entered in the Linux system will be
framed in the following box

As shown below, the content in the yellow box indicates the content that needs
special attention, except for the commands in it.

2) Description of the prompt type in front of the command


a. The prompt in front of the command refers to the content of the red part in the
box below, which is not part of the linux command, so when entering the
command in the linux system, please do not enter the content of the red font part.
orangepi@orangepi:~$ sudo apt update
root@orangepi:~# vim /boot/boot.cmd
test@test:~$ ssh [email protected]
root@test:~# ls
b. root@orangepi:~$ prompt indicates that this command is entered in the linux
system of the development board, and the last $ of the prompt indicates that
the current user of the system is an ordinary user. When executing a privileged
command, you need to add sudo
c. root@orangepi:~# The prompt indicates that this command is entered in the
linux system of the development board, and the # at the end of the prompt
indicates that the current user of the system is the root user, who can execute any
desired command
d. test@test:~$ prompt indicates that this command is entered in the Ubuntu PC or
Ubuntu virtual machine, not in the linux system of the development board. The
$ at the end of the prompt indicates that the current user of the system is an
ordinary user. When executing privileged commands, you need to add sudo

143
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. root@test:~# prompt indicates that this command is entered in the Ubuntu PC


or Ubuntu virtual machine, not in the linux system of the development board.
The # at the end of the prompt indicates that the current user of the system is the
root user and can execute any command you want

3) What are the commands that need to be entered?


a. As shown below, the black bold part is the command that needs to be input, and
the content below the command is the output content (some commands have
output, some may not have output), this part of the content does not need to be
input
root@orangepi:~# cat /boot/orangepiEnv.txt
verbosity=7
bootlogo=false
console=serial
b. As shown below, some commands cannot be written in one line and will be
placed on the next line. As long as the black and bold parts are all commands
that need to be input. When these commands are entered into one line, the last
"\" of each line needs to be removed, this is not part of the command. In addition,
there are spaces in different parts of the command, please don’t miss it
orangepi@orangepi:~$ echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3.4. Linux system login instructions

3.4.1. Linux system default login account and password


Account Password
root orangepi
orangepi orangepi

Note that when entering the password, the specific content of the entered
password will not be displayed on the screen, please do not think that there is any
fault, just press Enter after inputting.

144
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

When the wrong password is prompted, or there is a problem with the ssh
connection, please note that as long as you are using the Linux image provided by
Orange Pi, please do not suspect that the above password is wrong, but look for
other reasons.
3.4.2. How to set automatic terminal login in linux system
1) By default, the Linux system automatically logs in to the terminal, and the default
login user name is orangepi

2) Use the following command to set the root user to automatically log in to the terminal
orangepi@orangepi:~$ sudo auto_login_cli.sh root

3) Use the following command to disable automatic login terminal


orangepi@orangepi:~$ sudo auto_login_cli.sh -d

4) Use the following command to set the orangepi user to automatically log in to the
terminal again
orangepi@orangepi:~$ sudo auto_login_cli.sh orangepi

3.4.3. Instructions for automatic login of Linux desktop version


system
1) After the desktop version system is started, it will automatically log in to the desktop
without entering a password

145
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Run the following command to prohibit the desktop system from automatically
logging into the desktop
orangepi@orangepi:~$ sudo disable_desktop_autologin.sh

3) Then restart the system and a login dialog box will appear, at which point a password
is required to enter the system

146
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.4.4. The setting method of root user automatic login in Linux


desktop version system

1) Execute the following command to set the desktop system to automatically log in as
the root user
orangepi@orangepi:~$ sudo desktop_login.sh root

2) Then restart the system, it will automatically use the root user to log in to the desktop

Note that if you log in to the desktop system as the root user, you cannot use
pulseaudio in the upper right corner to manage audio devices.
Also note that this is not a bug, since pulseaudio is not allowed to run as root.

3) Execute the following command to set the desktop system to log in automatically with
the orangepi user again
orangepi@orangepi:~$ sudo desktop_login.sh orangepi
3.4.5. The method of disabling the desktop in the Linux desktop
version system
1) First enter the following command in the command line, please remember to add
sudo permission
orangepi@orangepi:~$ sudo systemctl disable lightdm.service

2) Then restart the Linux system and you will find that the desktop will not be displayed
orangepi@orangepi:~$ sudo reboot

3) The steps to reopen the desktop are as follows:


a. First enter the following command in the command line, please remember to
add sudo permission

147
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~$ sudo systemctl start lightdm.service


orangepi@orangepi:~$ sudo systemctl enable lightdm.service
b. After selection, the monitor will display the desktop

3.5. Onboard LED Light Test Instructions

1) There is a red, green and blue three-color light on the development board, and its
location is shown in the figure below:

2) As long as the development board is powered on, the red LED light will always
be on, which is controlled by the hardware and cannot be turned off by the software.
The red LED light can be used to determine whether the power supply of the
development board is turned on normally.

3) The green and blue LED lights will keep blinking after the kernel boots, which is
controlled by software.

4) The method of using the command to set the green light on and off and blinking is as
follows:
Note that the following operations should be performed under the root user.
a. First enter the setting directory of the green light
root@orangepi:~# cd /sys/class/leds/green_led
b. The command to set the green light to stop flashing is as follows
root@orangepi:/sys/class/leds/green_led# echo none > trigger
c. The command to set the green light to be on is as follows
root@orangepi:/sys/class/leds/green_led# echo default-on > trigger
d. The command to set the green light to flash is as follows
root@orangepi:/sys/class/leds/green_led# echo heartbeat > trigger

5) The method of using the command to set the blue light on and off and flashing is as
follows:

148
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note that the following operations should be performed under the root user.
a. First enter the setting directory of the blue light
root@orangepi:~# cd /sys/class/leds/blue_led
b. The command to set the blue light to stop flashing is as follows
root@orangepi:/sys/class/leds/blue_led# echo none > trigger
c. The command to set the blue light to be on is as follows
root@orangepi:/sys/class/leds/blue_led# echo default-on > trigger
d. The command to set the blue light to flash is as follows
root@orangepi:/sys/class/leds/blue_led# echo heartbeat > trigger

6) If you don't want the LED light to flash after booting, you can use the following
method to turn off the green light and blue light
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

d. Then use the arrow keys of the keyboard to navigate to the position shown in the
figure below, and then use the space to select the opi5plus-disable-leds
configuration

149
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. Then select <Save> to save

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

h. After restarting, you can see that only the red light on the development board is
always on, and the green and blue lights will not flash

3.6. Network connection test

3.6.1. 2.5G Ethernet port test


1) The development board has two 2.5G Ethernet ports, and the test methods for the two
ports are the same. First, insert one end of the network cable into the Ethernet interface of
the development board, and connect the other end of the network cable to the router, and
ensure that the network is unimpeded.

150
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) After the system starts, it will automatically assign an IP address to the Ethernet card
through DHCP without any other configuration.

3) The command to view the IP address in the Linux system of the development board is
as follows:
orangepi@orangepi:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever


inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enP3p49s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:e0:4c:68:00:26 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.245/24 brd 192.168.1.255 scope global dynamic noprefixroute enP3p49s0
valid_lft 42537sec preferred_lft 42537sec
inet6 fe80::9005:95ac:b9c0:2beb/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enP4p65s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:e0:4c:68:00:27 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.247/24 brd 192.168.1.255 scope global dynamic noprefixroute enP4p65s0
valid_lft 43179sec preferred_lft 43179sec
inet6 fe80::62b5:dc5e:728e:39a3/64 scope link noprefixroute
valid_lft forever preferred_lft forever

When using ifconfig to view the IP address, if the following information is


prompted, it is because sudo is not added. The correct command is: sudo ifconfig

orangepi@orangepi:~$ ifconfig
Command 'ifconfig' is available in the following places
* /sbin/ifconfig
* /usr/sbin/ifconfig
The command could not be located because '/sbin:/usr/sbin' is not included in the PATH
environment variable.

151
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

This is most likely caused by the lack of administrative privileges associated with your
user account.
ifconfig: command not found

There are three ways to check the IP address after the development board
starts:
1. Connect the HDMI display, then log in to the system and use the ip addr show
command to view the IP address
2. Enter the ip addr show command in the debugging serial terminal to view the IP
address
3. If there is no debugging serial port and no HDMI display, you can also check the
IP address of the development board's network port through the router's
management interface. However, in this method, some people often cannot see the IP
address of the development board normally. If you can't see it, the debug method
looks like this:
A)First check whether the Linux system has started normally. If the
three-color light on the development board is flashing, it is generally started
normally. If only the red light is on, it means that the system has not started
normally;
B)Check whether the network cable is plugged in tightly, or try another
network cable;
C)Try another router (I have encountered many problems with the router,
such as the router cannot assign the IP address normally, or the IP address has been
assigned normally but cannot be seen in the router);
D)If there is no router to replace, you can only connect to an HDMI display or
use the debugging serial port to check the IP address.

In addition, it should be noted that the development board DHCP automatically


assigns an IP address without any settings.

4) The command to test the network connectivity is as follows, the ping command can
be interrupted through the shortcut key of Ctrl+C
orangepi@orangepi:~$ ping www.baidu.com -I enP4p65s0 #Test command for one of the
network ports
orangepi@orangepi:~$ ping www.baidu.com -I enP3p49s0 #Test command of another

152
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

network port
PING www.a.shifen.com (14.119.104.254) from 192.168.1.182 enP3p49s0: 56(84) bytes of data.
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=1 ttl=56 time=6.26 ms
64 bytes from 14.119.104.254 (14.119.104.254): icmp_seq=6 ttl=56 time=5.69 ms
^C
--- www.a.shifen.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5008ms
rtt min/avg/max/mdev = 5.671/5.859/6.264/0.202 ms
3.6.2. WIFI connection test
First of all, please note that there is no WIFI module on the Orange Pi 5 Plus
development board, and an external PCIe network card or USB network card is
required to use the WIFI function.
For instructions on using the external PCIe network card, please refer to the
section on how to use the PCIe WIFI6+Bluetooth module.
For instructions on using the external USB network card, please refer to the
USB wireless network card test section.

Please do not connect to WIFI by modifying the /etc/network/interfaces


configuration file. There will be problems connecting to the WIFI network in this
way.

3.6.2.1. The server image connects to WIFI through commands

When the development board is not connected to Ethernet, not connected to


HDMI display, but only connected to the serial port, it is recommended to use the
commands demonstrated in this section to connect to the WIFI network. Because
nmtui can only display characters in some serial port software (such as minicom),
and cannot display the graphical interface normally. Of course, if the development
board is connected to an Ethernet or HDMI display, you can also use the commands
demonstrated in this section to connect to the WIFI network.

The commands demonstrated below are the default WIFI network device node
name wlan0, but the node names of different WIFI modules will be different, please
replace it with the actual node name you see, do not copy it.

153
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1) First log in to the linux system, there are the following three ways
a. If the development board is connected with a network cable, you can remotely
log in to the Linux system through ssh
b. If the development board is connected to the debugging serial port, you can use
the serial port terminal to log in to the Linux system
c. If the development board is connected to the HDMI display, you can log in to the
linux system through the HDMI display terminal

2) First use the nmcli dev wifi command to scan the surrounding WIFI hotspots
orangepi@orangepi:~$ nmcli dev wifi

3) Then use the nmcli command to connect to the scanned WIFI hotspot, where:
a. wifi_name needs to be replaced with the
b. wifi_passwd needs to be replaced with the password of the WIFI hotspot you
want to connect to
orangepi@orangepi:~$ sudo nmcli dev wifi connect wifi_name password wifi_passwd
Device 'wlan0' successfully activated with 'cf937f88-ca1e-4411-bb50-61f402eef293'.

4) Through the ip addr show wlan0 command, you can view the IP address of wifi
The device node names of WIFI are not necessarily all wlan0, please refer to
what you actually see.
orangepi@orangepi:~$ ip addr show wlan0
11: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP group default qlen 1000

154
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

link/ether 23:8c:d6:ae:76:bb brd ff:ff:ff:ff:ff:ff


inet 192.168.1.11/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
valid_lft 259192sec preferred_lft 259192sec
inet6 240e:3b7:3240:c3a0:c401:a445:5002:ccdd/64 scope global dynamic
noprefixroute
valid_lft 259192sec preferred_lft 172792sec
inet6 fe80::42f1:6019:a80e:4c31/64 scope link noprefixroute
valid_lft forever preferred_lft forever

5) Use the ping command to test the connectivity of the wifi network, and the ping
command can be interrupted through the shortcut key Ctrl+C
The device node names of WIFI are not necessarily all wlan0, please refer to
what you actually see.
orangepi@orangepi:~$ ping www.orangepi.org -I wlan0
PING www.orangepi.org (182.92.236.130) from 192.168.1.49 wlan0: 56(84) bytes of
data.
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=1 ttl=52 time=43.5 ms
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=2 ttl=52 time=41.3 ms
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=3 ttl=52 time=44.9 ms
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=4 ttl=52 time=45.6 ms
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=5 ttl=52 time=48.8 ms
^C
--- www.orangepi.org ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 41.321/44.864/48.834/2.484 ms

3.6.2.2. The server image connects to WIFI in a graphical way

1) First log in to the linux system, there are the following three ways
a. If the development board is connected with a network cable, you can remotely
log in to the Linux system through ssh
b. If the development board is connected to the debugging serial port, you can use
the serial port terminal to log in to the linux system (please use MobaXterm for
the serial port software, and minicom cannot display the graphical interface)
c. If the development board is connected to the HDMI display, you can log in to the

155
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

linux system through the terminal displayed on the HDMI

2) Then enter the nmtui command in the command line to open the wifi connection
interface
orangepi@orangepi:~$ sudo nmtui

3) Enter the nmtui command to open the interface as shown below

4) Select Activate a connect and press Enter

5) Then you can see all the searched WIFI hotspots

156
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Select the WIFI hotspot you want to connect to, then use the Tab key to position the
cursor on Activate and press Enter

7) Then a dialog box for entering a password will pop up, enter the corresponding
password in Password and press Enter to start connecting to WIFI

157
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) After the WIFI connection is successful, a "*" will be displayed in front of the
connected WIFI name

9) You can view the IP address of wifi through the ip addr show wlan0 command
The device node names of WIFI are not necessarily all wlan0, please refer to
what you actually see.
orangepi@orangepi:~$ ip addr show wlan0
11: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP group default qlen 1000
link/ether 24:8c:d3:aa:76:bb brd ff:ff:ff:ff:ff:ff
inet 192.168.1.11/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
valid_lft 259069sec preferred_lft 259069sec
inet6 240e:3b7:3240:c4a0:c401:a445:5002:ccdd/64 scope global dynamic
noprefixroute
valid_lft 259071sec preferred_lft 172671sec
inet6 fe80::42f1:6019:a80e:4c31/64 scope link noprefixroute
valid_lft forever preferred_lft forever

10) Use the ping command to test the connectivity of the wifi network, and the ping
command can be interrupted through the shortcut key Ctrl+C
The device node names of WIFI are not necessarily all wlan0, please refer to
what you actually see.
orangepi@orangepi:~$ ping www.orangepi.org -I wlan0
PING www.orangepi.org (182.92.236.130) from 192.168.1.49 wlan0: 56(84) bytes of
data.

158
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=1 ttl=52 time=43.5 ms


64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=2 ttl=52 time=41.3 ms
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=3 ttl=52 time=44.9 ms
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=4 ttl=52 time=45.6 ms
64 bytes from 182.92.236.130 (182.92.236.130): icmp_seq=5 ttl=52 time=48.8 ms
^C
--- www.orangepi.org ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 41.321/44.864/48.834/2.484 ms

3.6.2.3. Test method of desktop image

1) Click the network configuration icon in the upper right corner of the desktop (please
do not connect the network cable when testing WIFI)

2) Click More networks in the pop-up drop-down box to see all scanned WIFI hotspots,
and then select the WIFI hotspot you want to connect to

159
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then enter the password of the WIFI hotspot, and then click Connect to start
connecting to WIFI

4) After connecting to WIFI, you can open the browser to check whether you can access
the Internet. The entrance of the browser is shown in the figure below

160
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) If you can open other web pages after opening the browser, it means that the WIFI
connection is normal

3.6.3. How to set a static IP address


Please do not set a static IP address by modifying the /etc/network/interfaces
configuration file.

3.6.3.1. Use the nmtui command to set a static IP address

1) First run the nmtui command


orangepi@orangepi:~$ nmtui

161
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then select Edit a connection and press Enter

3) Then select the network interface that needs to set a static IP address, such as setting
the static IP address of the Ethernet interface to select Wired connection 1 or Wired
connection 2

4) Then select Edit via the Tab key and press the Enter key

5) Then use the Tab key to move the cursor to the <Automatic> position shown in the
figure below to configure IPv4

162
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then press Enter, select Manual through the up and down arrow keys, and press Enter
to confirm

7) The display after selection is shown in the figure below

8) Then move the cursor to <Show> via the Tab key

163
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) Then press Enter, and the following setting interface will pop up after entering

10) Then you can set the IP address (Addresses), gateway (Gateway) and DNS server
address in the position shown in the figure below (there are many other setting options in
it, please explore by yourself), please set according to your specific needs, The values
set in the image below are just an example

164
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) After setting, move the cursor to <OK> in the lower right corner, and press Enter to
confirm

12) Then click <Back> to return to the previous selection interface

165
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

13) Then select Activate a connection, then move the cursor to <OK>, and finally click
Enter

14) Then select the network interface that needs to be set, such as Wired connection 2,
then move the cursor to <Deactivate>, and press the Enter key to disable Wired
connection 2

15) Then re-select and enable Wired connection 2, so that the static IP set earlier will
take effect

16) Then you can exit nmtui through the <Back> and Quit buttons

166
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

17) Then through ip addr show, you can see that the IP address of the network port has
changed to the static IP address set earlier
orangepi@orangepi:~$ ip addr show enP4p65s0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
UP group default qlen 1000
link/ether 5e:ac:14:a5:92:b3 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute enP4p65s0
valid_lft forever preferred_lft forever
inet6 241e:3b8:3240:c3a0:e269:8305:dc08:135e/64 scope global dynamic
noprefixroute
valid_lft 259149sec preferred_lft 172749sec
inet6 fe80::957d:bbbe:4928:3604/64 scope link noprefixroute
valid_lft forever preferred_lft forever

18) Then you can test the connectivity of the network to check whether the IP address is
configured OK, and the ping command can be interrupted through the shortcut key
Ctrl+C
orangepi@orangepi:~$ ping 192.168.1.47 -I enP4p65s0
PING 192.168.1.47 (192.168.1.47) from 192.168.1.188 enP4p65s0: 56(84) bytes of data.
64 bytes from 192.168.1.47: icmp_seq=1 ttl=64 time=0.233 ms
64 bytes from 192.168.1.47: icmp_seq=2 ttl=64 time=0.263 ms
^C
--- 192.168.1.47 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4042ms

167
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

rtt min/avg/max/mdev = 0.233/0.262/0.275/0.015 ms

3.6.3.2. Use the nmcli command to set a static IP address

1) If you want to set the static IP address of the network port, please insert the network
cable into the development board first. If you need to set the static IP address of WIFI,
please connect the WIFI first, and then start to set the static IP address

2) Then use the nmcli con show command to view the name of the network device, as
shown below, Wired connection 1 and Wired connection 2 are the names of the
Ethernet interfaces
orangepi@orangepi:~$ nmcli con show
NAME UUID TYPE DEVICE
Wired connection 1 c043c817-1156-3b72-a559-9a8cd642bf70 ethernet enP3p49s0
Wired connection 2 6f74598a-ccc6-358b-be05-87eaf34df930 ethernet enP4p65s0

3) Then enter the following command, where


a. "Wired connection 1" means to set the static IP address of the Ethernet port. If
you need to set the static IP address of other network ports, please modify it to
the name corresponding to the corresponding network interface (you can get it
through the nmcli con show command)
b. ipv4.addresses is followed by the static IP address to be set, which can be
modified to the value you want to set
c. ipv4.gateway represents the address of the gateway
orangepi@orangepi:~$ sudo nmcli con mod "Wired connection 1" \
ipv4.addresses "192.168.1.110" \
ipv4.gateway "192.168.1.1" \
ipv4.dns "8.8.8.8" \
ipv4.method "manual"

4) Then restart the linux system


orangepi@orangepi:~$ sudo reboot

5) Then re-enter the linux system and use the ip addr show command to see that the IP
address has been set to the desired value

168
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~$ ip addr show


2: enP3p49s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state
UP group default qlen 1000
link/ether 00:e0:4c:68:00:26 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.110/32 scope global noprefixroute enP3p49s0
valid_lft forever preferred_lft forever
inet6 fe80::9005:95ac:b9c0:2beb/64 scope link noprefixroute
valid_lft forever preferred_lft forever

3.7. How to use E-Key PCIe WIFI6+Bluetooth module

1) First you need to buy a PCIe WIFI6+Bluetooth module


S/N Model Physical picture Supported OS
1 AX200 Debian
(PCIE+USB port) Ubuntu
OpenWRT
OPi OS Arch

2 AX210 Debian
(PCIE+USB port) Ubuntu
OpenWRT
OPi OS Arch

3 RTL8852BE Debian
(PCIE+USB port) Ubuntu
Android12
OPi OS Arch
OPi OS Droid

169
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Pay attention to RTL8852BE, please do not buy the module shown in the figure
below, there will be problems after testing.

2) Then insert the module into the M.2 E-Key interface of the development board and fix
it. The position is shown in the figure below:

3) Then use the lspci command, if you can see the information of the WIFI module, it
means that the module is in good contact
a. AX200 displays as follows
orangepi@orangepi:~$ lspci | grep "Network"
0002:21:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)

b. AX210 displays as follows


orangepi@orangepi:~$ lspci | grep "Network"
0002:21:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)

c. RTL8852 display as shown below


orangepi@orangepi:~$ lspci | grep "Network"
0002:21:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device b852

170
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then use the following command to see that there will be an additional WIFI device
node
[orangepi@orangepi ~]$ ip a

5) For the WIFI connection and test method, please refer to the WIFI connection test
section, and will not repeat them here.

6) For the test method of Bluetooth, please refer to the section on Bluetooth usage, so I
won’t go into details here.

3.8. SSH remote login development board

Linux systems enable ssh remote login by default and allow the root user to log
in to the system. Before logging in with ssh, you first need to ensure that the
Ethernet or wifi network is connected, and then use the ip addr command or check
the router to obtain the IP address of the development board.
3.8.1. SSH remote login development board under Ubuntu
1) Obtain the IP address of the development board

2) Then you can remotely log in to the linux system through the ssh command
test@test:~$ ssh [email protected] (Need to be replaced with the IP address
of the development board)
[email protected]'s password: ( Enter the password here, the default password
is orangepi)

Note that when entering the password, the specific content of the entered
password will not be displayed on the screen, please do not think that there is any
fault, just press Enter after inputting.
If you are prompted to refuse the connection, as long as you are using the image
provided by Orange Pi, please do not suspect that the password orangepi is wrong,
but look for other reasons.

3) After successfully logging in to the system, the display is as shown in the figure below

171
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

If ssh fails to log in to the linux system normally, first check whether the IP
address of the development board can be pinged. If the ping is ok, you can log in to
the linux system through the serial port or HDMI display and then enter the
following command on the development board and try again. Is it possible to
connect:

root@orangepi:~# reset_ssh.sh

If it still doesn't work, try to reset the system.


3.8.2. SSH remote login development board under Windows
1) First obtain the IP address of the development board

2) Under Windows, you can use MobaXterm to remotely log in to the development
board, first create a new ssh session
a. Open Session
b. Then select SSH in Session Setting
c. Then enter the IP address of the development board in the Remote host
d. Then enter the user name root or orangepi of the linux system in Specify
username
e. Finally click OK

172
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then you will be prompted to enter a password. The default passwords for root and
orangepi users are orangepi
Note that when entering the password, the specific content of the entered
password will not be displayed on the screen, please do not think that there is any
fault, just press Enter after inputting.

4) After successfully logging in to the system, the display is as shown in the figure below

173
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.9. How to use ADB

3.9.1. How to use network adb


1) After the system starts, please confirm that adbd has been started
orangepi@orangepi:~$ ps -ax | grep "adbd"
808 ? Sl 0:00 /usr/bin/adbd
3707 ttyFIQ0 S+ 0:00 grep --color=auto adbd

2) Then check the IP address of the development board and write it down

3) Then install the adb tool on the Ubuntu PC


test@test:~$ sudo apt-get update
test@test:~$ sudo apt-get install -y adb

4) Then use the following command to connect to the network adb


test@test:~$ adb connect 192.168.1.xx:5555 #Please replace the IP address with
the IP address of the development board
* daemon not running; starting now at tcp:5037
* daemon started successfully

174
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

connected to 192.168.1.xx:5555
test@test:~$ adb devices
List of devices attached
192.168.1.xx:5555 device

5) Then use the following command to log in to the linux system of the development
board
test@test:~$ adb shell
root@orangepi5plus:/# <--- After seeing this prompt, it means that you have
successfully logged in to the development board

6) The command to upload files to the development board using adb is as follows
test@test:~$ adb push filename /root
filename: 1 file pushed. 3.7 MB/s (1075091 bytes in 0.277s)

7) The command to restart the development board using adb is as follows


test@test:~$ adb reboot

If there is no adb tool in your Windows system, you can use the adb program in
the RKDevTool software (this software is useful in the section on how to use
RKDevTool to burn the Linux image to the TF card).

An example using adb in Windows looks like this:

175
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.9.2. adb3.9.2. Use type-c data cable to connect to adb


1) First prepare a good quality Type-C data cable

2) Then connect the development board and Ubuntu PC through the Type-C data cable.
The position of the Type-C interface of the development board is shown in the figure
below:

3) Then run the following command to set the Type-C interface to device mode
orangepi@orangepi:~$ sudo set_device.sh

176
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

If the set_device.sh script does not exist in the Linux system, please use the
following command directly:
orangepi@orangepi:~$ sudo bash -c "echo device > /sys/kernel/debug/usb/fc000000.usb/mode"
orangepi@orangepi:~$ sudo systemctl restart usbdevice

4) Then please confirm that adbd has been started


orangepi@orangepi:~$ ps -ax | grep "adbd"
808 ? Sl 0:00 /usr/bin/adbd
3707 ttyFIQ0 S+ 0:00 grep --color=auto adbd

5) Then install the adb tool on the Ubuntu PC


test@test:~$ sudo apt-get update
test@test:~$ sudo apt-get install -y adb

6) Then use the following command to check whether the adb device is recognized
test@test:~$ adb devices
List of devices attached
e0f9f71bc343c305 device

8) Then use the following command to log in to the linux system of the development
board
test@test:~$ adb shell
root@orangepi5plus:/# <--- After seeing this prompt, it means that you have
successfully logged in to the development board

9) The command to upload files to the development board using adb is as follows
test@test:~$ adb push filename /root
filename: 1 file pushed. 3.7 MB/s (1075091 bytes in 0.277s)

If there is no adb tool in your Windows system, you can use the adb program in
the RKDevTool software (this software is useful in the section on how to use
RKDevTool to burn the Linux image to the TF card).

177
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

An example using adb in Windows looks like this:

3.10. The method of uploading files to the Linux system of the


development board

3.10.1. How to upload files to the development board Linux system in


Ubuntu PC

3.10.1.1. How to upload files using the scp command

1) Use the scp command to upload files from the Ubuntu PC to the Linux system on the
development board. The specific commands are as follows
a. file_path: need to be replaced with the path of the file to be uploaded
b. orangepi: It is the user name of the Linux system of the development board, and
it can also be replaced with other ones, such as root
c. 192.168.xx.xx: It is the IP address of the development board, please modify it

178
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

according to the actual situation


d. /home/orangepi: The path in the Linux system of the development board, which
can also be modified to other paths
test@test:~$ scp file_path [email protected]:/home/orangepi/

2) If you want to upload a folder, you need to add the -r parameter


test@test:~$ scp -r dir_path [email protected]:/home/orangepi/

3) There are more usages of scp, please use the following command to view the man
manual
test@test:~$ man scp

3.10.1.2. How to upload files using filezilla

1) First install filezilla in Ubuntu PC


test@test:~$ sudo apt install -y filezilla

2) Then use the following command to open filezilla


test@test:~$ filezilla

3) The interface after filezilla is opened is as follows, at this time, the display under the
remote site on the right is empty

179
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) The method of connecting the development board is shown in the figure below

5) Then choose to save the password, and then click OK

180
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then choose to always trust this host, and then click OK

7) After the connection is successful, you can see the directory structure of the
development board linux file system on the right side of the filezilla software

8) Then select the path to be uploaded to the development board on the right side of the

181
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

filezilla software, and then select the file to be uploaded on the Ubuntu PC on the left side
of the filezilla software, then click the right mouse button, and then click the upload
option to start uploading the file to the development board bingo.

9) After the upload is complete, you can go to the corresponding path in the Linux
system of the development board to view the uploaded file

10) The method of uploading a folder is the same as that of uploading a file, so I won’t
go into details here
3.10.2. The method of uploading files to the development board Linux
system in Windows PC

3.10.2.1. How to upload files using filezilla

1) First download the installation file of the Windows version of the filezilla software,
the download link is as follows
https://filezilla-project.org/download.php?type=client

182
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) The downloaded installation package is as follows, and then double-click to install


directly
FileZilla_Server_1.5.1_win64-setup.exe

During the installation process, please select Decline on the following


installation interface, and then select Next>

183
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) The interface after filezilla is opened is as follows, at this time, the display under the
remote site on the right is empty

4) The method of connecting the development board is shown in the figure below:

184
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then choose to save the password, and then click OK

6) Then choose to always trust this host, and then click OK

7) After the connection is successful, you can see the directory structure of the
development board linux file system on the right side of the filezilla software

185
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) Then select the path to be uploaded to the development board on the right side of the
filezilla software, and then select the file to be uploaded on the Windows PC on the left
side of the filezilla software, then click the right mouse button, and then click the upload
option to start uploading the file to the development board bingo

9) After the upload is complete, you can go to the corresponding path in the Linux

186
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

system of the development board to view the uploaded file

10) The method of uploading folders is the same as that of uploading files, so I won’t go
into details here.

3.11. HDMI test

3.11.1. HDMI test


1) There are two HDMI output interfaces on the development board, and their locations
are shown in the figure below:

2) By default, the Linux system configures HDMI_TX1 to support 8K display, and


HDMI_TX2 supports only 4K display by default (only one HDMI_TX interface can
support 8K display at a time). If you want to set HDMI_TX2 to support 8K display,
please follow the steps below:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

187
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then use the arrow keys of the keyboard to navigate to the position shown in the
figure below, and then use the space to select hdmi2-8k configuration

e. Then select <Save> to save

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

3) Then use HDMI to HDMI cable to connect Orange Pi development board and HDMI
display

188
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note, if you want to connect a 4K or 8K display, please make sure that the
HDMI cable supports 4K or 8K video display.

4) After starting the linux system, if the HDMI display has image output, it means that
the HDMI interface is in normal use

Note that although many laptops have an HDMI interface, the HDMI interface
of the notebook generally only has the output function, and does not have the
function of HDMI in, that is to say, the HDMI output of the development board
cannot be displayed on the screen of the notebook.
When you want to connect the HDMI of the development board to the HDMI
port of the laptop, please make sure that your laptop supports the HDMI in
function.

When the HDMI is not displayed, please check whether the HDMI cable is
plugged in tightly. After confirming that there is no problem with the connection,
you can change a different screen and try to see if it is displayed.
3.11.2. HDMI IN test method
1) The location of the HDMI In interface on the development board is as follows:

2) First use the HDMI to HDMI cable shown in the figure below to connect the HDMI
output of other devices to the HDMI In interface of the development board

189
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) The HDMI In function of the Linux system is disabled by default, and the opening
method is as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

d. Then use the arrow keys of the keyboard to navigate to the position shown in the
figure below, and then use the space to select the hdmirx configuration

e. Then select <Save> to save

190
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

4) Restart the system and open a terminal on the desktop, then run the test_hdmiin.sh
script
[orangepi@orangepi ~]$ test_hdmiin.sh

5) Then you can see the input screen of HDMI In (the HDMI In in the figure below
shows the HDMI output screen of the opi5 development board, and a video is being
played at this time). The test_hdmiin.sh script will play the audio input from HDMI In to
HDMI_TX1, HDMI_TX2 and ES8388 (representing speakers or headphones) of the
development board by default.

191
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.11.3. HDMI to VGA display test


1) First, you need to prepare the following accessories
a. HDMI to VGA Converter

b. A VGA cable

c. A monitor or TV that supports VGA interface

2) The HDMI to VGA display test is as follows:

192
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

When using HDMI to VGA display, the development board and the Linux
system of the development board do not need to make any settings, only the HDMI
interface of the development board can display normally. So if there is a problem
with the test, please check whether there is a problem with the HDMI to VGA
converter, VGA cable and monitor.
3.11.4. HDMI resolution setting method
1) First open Display in Settings

193
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then you can see the current resolution of the system

3) Click the drop-down box of Resolution to see all resolutions currently supported by
the monitor

194
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then select the resolution you want to set, and click Apply

5) After the new resolution is set, select Keep the configuration

195
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.12. How to use Bluetooth

Please note that there is no Bluetooth module on the Orange Pi 5 Plus


development board, and an external PCIe network card with Bluetooth or a USB
network card with Bluetooth is required to use the Bluetooth function.
For instructions on using the external PCIe network card, please refer to the
section on how to use the PCIe WIFI6+Bluetooth module.
For instructions on using the external USB network card, please refer to the
USB wireless network card test section.
3.12.1. Test method of desktop image
1) Click on the Bluetooth icon in the upper right corner of the desktop

2) Then select the adapter

3) If there is a prompt on the following interface, please select Yes

4) Then set the Visibility Setting to Always visible in the Bluetooth adapter setting

196
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

interface, and then close it

5) Then open the configuration interface of the Bluetooth device

6) Click Search to start scanning the surrounding Bluetooth devices

7) Then select the Bluetooth device you want to connect to, and then click the right
mouse button to pop up the operation interface for this Bluetooth device, select Pair to

197
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

start pairing, and the demonstration here is to pair with an Android phone

8) When pairing, a pairing confirmation box will pop up in the upper right corner of the
desktop, just select Confirm to confirm, and the phone also needs to confirm at this time

9) After pairing with the mobile phone, you can select the paired Bluetooth device, then
right-click and select Send a File to start sending a picture to the mobile phone

198
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) The interface for sending pictures is as follows

3.13. USB interface test

The USB interface can be connected to a USB hub to expand the number of
USB interfaces.
3.13.1. Connect USB mouse or keyboard to test
1) Insert the keyboard with USB interface into the USB interface of Orange Pi
development board

2) Connect the Orange Pi development board to the HDMI display

3) If the mouse or keyboard can operate normally, it means that the USB interface is
working normally (the mouse can only be used in the desktop version of the system)
3.13.2. Connect USB storage device test
1) First insert the U disk or USB mobile hard disk into the USB interface of the Orange
Pi development board

2) Execute the following command, if you can see the output of sdX, it means that the U
disk is recognized successfully
orangepi@orangepi:~$ cat /proc/partitions | grep "sd*"
major minor #blocks name
8 0 30044160 sda

199
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8 1 30043119 sda1

3) Use the mount command to mount the U disk to /mnt, and then you can view the files
in the U disk
orangepi@orangepi:~$ sudo mount /dev/sda1 /mnt/
orangepi@orangepi:~$ ls /mnt/
test.txt

4) After mounting, you can view the capacity usage and mount point of the U disk
through the df -h command
orangepi@orangepi:~$ df -h | grep "sd"
/dev/sda1 29G 208K 29G 1% /mnt
3.13.3. USB wireless network card test
The usable USB wireless network cards that have been tested so far are as follows.
For other types of USB wireless network cards, please test them yourself. If they cannot
be used, you need to transplant the corresponding USB wireless network card driver.
S/N model Physical picture
1 RTL8723BU
Support 2.4G WIFI+BT4.0

2 RTL8811
Support 2.4G +5G WIFI

3 RTL8821CU
Support 2.4G +5G WIFI
Support BitTorrent 4.2

3.13.3.1. RTL8723BU test

1) First insert the RTL8723BU wireless network card module into the USB interface of
the development board

200
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then the linux system will automatically load the RTL8723BU bluetooth and
WIFI-related kernel modules, through the lsmod command, you can see that the
following kernel modules have been automatically loaded
orangepi@orangepi:~$ lsmod
Module Size Used by
rfcomm 57344 16
rtl8xxxu 106496 0
rtk_btusb 61440 0

3) Through the dmesg command, you can see the loading information of the
RTL8723BU module
orangepi@orangepi:~$ dmesg
......
[ 83.438901] usb 2-1: new high-speed USB device number 2 using ehci-platform
[ 83.588375] usb 2-1: New USB device found, idVendor=0bda, idProduct=b720,
bcdDevice= 2.00
[ 83.588403] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 83.588422] usb 2-1: Product: 802.11n WLAN Adapter
[ 83.588443] usb 2-1: Manufacturer: Realtek
[ 83.588460] usb 2-1: SerialNumber: 00e04c000001
[ 83.601974] Bluetooth: hci0: RTL: examining hci_ver=06 hci_rev=000b lmp_ver=06
lmp_subver=8723
[ 83.603894] Bluetooth: hci0: RTL: rom_version status=0 version=1
[ 83.603920] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723b_fw.bin
[ 83.610108] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723b_config.bin
[ 83.611274] Bluetooth: hci0: RTL: cfg_sz 68, total sz 22564
[ 83.658494] rtk_btusb: Realtek Bluetooth USB driver ver
3.1.6d45ddf.20220519-142432
[ 83.658651] usbcore: registered new interface driver rtk_btusb
[ 83.667124] usb 2-1: This Realtek USB WiFi dongle (0x0bda:0xb720) is untested!
[ 83.667137] usb 2-1: Please report results to [email protected]
[ 83.890140] usb 2-1: Vendor: Realtek
[ 83.890153] usb 2-1: Product: 802.11n WLAN Adapter
[ 83.890159] usb 2-1: rtl8723bu_parse_efuse: dumping efuse (0x200 bytes):
......
[ 83.890412] usb 2-1: RTL8723BU rev E (SMIC) 1T1R, TX queues 3, WiFi=1, BT=1,

201
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

GPS=0, HI PA=0
[ 83.890417] usb 2-1: RTL8723BU MAC: 00:13:ef:f4:58:ae
[ 83.890421] usb 2-1: rtl8xxxu: Loading firmware rtlwifi/rtl8723bu_nic.bin
[ 83.895289] usb 2-1: Firmware revision 35.0 (signature 0x5301)
[ 84.050893] Bluetooth: hci0: RTL: fw version 0x0e2f9f73
[ 84.266905] Bluetooth: RFCOMM TTY layer initialized
[ 84.266949] Bluetooth: RFCOMM socket layer initialized
[ 84.266999] Bluetooth: RFCOMM ver 1.11
[ 84.884270] usbcore: registered new interface driver rtl8xxxu
[ 84.912046] rtl8xxxu 2-1:1.2 wlx0013eff458ae: renamed from wlan0

4) Then through the sudo ifconfig command, you can see the device node of
RTL8723BU WIFI. For the connection and test method of WIFI, please refer to the
section of WIFI connection test, which will not be repeated here
orangepi@orangepi:~$ sudo ifconfig wlx0013eff458ae
wlx0013eff458ae: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:13:ef:f4:58:ae txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

5) Then you can see the USB Bluetooth device through the hciconfig command
orangepi@orangepi:~$ sudo apt update && sudo apt install bluez
orangepi@orangepi:~$ hciconfig
hci0: Type: Primary Bus: USB
BD Address: 00:13:EF:F4:58:AE ACL MTU: 820:8 SCO MTU: 255:16
DOWN
RX bytes:1252 acl:0 sco:0 events:125 errors:0
TX bytes:23307 acl:0 sco:0 commands:125 errors:0

6) You can also see the bluetooth icon on the desktop. At this time, the bluetooth is not
turned on, so a red x will be displayed

202
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) Click Turn Bluetooth On to turn on Bluetooth

8) The display after turning on Bluetooth is as follows

9) For the test method of Bluetooth, please refer to the section on Bluetooth usage, so I
won’t go into details here

203
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.13.3.2. RTL8811 test

1) First insert the RTL8811 wireless network card module into the USB interface of the
development board

2) Then the linux system will automatically load the kernel module related to RTL8811
WIFI, through the lsmod command, you can see that the following kernel module has
been automatically loaded
orangepi@orangepi:~$ lsmod
Module Size Used by
8821cu 1839104 0

3) Through the dmesg command, you can see the loading information of the RTL8811
module
orangepi@orangepi:~$ dmesg
[ 118.618194] usb 2-1: new high-speed USB device number 2 using ehci-platform
[ 118.767152] usb 2-1: New USB device found, idVendor=0bda, idProduct=c811,
bcdDevice= 2.00
[ 118.767181] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 118.767199] usb 2-1: Product: 802.11ac NIC
[ 118.767219] usb 2-1: Manufacturer: Realtek
[ 118.767235] usb 2-1: SerialNumber: 123456
[ 119.500530] usbcore: registered new interface driver rtl8821cu
[ 119.525498] rtl8821cu 2-1:1.0 wlx1cbfced9d260: renamed from wlan0

4) Then, you can see the WIFI device node through the sudo ifconfig command. For the
WIFI connection and test method, please refer to the section of WIFI connection test,
which will not be repeated here
orangepi@orangepi:~$ sudo ifconfig wlx1cbfced9d260
wlx1cbfced9d260: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 1c:bf:ce:d9:d2:60 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

204
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.13.4. USB camera test


1) First, you need to prepare a USB camera that supports the UVC protocol as shown in
the figure below or similar, and then insert the USB camera into the USB port of the
Orange Pi development board

2) Through the v4l2-ctl command, you can see that the device node information of the
USB camera is /dev/video0
orangepi@orangepi:~$ v4l2-ctl --list-devices
Q8 HD Webcam: Q8 HD Webcam (usb-fc880000.usb-1):
/dev/video0
/dev/video1
/dev/media0

Note that the l in v4l2 is a lowercase letter l, not the number 1.

In addition, the serial number of the video is not necessarily video0, please refer
to what you actually see.

3) In the desktop system, Cheese can be used to directly open the USB camera. The
method of opening Cheese is shown in the figure below:

205
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The interface after Cheese turns on the USB camera is shown in the figure below:

4) Method of using fswebcam to test USB camera


a. Install fswebcam
orangepi@orangepi:~$ sudo apt update
orangepi@orangepi:~$ sudo apt-get install -y fswebcam
b. After installing fswebcam, you can use the following command to take pictures
a) -d option is used to specify the device node of the USB camera
b) --no-banner is used to remove the watermark of the photo
c) -r option is used to specify the resolution of the photo

206
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d) -S option is used to set the number of previous frames to skip


e) ./image.jpg is used to set the name and path of the generated photo
orangepi@orangepi:~$ sudo fswebcam -d /dev/video0 \
--no-banner -r 1280x720 -S 5 ./image.jpg
c. In the server version of the linux system, you can use the scp command to
transfer the taken pictures to the Ubuntu PC for image viewing after taking
pictures
orangepi@orangepi:~$ scp image.jpg [email protected]:/home/test ( Modify the IP
address and path according to the actual situation)
d. In the desktop version of the linux system, you can directly view the captured
pictures through the HDMI display d. In the desktop version of the linux system,
you can directly view the captured pictures through the HDMI display

3.14. Audio Test

3.14.1. Testing audio methods on desktop systems


1) First open the file manager

2) Then find the following file (if there is no audio file in the system, you can upload an
audio file to the system yourself)

207
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then select the audio.wav file, right click and select open with vlc to start playing

4) How to switch between different audio devices such as HDMI playback and
headphone playback
a. First open the volume control interface

b. When playing audio, the audio device options that the playback software can use
will be displayed in Playback, as shown in the figure below, where you can set
which audio device to play to

208
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.14.2. The method of using commands to play audio

3.14.2.1. Headphone interface playback audio test

1) First insert the earphone into the earphone jack of the development board

2) Then you can use the aplay -l command to view the sound card devices supported by
the linux system. From the output below, you can see that card 3 is the sound card
device of es8388, that is, the sound card device of the headset
orangepi@orangepi:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipdp0 [rockchip,dp0], device 0: rockchip,dp0 spdif-hifi-0 [rockchip,dp0 spdif-hifi-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: rockchiphdmi0 [rockchip-hdmi0], device 0: rockchip-hdmi0 i2s-hifi-0 [rockchip-hdmi0 i2s-hifi-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 2: rockchiphdmi1 [rockchip-hdmi1], device 0: rockchip-hdmi1 i2s-hifi-0 [rockchip-hdmi1 i2s-hifi-0]
Subdevices: 1/1

209
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Subdevice #0: subdevice #0


card 3: rockchipes8388 [rockchip,es8388], device 0: dailink-multicodecs ES8323.7-0011-0 [dailink-multicodecs
ES8323.7-0011-0]

Subdevices: 0/1
Subdevice #0: subdevice #0

3) Then use the aplay command to play the audio file that comes with the system. If the
earphone can hear the sound, it means that the hardware can be used normally.
orangepi@orangepi:~$ aplay -D hw:3,0 /usr/share/sounds/alsa/audio.wav
Playing WAVE 'audio.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

3.14.2.2. Speaker interface playback audio test

1) First, you need to prepare a speaker as shown in the figure below. The specification of
the speaker seat on the development board is 2pin 1.25mm pitch

2) The position of the speaker interface on the development board is as follows. After
preparing the speaker, please insert it into the speaker interface of the development board

3) The speaker and earphone use the same sound card. Before using the speaker, please

210
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

make sure that the earphone jack is not plugged into the earphone (if the earphone is
plugged in, the audio will be played to the earphone). Then use the aplay command to
play the audio file that comes with the system. If the speaker can hear the sound, it means
that the hardware can be used normally.
orangepi@orangepi:~$ aplay -D hw:3,0 /usr/share/sounds/alsa/audio.wav
Playing WAVE 'audio.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

3.14.2.3. HDMI audio playback test

1) First use the HDMI to HDMI cable to connect the Orange Pi development board to the
TV (other HDMI monitors need to ensure that they can play audio)

2) Then check the serial number of the HDMI sound card. From the output below, you
can know that the sound card of HDMI_TX1 is card 1, and the sound card of
HDMI_TX2 is card 2
orangepi@orangepi:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipdp0 [rockchip,dp0], device 0: rockchip,dp0 spdif-hifi-0 [rockchip,dp0 spdif-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: rockchiphdmi0 [rockchip-hdmi0], device 0: rockchip-hdmi0 i2s-hifi-0 [rockchip-hdmi0 i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: rockchiphdmi1 [rockchip-hdmi1], device 0: rockchip-hdmi1 i2s-hifi-0 [rockchip-hdmi1 i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0

3) Then use the aplay command to play the audio file that comes with the system. If the
HDMI monitor or TV can hear the sound, it means that the hardware can be used
normally.
a. The command to play audio to HDMI_TX1 is as follows:
orangepi@orangepi:~$ aplay -D hw:1,0 /usr/share/sounds/alsa/audio.wav
b. The command to play audio to HDMI_TX2 is as follows:
orangepi@orangepi:~$ aplay -D hw:2,0 /usr/share/sounds/alsa/audio.wav

211
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.14.3. Method of using commands to test recording


1) There is an onboard MIC on the development board, the location is as follows:

2) Running the test_record.sh main command will record a piece of audio through the
onboard MIC, and then play it to HDMI_TX1 and the headset.
orangepi@orangepi:~$ test_record.sh main
Start recording: /tmp/test.wav
Recording WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Start playing
Playing WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Playing WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

3) In addition to the onboard MIC, we can also record audio through headphones with
MIC function. After inserting the headset with MIC function into the development board,
run the test_record.sh headset command to record a piece of audio through the headset,
and then play it to HDMI_TX1 and the headset.
orangepi@orangepi:~$ test_record.sh headset
Start recording: /tmp/test.wav
Recording WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Start playing
Playing WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Playing WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

3.15. Temperature sensor

1) The command to view the system temperature sensor is:


orangepi@orangepi:~$ sensors
gpu_thermal-virtual-0
Adapter: Virtual device
temp1: +47.2°C

212
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

littlecore_thermal-virtual-0
Adapter: Virtual device
temp1: +47.2°C

bigcore0_thermal-virtual-0
Adapter: Virtual device
temp1: +47.2°C

tcpm_source_psy_6_0022-i2c-6-22
Adapter: rk3x-i2c
in0: 0.00 V (min = +0.00 V, max = +0.00 V)
curr1: 0.00 A (max = +0.00 A)

npu_thermal-virtual-0
Adapter: Virtual device
temp1: +47.2°C

center_thermal-virtual-0
Adapter: Virtual device
temp1: +47.2°C

bigcore1_thermal-virtual-0
Adapter: Virtual device
temp1: +47.2°C

soc_thermal-virtual-0
Adapter: Virtual device
temp1: +47.2°C (crit = +115.0°C)

2) The command to view the current temperature of the nvme ssd solid state drive is:
orangepi@orangepi:~$ sudo smartctl -a /dev/nvme0 | grep "Temperature:"
Temperature: 40 Celsius

213
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.16. 40 Pin Expansion Interface Pin Instructions

1) Please refer to the figure below for the order of the 40 pin expansion interface pins on
the Orange Pi 5 Plus development board:

2) The functions of the 40 pin interface pins on the Orange Pi 5 Plus development board
are shown in the table below
a. The following is the complete pin diagram of 40 pin

214
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The following is a color map containing some of the content in the above table:

b. The table below is the picture of the left half of the complete table above, so you
can see it clearly

c. The table below is the picture of the right half of the complete table above, so
you can see it clearly

215
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The pwm in the above table has marked the base address of the corresponding
register, which is useful when checking which pwmchip in /sys/class/pwm/
corresponds to which pwm pin in the 40 pin header.

3) There are a total of 28 GPIO ports in the 40 pin interface, and the voltage of all GPIO
ports is 3.3v.

3.17. How to install wiringOP

Note that wiringOP has been pre-installed in the linux image released by
Orange Pi. Unless the code of wiringOP is updated, there is no need to re-download,
compile and install, just use it directly.

The storage path of the compiled wiringOP deb package in orangepi-build is:
orangepi-build/external/cache/debs/arm64/wiringpi_x.xx.deb

After entering the system, you can run the gpio readall command. If you can see
the following output, it means that wiringOP has been pre-installed and can be used
normally.

216
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

wiringOP is currently mainly adapted to the functions of setting GPIO port


input and output, setting GPIO port output high and low levels, and setting up and
down pull-down resistors. Functions such as hardware PWM are not available.

1) Download the code of wiringOP


orangepi@orangepi:~$ sudo apt update
orangepi@orangepi:~$ sudo apt install -y git
orangepi@orangepi:~$ git clone https://github.com/orangepi-xunlong/wiringOP.git -b next

Note that Orange Pi 5 Plus needs to download the code of the wiringOP next
branch, please don't miss the -b next parameter.
If you have problems downloading the code from GitHub, you can directly use
the wiringOP source code that comes with the Linux image, and the storage location
is: /usr/src/wiringOP

2) Compile and install wiringOP


orangepi@orangepi:~$ cd wiringOP

217
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~/wiringOP$ sudo ./build clean


orangepi@orangepi:~/wiringOP$ sudo ./build

3) Test the output of the gpio readall command as follows

3.18. 40 pin interface GPIO, I2C, UART, SPI, CAN and PWM test

3.18.1. 40 pin GPIO port test


The linux system released by Orange Pi has a pre-installed blink_all_gpio
program, which will set all 28 GPIO ports in the 40 pins to switch between high and
low levels continuously.
After running the blink_all_gpio program, when using a multimeter to measure
the level of the GPIO port, you will find that the GPIO pin will switch between 0
and 3.3v continuously. Using this program we can test whether the GPIO port is
working properly.
The way to run the blink_all_gpio program is as follows:
orangepi@orangepi5plus:~$ sudo blink_all_gpio #Remember to add sudo
permission

218
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

[sudo] password for orangepi: #A password is required here

1) There are a total of 28 GPIO ports in the 40 pins of the development board that can be
used. The following uses pin 7 — the corresponding GPIO is GPIO1_D6 — — the
corresponding wPi number is 2—as an example to demonstrate how to set the high and
low levels of the GPIO port

2) First set the GPIO port to output mode, where the third parameter needs to input the
serial number of wPi corresponding to the pin
root@orangepi:~/wiringOP# gpio mode 2 out

3) Then set the GPIO port to output a low level. After setting, you can use a multimeter
to measure the voltage value of the pin. If it is 0v, it means that the low level is set
successfully.
root@orangepi:~/wiringOP# gpio write 2 0

Use gpio readall to see that the value (V) of pin 7 has changed to 0

4) Then set the GPIO port to output a high level. After setting, you can use a multimeter
to measure the voltage value of the pin. If it is 3.3v, it means that the high level is set
successfully.
root@orangepi:~/wiringOP# gpio write 2 1

219
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Use gpio readall to see that the value (V) of pin 7 has changed to 1

5) The setting method of other pins is similar, just modify the serial number of wPi to the
corresponding serial number of the pin
3.18.2. How to set the pull-down resistance of pin GPIO port
1) The following takes pin No. 7 — the corresponding GPIO is GPIO1_D6 — the
corresponding wPi number is 2—as an example to demonstrate how to set the pull-up and
pull-down resistance of the GPIO port

2) First, you need to set the GPIO port to the input mode, and the third parameter needs
to be the serial number of the wPi corresponding to the input pin
root@orangepi:~/wiringOP# gpio mode 2 in

3) After setting to input mode, execute the following command to set the GPIO port to
pull-up mode
root@orangepi:~/wiringOP# gpio mode 2 up

4) Then enter the following command to read the level of the GPIO port, if the level is 1,
it means that the pull-up mode is set successfully
root@orangepi:~/wiringOP# gpio read 2
1

220
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then execute the following command to set the GPIO port to pull-down mode
root@orangepi:~/wiringOP# gpio mode 2 down

6) Then enter the following command to read the level of the GPIO port, if the level is 0,
the pull-down mode is set successfully
root@orangepi:~/wiringOP# gpio read 2
0
3.18.3. 40 pin SPI test
1) As can be seen from the figure below, the SPIs available for Orange Pi 5 Plus are SPI0
and SPI4

2) The corresponding pins of SPI0 and SPI4 in 40pin are shown in the table below.
SPI4_M1 and SPI4_M2 can only use one of them at the same time, and they cannot be
used at the same time. They are all the same SPI4, but they are connected to different pins.
Please don't think that they are two different sets of SPI buses.
SPI0_M2 corresponds SPI4_M1 corresponds SPI4_M2
to 40pin to 40pin corresponds to
40pin
MOSI Pin 19 Pin 12 Pin 8
MISO Pin 21 Pin 31 Pin 10
CLK Pin 23 Pin 35 Pin 22
CS0 Pin 24 Pin 40 Pin 31
CS1 Pin 26 Pin 38 none
dtbo spi0-m2-cs0-spidev spi4-m1-cs0-spidev spi4-m2-cs0-spide
configuration spi0-m2-cs1-spidev spi4-m1-cs1-spidev v
spi0-m2-cs0-cs1-spide spi4-m1-cs0-cs1-spide
v v

3) In the linux system, the SPI in the 40 pin is closed by default, and it needs to be

221
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

opened manually before it can be used. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

d. Then use the arrow keys on the keyboard to navigate to the position shown in the
figure below, and then use the space to select the SPI configuration you want to
open

e. Then select <Save> to save

222
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

4) After restarting, enter the system and first check whether there is a spidevx.x device
node in the linux system. If it exists, it means that the SPI has been set up and can be used
directly.
orangepi@orangepi:~$ ls /dev/spidev*
/dev/spidev0.0 /dev/spidev0.1 /dev/spidev4.0 /dev/spidev4.1

The above is the result displayed after turning on spi0-m2-cs0-cs1-spidev and


spi4-m1-cs0-cs1-spidev.

5) Then do not short-circuit the MOSI and MISO pins of SPI0 or SPI4, the output result
of running spidev_test is as follows, you can see that the data of TX and RX are
inconsistent
orangepi@orangepi:~$ sudo spidev_test -v -D /dev/spidev4.0
or
orangepi@orangepi:~$ sudo spidev_test -v -D /dev/spidev0.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF

223
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

FF FF FF FF FF F0 0D | ......@....▒..................▒.
RX | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF | ................................

6) Then short-circuit the MOSI and MISO pins of SPI0 or SPI4, and then run the output
of spidev_test as follows. You can see that the sent and received data are the same,
indicating that the SPI loopback test is normal.
orangepi@orangepi:~$ sudo spidev_test -v -D /dev/spidev4.0
or
orangepi@orangepi:~$ sudo spidev_test -v -D /dev/spidev0.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF F0 0D | ......@....▒..................▒.
RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF F0 0D | ......@....▒..................▒.
3.18.4. 40 pin I2C test
1) As can be seen from the table below, the available i2c for Orange Pi 5 Plus is i2c2,
i2c4, i2c5 and i2c8, a total of four sets of i2c buses.

2) The corresponding pins of the 4 groups of I2C buses in 40pin are shown in the table
below. I2C2_M0 and I2C2_M4 can only use one of them at the same time, and they
cannot be used at the same time. They are all the same I2C2, but they are connected to
different pins. Please don’t think that they are two different sets of I2C2 buses.
I2C bus SDA corresponds to SCL corresponds to dtbo corresponding
40pin 40pin configuration
I2C2_M0 Pin 3 Pin 5 i2c2-m0
I2C2_M4 Pin 10 Pin 8 i2c2-m4

224
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

I2C4_M3 Pin 22 Pin 32 i2c4-m3


I2C5_M3 Pin 27 Pin 28 i2c5-m3
I2C8_M2 Pin 29 Pin 7 i2c8-m2

3) In the linux system, the I2C bus in the 40 pin is closed by default, and it needs to be
opened manually to use it. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

d. Then use the arrow keys on the keyboard to navigate to the position shown in the
figure below, and then use the space to select the I2C configuration you want to
open

225
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. Then select <Save> to save

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

4) After starting the linux system, first confirm that there are device nodes that need to
use I2C under /dev
orangepi@orangepi:~$ ls /dev/i2c-*

5) Then connect an I2C device to the I2C pin corresponding to the 40 pin interface

6) Then use the i2cdetect -y command, if the address of the connected i2c device can be
detected, it means that i2c can be used normally
orangepi@orangepi:~$ sudo i2cdetect -y 2 #i2c2 command
orangepi@orangepi:~$ sudo i2cdetect -y 4 #i2c4 command
orangepi@orangepi:~$ sudo i2cdetect -y 5 #i2c8 command
orangepi@orangepi:~$ sudo i2cdetect -y 8 #i2c8 command

226
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.18.5. 40 pin UART test


1) As can be seen from the table below, the uarts available for Orange Pi 5 Plus are uart1,
uart3, uart4, uart6, uart7 and uart8, a total of 6 sets of uart buses

2) The corresponding pins of the 6 groups of UART buses in 40pin are shown in the
following table:
UART bus RX corresponds to TX corresponds to dtbo corresponding
40pin 40pin configuration
UART1_M1 Pin 27 Pin 28 uart1-m1
UART3_M1 Pin 18 Pin 16 uart3-m1
UART4_M2 Pin 19 Pin 23 uart4-m2
UART6_M1 Pin 10 Pin 8 uart6-m1
UART7_M2 Pin 24 Pin 26 uart7-m2
UART8_M1 Pin 40 Pin 35 uart8-m1

3) In the linux system, the UART in the 40 pin is closed by default, and it needs to be
opened manually to use it. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

227
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. Then select Hardware

d. Then use the arrow keys on the keyboard to navigate to the position shown in the
figure below, and then use the space to select the UART configuration you want
to open

e. Then select <Save> to save

f. Then select <Back>

228
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

g. Then select <Reboot> to restart the system to make the configuration take effect

4) After entering the linux system, first confirm whether there is a device node
corresponding to uart under /dev
orangepi@orangepi:~$ ls /dev/ttyS*

5) Then start to test the uart interface, first use the DuPont line to short the rx and tx pins
of the uart interface to be tested

6) Use the gpio serial command to test the loopback function of the serial port as shown
below. If you can see the following print, it means that the serial port communication is
normal (ttySX needs to be replaced with the node name corresponding to uart, please do
not copy it)
orangepi@orangepi:~$ sudo gpio serial /dev/ttySX
[sudo] password for orangepi: #enter password here

Out: 0: -> 0
Out: 1: -> 1
Out: 2: -> 2
Out: 3: -> 3
Out: 4: -> 4
Out: 5: -> 5^C
3.18.6. How to test PWM using /sys/class/pwm
1) As can be seen from the table below, the available PWM for Orange Pi 5 Plus includes

229
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

six channels of PWM: pwm0, pwm1, pwm11, pwm12, pwm13 and pwm14

2) The corresponding pins of PWM in 40pin are shown in the table below. Only one of
PWM0_M0 and PWM0_M2, PWM1_M0 and PWM1_M2, PWM14_M0 and
PWM14_M2 can be used at the same time, and they cannot be used at the same time.
They are all the same PWM, but they are connected to different pins. Please don’t think
that they are two different PWM bus.
PWM 总线 Corresponding to dtbo corresponding
40pin configuration
PWM0_M0 Pin 5 pwm0-m0
PWM0_M2 Pin 22 pwm0-m2
PWM1_M0 Pin 3 pwm1-m0
PWM1_M2 Pin 32 pwm1-m2
PWM11_M0 Pin 12 pwm11-m0
PWM12_M0 Pin 14 pwm12-m0
PWM13_M0 Pin 16 pwm13-m0
PWM14_M0 Pin 33 pwm14-m0
PWM14_M2 Pin 7 pwm14-m0

3) In the linux system, the PWM in the 40 pin is turned off by default, and it needs to be
turned on manually before it can be used. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

230
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. Then select Hardware

d. Then use the arrow keys on the keyboard to navigate to the position shown in the
figure below, and then use the space to select the PWM configuration you want
to open

e. Then select <Save> to save

231
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

4) After opening a pwm, there will be an extra pwmchipX in /sys/class/pwm/ (X is a


specific number), for example, after opening pwm14, check the pwmchipX under
/sys/class/pwm/ two became three
orangepi@orangepi:~$ ls /sys/class/pwm/
pwmchip0 pwmchip1 pwmchip2

5) Which pwmchip above corresponds to pwm14? Let ’ s check the output of the ls
/sys/class/pwm/ -l command first, as shown below:

6) Then it can be known from the table below that the base address of the pwm14
register is febf0020, and then look at the output of the ls /sys/class/pwm/ -l command,
you can see that pwmchip2 is linked to febf0020.pwm, so pwm14 corresponds to
pwmchip as pwmchip2

232
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) Then use the following command to make pwm14 output a 50Hz square wave (please
switch to the root user first, and then execute the following command)
root@orangepi:~# echo 0 > /sys/class/pwm/pwmchip2/export
root@orangepi:~# echo 20000000 > /sys/class/pwm/pwmchip2/pwm0/period
root@orangepi:~# echo 1000000 > /sys/class/pwm/pwmchip2/pwm0/duty_cycle
root@orangepi:~# echo 1 > /sys/class/pwm/pwmchip2/pwm0/enable

8) The test method of pwm14 demonstrated above is similar to other pwm test methods.

233
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.18.7. CAN test method

3.18.7.1. How to open CAN

1) As can be seen from the table below, the available CAN bus for Orange Pi 5 Plus is
CAN0 and CAN1, a total of two CAN buses

2) In the linux system, the CAN in the 40 pin is closed by default, and it needs to be
opened manually before it can be used. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

d. Then use the arrow keys on the keyboard to navigate to the position shown in the

234
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

figure below, and then use the space to select the CAN configuration you want to
open (can0-m0 and cam1-m0 are optional for OPi 5 Plus)

e. Then select <Save> to save

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

3) After entering the Linux system, use the sudo ifconfig -a command, if you can see the
CAN device node, it means that the CAN has been opened correctly
orangepi@orangepi:~$ sudo ifconfig -a
can0: flags=128<NOARP> mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 94

235
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

can1: flags=128<NOARP> mtu 16


unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 95

4) The corresponding pins of CAN0 and CAN1 are


CAN0 CAN1
TX pin Corresponding to pin 5 Corresponding to pin 18 of
of 40pin 40pin
RX pin Corresponding to pin 3 Corresponding to pin 16 of
of 40pin 40pin

3.18.7.2. Use the CANalyst-II analyzer to test sending and


receiving messages

1) The CANalyst-II analyzer used in the test is shown in the figure below

2) CANalyst-II analyzer data download link


https://www.zhcxgd.com/3.html

3) First install the software USBCANToolSetup

236
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) The shortcut after installation of USBCANToolSetup is

5) In addition, you need to install the USB driver

6) The end of the USB interface of the CANalyst-II analyzer needs to be connected to
the USB interface of the computer

7) To test the CAN function, you need to prepare a CAN transceiver as shown in the
figure below. The main function of the CAN transceiver is to convert the TTL signal of
the CAN controller into the differential signal of the CAN bus
a. The 3.3V pin of the CAN transceiver needs to be connected to the 3.3V pin in
the 40 pins of the development board
b. The GND pin of the CAN transceiver needs to be connected to the GND pin in
the 40 pin of the development board
c. The CAN TX pin of the CAN transceiver needs to be connected to the TX pin of
the CAN bus in the 40 pin of the development board
d. The CAN RX pin of the CAN transceiver needs to be connected to the RX pin of
the CAN bus in the 40 pin of the development board
e. The CANL pin of the CAN transceiver needs to be connected to the H interface
of the analyzer
f. The CANL pin of the CAN transceiver needs to be connected to the L interface

237
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

of the analyzer

8) Then you can open the USB-CAN software

9) Then click to start the device

10) Then click OK

238
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) Set the baud rate to 1000k bps

12) After successful opening, the USB-CAN software will display the serial number and
other information

13) Development board receives CAN message test


a. a. First set the baud rate of the CAN bus to 1000kbps in the Linux system of the

239
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

development board
orangepi@orangepi:~$ sudo ip link set can0 down
orangepi@orangepi:~$ sudo ip link set can0 type can bitrate 1000000
orangepi@orangepi:~$ sudo ip link set can0 up
b. Then run the candump can0 command to prepare to receive messages
orangepi@orangepi:~$ sudo candump can0
c. Then send a message to the development board in the USB-CAN software

d. If the message sent by the analyzer can be received in the development board, it
means that the CAN bus can be used normally
orangepi@orangepi5plus:~$ sudo candump can0
can0 001 [8] 01 02 03 04 05 06 07 08

14) Development board sends CAN message test


a. a. First set the CAN baud rate to 1000kbps in the Linux system
orangepi@orangepi:~$ sudo ip link set can0 down
orangepi@orangepi:~$ sudo ip link set can0 type can bitrate 1000000
orangepi@orangepi:~$ sudo ip link set can0 up
b. Execute the cansend command on the development board and send a message
orangepi@orangepi:~$ sudo cansend can0 123#1122334455667788
c. If the USB-CAN software can receive the message from the development board,
the communication is successful

240
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.19. Method of using wiringOP hardware PWM

The development board can use a total of 6 PWM channels: PWM0, PWM1,
PWM11, PWM12, PWM13 and PWM14. The locations of their pins are as shown in
the figure below:

241
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Please be aware of:PWM0_M0 和 PWM0_M2、


PWM1_M0 和 PWM1_M2、
PWM14_M0 和 PWM14_M2
They are all the same PWM, just connected to different pins. If both pin
s are configured as PWM functions, when one of the PWM pins is set, the s
ame setting will be made to the other PWM pin.

3.19.1. How to set PWM using wiringOP’s gpio command

3.19.1.1. Set the corresponding pin to PWM mode

1) The corresponding relationship between the 9 PWM pins and the wPi serial number is
as shown in the following table:
PWM pin wPi serial number
PWM0_M0 1
PWM0_M2 13
PWM1_M0 0
PWM1_M2 21
PWM11_M0 6
PWM12_M0 9
PWM13_M0 10
PWM14_M0 22
PWM14_M2 2

2) The command to set the pin to PWM mode is as follows, taking PWM0_M0 as an
example. The third parameter needs to enter the wPi serial number corresponding to the
PWM0_M0 pin.
orangepi@orangepi:~$ gpio mode 1 pwm

3) After the pin is set to PWM mode, it will output a square wave with a frequency of
200Hz and a duty cycle of 50% by default. At this time, we use an oscilloscope to
measure the corresponding PWM pin and you can see the following waveform.

242
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.19.1.2. Method of adjusting PWM duty cycle

1) The calculation formula of PWM duty cycle is as follows. We can adjust the PWM
duty cycle by setting the values of CCR and ARR.
PWM duty cycle = CCR / ARR

in:
The value range of CCR is 0~65535, and the default value is 500.
The value range of ARR is 0~65535, and the default value is 1000.

It should be noted that our CCR value needs to be smaller than the ARR value
because the duty cycle cannot be greater than 1.
When setting CCR > ARR, the following error message will be prompted:
gpio: CCR should be less than or equal to ARR (XXX)
When setting ARR < CCR, the following error message will be prompted:
gpio: ARR should be greater than or equal to CRR (XXX)

2) We can use the following command to set the ARR of the PWM0_M0 pin to 2000
orangepi@orangepi:~$ gpio pwmr 1 2000

243
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) After running the above command, you can observe through the oscilloscope that the
PWM duty cycle changes from the default 50% (500/1000) to 25% (500/2000)

4) We can use the following command to set the CCR of the PWM0_M0 pin to 1000
orangepi@orangepi:~$ gpio pwm 1 1000

5) After running the above command, you can observe through the oscilloscope that the
PWM duty cycle changes from 25% (500/2000) to 50% (1000/2000)

244
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.19.1.3. Method of adjusting PWM frequency

The calculation formula of PWM frequency is as follows:


PWM frequency = clock source frequency / (frequency division factor * ARR)
in:
The default value of the clock source frequency is 24000000Hz.
The value range of the frequency division coefficient is 2 ~ 512, and the default
value is 120.
The value range of ARR is 0 ~ 65535, and the default value is 1000.
The default value of PWM frequency is 24000000 / (120 * 1000) = 200Hz.

It should be noted that if the frequency division coefficient is set to an odd


number, the actual frequency division coefficient is the set value minus one.

3.19.1.3.1. Method to adjust PWM frequency by setting frequency


division coefficient

1) We can use the following command to set the frequency division factor of the
PWM0_M0 pin to 4
orangepi@orangepi:~$ gpio pwmc 1 4

2) According to the above formula, the calculated value of PWM frequency is 6000Hz. It
can be observed through the oscilloscope that the measured value of PWM frequency is
6010Hz, and the error can be ignored.

245
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.19.1.3.2. Method of directly setting the PWM frequency

1) We can use the gpio pwmTone command to set the frequency of the PWM pin. For
example, use the following command to set the PWM frequency of the PWM0_M0 pin to
500Hz.
orangepi@orangepi:~$ gpio pwmTone 1 500

When setting the PWM frequency, you need to ensure:

The set frequency value is < 24000000 / (frequency division factor * 2).

For example, the default frequency division coefficient is 120. If the frequency
division coefficient is not modified, the set frequency value should be less than
100000Hz.
If the setting value is too large, the following error will appear:
gpio: The PWM frequency you set is too high to be possible

2) Then you can observe through the oscilloscope that the PWM frequency becomes
500Hz

246
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.19.2. How to use the PWM test program


1) In the example directory of wiringOP, there is a program named pwm.c. This program
demonstrates how to operate PWM using the PWM-related API in wiringOP.
orangepi@orangepi:~$ cd /usr/src/wiringOP/examples/
orangepi@orangepi:/usr/src/wiringOP/examples$ ls pwm.c
pwm.c

2) The command to compile pwm.c into an executable program is as follows


sorangepi@orangepi:/usr/src/wiringOP/examples$ gcc -o pwm pwm.c -lwiringPi

3) Then you can execute the PWM test program. When executing the PWM test program,
you need to specify the PWM pin. For example, you can use the following command to
test the PWM0_M0 pin:
sorangepi@orangepi:/usr/src/wiringOP/examples$ sudo ./pwm 1

4) After the pwm program is executed, the following contents will be tested in sequence:
a. Adjust the PWM duty cycle by setting ARR
b. Adjust the PWM duty cycle by setting CCR
c. Adjust the PWM frequency by setting the frequency division coefficient
d. Directly set the PWM frequency

247
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) After each test is completed, the PWM waveform output will be stopped for 5 seconds.
After all test contents are completed, a new round of testing will be restarted.

6) The detailed execution process of the PWM test program is as follows:


a. Adjust the PWM duty cycle by setting ARR: You can observe through the
oscilloscope that the PWM waveform changes every 0.5 seconds. After changing
8 times, the PWM duty cycle changes from 50% to 25%, maintains it for 5
seconds, and then PWM The waveform changes every 0.5 seconds. After
changing 8 times, the PWM duty cycle changes from 25% to 50% and remains
for 5 seconds.
b. Adjust the PWM duty cycle by setting CCR: You can observe through the
oscilloscope that the PWM waveform changes every 0.5 seconds. After changing
8 times, the PWM duty cycle changes from 50% to 100%, maintains it for 5
seconds, and then PWM The waveform changes every 0.5 seconds. After
changing 8 times, the PWM duty cycle changes from 100% to 50% and remains
for 5 seconds.
c. Adjust the PWM frequency by setting the frequency division coefficient: You
can observe through the oscilloscope that the PWM waveform changes every 0.5
seconds. After changing 9 times, the PWM frequency becomes 1/10 of the
default PWM frequency, which is 2347Hz, and remains for 5 seconds. , and then
the PWM waveform changes every 0.5 seconds. After changing 9 times, the
PWM frequency changes to the default PWM frequency, which is 23475Hz, and
remains for 5 seconds.
d. Directly set the PWM frequency: It can be observed through the oscilloscope
that the PWM frequency first changes to 2000Hz, and then the PWM frequency
increases by 2000Hz every two seconds. After changing 9 times, the PWM
frequency changes to 20000Hz and remains for 5 seconds.

3.20. How to install and use wiringOP-Python

wiringOP-Python is the Python language version of wiringOP, which is used to


operate the hardware resources of the development board, such as GPIO, I2C, SPI
and UART, in the Python program.

248
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

In addition, please note that all the following commands are operated under the
root user.
3.20.1. How to install wiringOP-Python
1) First install the dependency package
root@orangepi:~# sudo apt-get update
root@orangepi:~# sudo apt-get -y install git swig python3-dev python3-setuptools

2) Then use the following command to download the source code of wiringOP-Python
Note that the following git clone --recursive command will automatically
download the source code of wiringOP, because wiringOP-Python depends on
wiringOP. Please make sure that the download process does not report errors due to
network problems.

If you have problems downloading the code from GitHub, you can directly use
the wiringOP-Python source code that comes with the Linux image, and the storage
location is: /usr/src/wiringOP-Python。
root@orangepi:~# git clone --recursive https://github.com/orangepi-xunlong/wiringOP-Python -b next
root@orangepi:~# cd wiringOP-Python
root@orangepi:~/wiringOP-Python# git submodule update --init --remote

3) Then use the following command to compile wiringOP-Python and install it into the
Linux system of the development board
root@orangepi:~# cd wiringOP-Python
root@orangepi:~/wiringOP-Python# python3 generate-bindings.py > bindings.i
root@orangepi:~/wiringOP-Python# sudo python3 setup.py install

4) Then enter the following command, if there is help information output, it means that
wiringOP-Python is installed successfully, press the q key to exit the help information
interface
root@orangepi:~/wiringOP-Python# python3 -c "import wiringpi; help(wiringpi)"
Help on module wiringpi:

NAME
wiringpi

249
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

DESCRIPTION
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

5) The steps to test whether wiringOP-Python is successfully installed under the python
command line are as follows:
a. First use the python3 command to enter the command line mode of python3
root@orangepi:~# python3
b. Then import the python module of wiringpi
>>> import wiringpi;
c. Finally, enter the following command to view the help information of
wiringOP-Python, and press the q key to exit the help information interface
>>> help(wiringpi)
Help on module wiringpi:

NAME
wiringpi

DESCRIPTION
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

CLASSES
builtins.object
GPIO
I2C
Serial
nes

250
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

class GPIO(builtins.object)
| GPIO(pinmode=0)
|

>>>
3.20.2. 40 pin GPIO port test
wiringOP-Python is the same as wiringOP, you can also determine which GPIO
pin to operate by specifying the wPi number, because there is no command to check
the wPi number in wiringOP-Python, so you can only check the board wPi number
and physical Correspondence between pins.

1) The following takes pin No. 7 — the corresponding GPIO is GPIO1_D6 — the
corresponding wPi number is 2—as an example to demonstrate how to set the high and
low levels of the GPIO port

2) The steps to test directly with the command are as follows:


a. First set the GPIO port to output mode, where the first parameter of the

251
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

pinMode function is the serial number of the wPi corresponding to the pin, and
the second parameter is the GPIO mode
root@orangepi:~/wiringOP-Python# python3 -c "import wiringpi; \
from wiringpi import GPIO; wiringpi.wiringPiSetup() ; \
wiringpi.pinMode(2, GPIO.OUTPUT) ; "
b. Then set the GPIO port to output a low level. After setting, you can use a
multimeter to measure the voltage value of the pin. If it is 0v, it means that the
low level is set successfully.
root@orangepi:~/wiringOP-Python# python3 -c "import wiringpi; \
from wiringpi import GPIO; wiringpi.wiringPiSetup() ;\
wiringpi.digitalWrite(2, GPIO.LOW)"
c. Then set the GPIO port to output a high level. After setting, you can use a
multimeter to measure the voltage value of the pin. If it is 3.3v, it means that the
high level is set successfully.
root@orangepi:~/wiringOP-Python# python3 -c "import wiringpi; \
from wiringpi import GPIO; wiringpi.wiringPiSetup() ;\
wiringpi.digitalWrite(2, GPIO.HIGH)"

3) The steps to test in the command line of python3 are as follows:


a. First use the python3 command to enter the command line mode of python3
root@orangepi:~# python3
b. Then import the python module of wiringpi
>>> import wiringpi
>>> from wiringpi import GPIO
c. Then set the GPIO port to output mode, where the first parameter of the
pinMode function is the serial number of the wPi corresponding to the pin, and
the second parameter is the GPIO mode
>>> wiringpi.wiringPiSetup()
0
>>> wiringpi.pinMode(2, GPIO.OUTPUT)
d. Then set the GPIO port to output low level. After setting, you can use a
multimeter to measure the voltage value of the pin. If it is 0v, it means that the
low level is set successfully.
>>> wiringpi.digitalWrite(2, GPIO.LOW)
e. Then set the GPIO port to output a high level. After setting, you can use a

252
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

multimeter to measure the voltage value of the pin. If it is 3.3v, it means that the
high level is set successfully.
>>> wiringpi.digitalWrite(2, GPIO.HIGH)

4) The method of wiringOP-Python setting GPIO high and low levels in python code can
refer to the blink.py test program in the examples below. The blink.py test program will
set the voltage of all GPIO ports in the 40 pins of the development board to change
continuously.
root@orangepi:~/wiringOP-Python# cd examples
root@orangepi:~/wiringOP-Python/examples# ls blink.py
blink.py
root@orangepi:~/wiringOP-Python/examples# python3 blink.py
3.20.3. 40 pin SPI test
1) As can be seen from the figure below, the SPIs available for Orange Pi 5 Plus are SPI0
and SPI4

2) The corresponding pins of SPI0 and SPI4 in 40pin are shown in the table below.
SPI4_M1 and SPI4_M2 can only use one of them at the same time, and they cannot be
used at the same time. They are all the same SPI4, but they are connected to different pins.
Please don't think that they are two different sets of SPI buses.
SPI0_M2 corresponds SPI4_M1 corresponds SPI4_M2
to 40pin to 40pin corresponds to
40pin
MOSI Pin 19 Pin 12 Pin 8
MISO Pin 21 Pin 31 Pin 10
CLK Pin 23 Pin 35 Pin 22
CS0 Pin 24 Pin 40 Pin 31
CS1 Pin 26 Pin 38 none
dtbo spi0-m2-cs0-spidev spi4-m1-cs0-spidev spi4-m2-cs0-spide

253
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

configuration spi0-m2-cs1-spidev spi4-m1-cs1-spidev v


spi0-m2-cs0-cs1-spide spi4-m1-cs0-cs1-spide
v v

3) In the linux system, the SPI in the 40 pin is closed by default, and it needs to be
opened manually before it can be used. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

d. Then use the arrow keys on the keyboard to navigate to the position shown in the
figure below, and then use the space to select the SPI configuration you want to
open

e. Then select <Save> to save

254
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

f. Then select <Back>

g. g. Then select <Reboot> to restart the system to make the configuration take
effect

4) After restarting, enter the system and first check whether there is a spidevx.x device
node in the linux system. If it exists, it means that the SPI has been set up and can be used
directly.
orangepi@orangepi:~$ ls /dev/spidev*
/dev/spidev0.0 /dev/spidev0.1 /dev/spidev4.0 /dev/spidev4.1

The above is the result displayed after turning on spi0-m2-cs0-cs1-spidev and


spi4-m1-cs0-cs1-spidev.

5) Then you can use the spidev_test.py program in the examples to test the loopback
function of the SPI. The spidev_test.py program needs to specify the following two
parameters:
a. --channel: Specify the channel number of SPI

255
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. --port: specify the port number of SPI

6) Do not short-circuit the MOSI and MISO pins of the SPI, the output of running
spidev_test.py is as follows, you can see that the data of TX and RX are inconsistent
The x after the --channel and --port parameters needs to be replaced with the
channel number of the specific SPI and the port number of the SPI.
root@orangepi:~/wiringOP-Python# cd examples
root@orangepi:~/wiringOP-Python/examples# python3 spidev_test.py --channel x --port x
spi mode: 0x0
max speed: 500000 Hz (500 KHz)
Opening device /dev/spidev4.1
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF F0 0D |......@..........|
RX | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF |.................|

7) Then use the Dupont wire to short-circuit the MOSI and MISO pins of the SPI, and
then run the output of spidev_test.py as follows, you can see that the data sent and
received are the same, indicating that the SPI loopback test is normal
The x after the --channel and --port parameters needs to be replaced with the
channel number of the specific SPI and the port number of the SPI.
root@orangepi:~/wiringOP-Python# cd examples
root@orangepi:~/wiringOP-Python/examples# python3 spidev_test.py --channel x --port x
spi mode: 0x0
max speed: 500000 Hz (500 KHz)
Opening device /dev/spidev4.1
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF F0 0D |......@..........|
RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF F0 0D |......@..........|
3.20.4. 40 pin I2C test
1) As can be seen from the table below, the available i2c for Orange Pi 5 Plus is i2c2,
i2c4, i2c5 and i2c8, a total of four sets of i2c buses.

256
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) 4 组 I2C 总线在 40pin 中对应的引脚如下表所示。I2C2_M0 和 I2C2_M4 同一时间


只 The corresponding pins of the 4 groups of I2C buses in 40pin are shown in the table
below. I2C2_M0 and I2C2_M4 can only use one of them at the same time, and they
cannot be used at the same time. They are all the same I2C2, but they are connected to
different pins. Please don’t think that they are two different sets of I2C2 buses.
I2C bus SDA corresponds to SCL corresponds to dtbo corresponding
40pin 40pin configuration
I2C2_M0 Pin 3 Pin 5 i2c2-m0
I2C2_M4 Pin 10 Pin 8 i2c2-m4
I2C4_M3 Pin 22 Pin 32 i2c4-m3
I2C5_M3 Pin 27 Pin 28 i2c5-m3
I2C8_M2 Pin 29 Pin 7 i2c8-m2

3) In the linux system, the I2C bus in the 40 pin is closed by default, and it needs to be
opened manually before it can be used. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

257
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then use the arrow keys on the keyboard to navigate to the position shown in the
figure below, and then use the space to select the I2C configuration you want to
open

e. Then select <Save> to save

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

258
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) After starting the linux system, first confirm that there is a device node corresponding
to i2c under /dev
orangepi@orangepi:~$ ls /dev/i2c-*

5) Then connect an i2c device to the i2c pin of the 40 pin connector, here we take the
ds1307 RTC module as an example

6) Then use the i2cdetect -y command, if the address of the connected i2c device can be
detected, it means that i2c can be recognized normally.
orangepi@orangepi:~$ sudo i2cdetect -y 2 #i2c2 command
orangepi@orangepi:~$ sudo i2cdetect -y 4 #i2c4 command
orangepi@orangepi:~$ sudo i2cdetect -y 5 #i2c5 command
orangepi@orangepi:~$ sudo i2cdetect -y 8 #i2c8 command

7) Then you can run the ds1307.py test program in the wiringOP-Python/examples file
to read the time of RTC
/dev/i2c-x needs to be replaced with the serial number of the specific i2c device node.

root@orangepi:~/wiringOP-Python# cd examples
root@orangepi:~/wiringOP-Python/examples# python3 ds1307.py --device "/dev/i2c-x"
Thu 2023-01-05 14:57:55
Thu 2023-01-05 14:57:56
Thu 2023-01-05 14:57:57
^C
exit
3.20.5. 40 pin UART test
1) As can be seen from the table below, the uarts available for Orange Pi 5 Plus are uart1,
uart3, uart4, uart6, uart7 and uart8, a total of 6 sets of uart buses

259
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) The corresponding pins of the 6 groups of UART buses in 40pin are shown in the
following table:
UART bus RX` corresponds to TX corresponds to dtbo corresponding
40pin 40pin configuration
UART1_M1 Pin 27 Pin 28 uart1-m1
UART3_M1 Pin 18 Pin 16 uart3-m1
UART4_M2 Pin 19 Pin 23 uart4-m2
UART6_M1 Pin 10 Pin 8 uart6-m1
UART7_M2 Pin 24 Pin 26 uart7-m2
UART8_M1 Pin 40 Pin 35 uart8-m1

3) In the linux system, the UART in the 40 pins is closed by default, and it needs to be
opened manually before it can be used. The detailed steps are as follows:
a. First run orangepi-config, normal users remember to add sudo permission
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then select Hardware

260
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then use the arrow keys on the keyboard to navigate to the position shown in the
figure below, and then use the space to select the UART configuration you want
to open

e. Then select <Save> to save

f. Then select <Back>

g. Then select <Reboot> to restart the system to make the configuration take effect

261
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) After entering the linux system, first confirm whether there is a device node
corresponding to uart under /dev
orangepi@orangepi:~$ ls /dev/ttyS*

5) Then start to test the uart interface, first use the DuPont line to short the rx and tx pins
of the uart interface to be tested

6) Then use the serialTest.py program in wiringOP-Python/examples to test the


loopback function of the serial port. As shown below, if you can see the print below, it
means the serial port communication is normal.
/dev/ttySX needs to be replaced with the serial number of the specific uart device node.

root@orangepi:~/wiringOP-Python/examples# python3 serialTest.py --device "/dev/ttySX"


Out: 0: -> 0
Out: 1: -> 1
Out: 2: -> 2
Out: 3: -> 3
Out: 4:^C
exit

3.21. Hardware watchdog test

The watchdog_test program is pre-installed in the linux system released by Orange Pi,
which can be tested directly.
The method to run the watchdog_test program is as follows:
a. The second parameter 10 indicates the counting time of the watchdog. If the dog
is not fed within this time, the system will restart
b. We can feed the dog by pressing any key on the keyboard (except ESC). After
feeding the dog, the program will print a line of keep alive to indicate that the
dog is fed successfully
orangepi@orangepi:~$ sudo watchdog_test 10
open success
options is 33152,identity is sunxi-wdt
put_usr return,if 0,success:0
The old reset time is: 16
return ENOTTY,if -1,success:0

262
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

return ENOTTY,if -1,success:0


put_user return,if 0,success:0
put_usr return,if 0,success:0
keep alive
keep alive
keep alive

3.22. Check the serial number of RK3588 chip

The command to view the serial number of the RK3588 chip is as follows. The serial
number of each chip is different, so the serial number can be used to distinguish multiple
development boards.
orangepi@orangepi:~$ cat_serial.sh
Serial : 1404a7682e86830c

3.23. How to install Docker

1) The linux image provided by Orange Pi has pre-installed Docker, but the Docker
service is not enabled by default

2) Use the enable_docker.sh script to enable the docker service, and then you can start
using the docker command, and the docker service will be automatically started when the
system is started next time
orangepi@orangepi:~$ enable_docker.sh

3) Then you can use the following command to test docker, if you can run hello-world, it
means that docker can be used normally
orangepi@orangepi:~$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
256ab8fe8778: Pull complete
Digest:
sha256:7f0a9f93b4aa3022c3a4c147a449ef11e0941a1fd0bf4a8e6c9408b2600777c5
Status: Downloaded newer image for hello-world:latest

263
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Hello from Docker!


This message shows that your installation appears to be working correctly.
.....

3.24. How to download and install arm64 version


balenaEtcher
1) The download address of balenaEtcher arm64 version is:
a. The download address of the a.deb installation package is as follows, it needs to
be installed before it can be used
https://github.com/Itai-Nelken/BalenaEtcher-arm/releases/download/v1.7.9/balena-e
tcher-electron_1.7.9+5945ab1f_arm64.deb
b. The download address of the AppImage version that does not need to be installed
is as follows: b. The download address of the AppImage version that does not
need to be installed is as follows:
https://github.com/Itai-Nelken/BalenaEtcher-arm/releases/download/v1.7.9/balenaE
tcher-1.7.9+5945ab1f-arm64.AppImage

2) How to install and use deb version balenaEtcher:


a. The deb version of balenaEtcher installation command is as follows:
orangepi@orangepi:~$ sudo apt install -y \
--fix-broken ./balena-etcher-electron_1.7.9+5945ab1f_arm64.deb
b. After the deb version of balenaEtcher is installed, it can be opened in the
Application

264
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. The interface after balenaEtcher is opened is as follows:

3) How to use the AppImage version of balenaEtcher:


a. First add permissions to balenaEtcher
orangepi@orangepi:~/Desktop$ chmod +x balenaEtcher-1.7.9+5945ab1f-arm64.AppImage
b. Then select the AppImage version balenaEtcher, click the right mouse button,
and then click Execute to open balenaEtcher

265
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.25. The installation method of the pagoda linux panel

Pagoda Linux panel is a server management software that improves operation


and maintenance efficiency. It supports more than 100 server management functions
such as one -click LAMP/LNMP/cluster/monitoring/website/FTP/database/Java
(extracted from the official website of the pagoda)

1) The order of compatibility recommendation of the pagoda Linux system is


Debian11 > Ubuntu 22.04> Debian12

2) Then enter the following command in the Linux system to start the installation of the
pagoda
orangepi@orangepi:~$ sudo install_bt_panel.sh

3) Then the pagoda installation program reminds whether to install the BT-Panel to
the/www folder, and enter Y at this time
+----------------------------------------------------------------------
| Bt-WebPanel FOR CentOS/Ubuntu/Debian
+----------------------------------------------------------------------
| Copyright © 2015-2099 BT-SOFT(http://www.bt.cn) All rights reserved.
+----------------------------------------------------------------------
| The WebPanel URL will be http://SERVER_IP:8888 when installed.
+----------------------------------------------------------------------

Do you want to install Bt-Panel to the /www directory now?(y/n): y

4) Then what to do is to wait patiently. When you see the printing information below the
terminal output, it means that the pagoda has been installed. The entire installation
process takes about 9 minutes. There may be some differences according to the difference
in network speed

266
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) At this time, enter the panel address displayed above in the browser to open the login
interface of the pagoda Linux panel, and then enter the username and password
displayed above in the corresponding position to log in to the pagoda.

6) After successfully logging in to the pagoda, the following welcome interface will pop
up. First, please take the intermediate user notice to read to the bottom, and then you can
choose "I have agreed and read" User Agreement ", and then click" Enter the panel " You
can enter the pagoda

267
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) After entering the pagoda, you will first prompt that you need to bind the account of
the pagoda official website. If you do n’t have an account, you can go to the official
website of the pagoda (https://www.bt.cn) to register one

8) The final display interface is shown in the figure below. You can intuitively see some
status information of the development board Linux system, such as load status, CPU
usage, memory usage, and storage space usage

268
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) Test the SSH terminal login of the pagoda


a. After opening the SSH terminal of the pagoda, you will first prompt that you
need to enter the password of the development board system. At this time, enter
orangepi in the password box (the default password, if you have modification,
please fill in the modified one).

b. The display after successful login is shown in the figure below

269
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) Software such as Apache, MySQL, and PHP can be installed in the software store of
the pagoda. You can also deploy various applications in one click. Please explore it
yourself

11) Pagoda command line tool test

270
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12) For more functions of the pagoda, please refer to the following information to
explore by yourself
manual:http://docs.bt.cn
Forum address:https://www.bt.cn/bbs
GitHub Link:https://github.com/aaPanel/BaoTa

3.26. Set the Chinese environment and install Chinese input


method

Note that before installing the Chinese input method, please make sure that the
Linux system used in the development board is the desktop version system。

3.26.1. Debian system installation method


1) First set the default locale as Chinese
a. Enter the command below to start configured locale
orangepi@orangepi:~$ sudo dpkg-reconfigure locales
b. Then select zh_CN.UTF-8 UTF-8 in the pop-up interface (through the upper
and lower direction keys on the keyboard to move up and down, select it through
the space key, and finally move the cursor to <OK> through the Tab key, and

271
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

then press Enter key.)

c. Then set the default locale as zh_CN.UTF-8

d. After exiting the interface,locale will be set. The output displayed by the
command line is shown below
orangepi@orangepi:~$ sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
en_US.UTF-8... done
zh_CN.UTF-8... done
Generation complete.

2) Then open Input Method

272
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then choose OK

4) Then choose Yes

273
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then choose fcitx

6) Then choose OK

7) Then restart the Linux system to make the configuration effective

274
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) Then Open Fcitx configuration

9) Then click the “+” of the position shown in the figure below

10) Then search Google Pinyin and click OK

275
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) Then put Google Pinyin to the forefront

12) Then open the Geany Editor and test the Chinese input method.

276
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

13) Chinese input method test is shown below

14) You can switch between Chinese and English input methods through Ctrl+Space
shortcut

15) If the entire system is required as Chinese, the variables in/etc/default/locale can be
set to zh_CN.UTF-8
orangepi@orangepi:~$ sudo vim /etc/default/locale
# File generated by update-locale
LC_MESSAGES=zh_CN.UTF-8
LANG=zh_CN.UTF-8

277
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

LANGUAGE=zh_CN.UTF-8

16) Then restart the system to see the system display as Chinese

3.26.2. ubuntu 20.04 system installation method


1) First open Language Support

278
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then find the Chinese (China) option

3) Then use the left mouse button to select Chinese (China) and hold it down, and then
drag it up to the beginning. The display after dragging is shown in the figure below:

Note that this step is not very easy to drag, please try a few more times。

4) Then select the Apply System-Wide to apply the Chinese settings to the entire system

279
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then set the Keyboard input method system as fcitx

6) Then restart the linux system to make the configuration effective

7) After re -entering the system, please choose not to ask me again at the interface
below, and then determine whether the standard folder should be updated in Chinese
according to your preference

280
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) Then you can see that the desktop is displayed as Chinese

9) Then we can open the Geany test in the Chinese input method. The way to open the
way is shown in the figure below

281
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) After opening Geany, the default is an English input method. We can switch into
Chinese input method through the Ctrl+Space shortcut keys, and then we can enter
Chinese

3.26.3. Ubuntu 22.04 installation method


1) First open Language Support

282
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then find the Chinese (China) option

3) Then please use the mouse to select Chinese (China) and hold it down, and then drag
it up to the beginning. The display after the dragging is shown in the figure below:

283
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note that this step is not very easy to drag, please try a few more times。

4) Then select the Apply System-Wide to apply the Chinese settings to the entire system

5) Then restart the linux system to make the configuration effective

6) After re-entering the system, please choose not to ask me again at the interface below,
and then determine whether the standard folder should be updated to Chinese according
to your preference

284
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) Then you can see that the desktop is displayed as Chinese

8) Then open the Fcitx5 configuration program

285
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) Then choose to use Pinyin input method

10) The interface after selecting is shown below, then click OK

286
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) Then we can open the Geany to test Chinese input method.The way to open is shown
in the figure below

12) After opening Geany, the default is an English input method. We can switch into
Chinese input method through the Ctrl+Space shortcut keys, and then we can enter
Chinese

287
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.27. How to remotely log in to the Linux system desktop


method

Ubuntu Gnome Wayland image does not support NoMachine and VNC
described here to remotely log in to the desktop。
3.27.1. Use NoMachine remote login
Make sure the Ubuntu or Debian system installed on the development board is a
desktop version. In addition, NoMachine also provides detailed documents. It is
strongly recommended to read this document to be familiar with the use of
NOMACHINE. The document links are shown below:
https://knowledgebase.nomachine.com/DT10R00166

NoMachine supports Windows, Mac, Linux, iOS, and Android platforms, so we


can remotely log in to control Orange PI development boards through NoMachine
on multiple devices. The following demonstrates the Linux system desktop of the
Orange PI development board through NoMachine in Windows. For installation
methods for other platforms, please refer to the official documentation of
NoMachine

Before operation, please ensure that the Windows computer and the

288
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

development board are in the same local area network, and can log in to the Ubuntu
or Debian system that can log in to the development board normally

1) First download the NoMachine software Linux arm64 DEB version of the installation
package, and then install it in the Linux system of the development board.
a. Since RK3588 is a SOC of the ARMV8 architecture, the system we use is
Ubuntu or Debian, so you need to download NoMachine for ARM ARMv8
DEB installation package here. The download link is shown below:
Note that this download link may change, please recognize the deb package of
the Armv8/Arm64 version.
https://downloads.nomachine.com/download/?id=114&distro=ARM

b. In addition, you can also download the installation package of NoMachine in the
official tools

First Enter the remote login software-Nomachine Folder

Then download the arm64 version of the deb installation package

289
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. Then upload the downloaded nomachine_x.x.x_x_arm64.deb to the Linux


system of the development board
d. Then use the following command to install NoMachine in the Linux system in
the development board
orangepi@orangepi:~$ sudo dpkg -i nomachine_x.x.x_x_arm64_arm64.deb

2) Then download the NoMachine software Windows version of the installation package,
the download address is shown below
Note that this download link may change
https://downloads.nomachine.com/download/?id=9

3) Then install NoMachine in Windows. Please restart the computer after installation

4) Then open NoMachine in Window

5) After NoMachine is started, it will automatically scan other devices installed in the
local area network. After entering the main interface of NoMachine, you can see that the
development board is already in the connected device list, and then click the location
shown in the red box below in the figure below. You can start logging in to the Linux
system desktop of the development board

290
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then click OK

7) Then enter the username and password of the linux system in the corresponding
position in the figure below, and then click OK to start logging in

8) Then click OK in the next interface

9) Finally, you can see the desktop of the development board Linux system

291
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.27.2. Use VNC remote login


Before operation, please ensure that the Windwos computer and the
development board are in the same local area network, and you can log in to the
Ubuntu or Debian system of the development board normally.

Ubuntu 20.04 tests many problems with VNC, please do not use this method.

1) First run the set_vnc.sh script settings vnc, and remember to add Sudo permissions
orangepi@orangepi:~$ sudo set_vnc.sh
You will require a password to access your desktops.

Password: #Set the VNC password here, 8 -bit characters


Verify: #Set the VNC password here, 8 -bit characters
Would you like to enter a view-only password (y/n)? n
xauth: file /root/.Xauthority does not exist

New 'X' desktop is orangepi:1

Creating default startup script /root/.vnc/xstartup


Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/orangepi:1.log

Killing Xtightvnc process ID 3047

292
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

New 'X' desktop is orangepi:1

Starting applications specified in /root/.vnc/xstartup


Log file is /root/.vnc/orangepi:1.log

2) The steps of using MobaxTerm software to connect the development board Linux
system desktop are shown below:
a. First click the session, then select VNC, then fill in the IP address and port of the
development board, and finally click OK to confirm

b. Then enter the password of the previously set VNC

c. The interface after the login is successfully displayed as shown in the figure
below, and then you can remotely operate the desktop of the linux system
remotely

293
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.28. Some programming language test supported by thelinux


system

3.28.1. Debian Bullseye system


1) Debian Bullseye is installed with the gcc compilation tool chain by default, which can
compile the C language program directly in the Linux system of the development board
a. The version of the gcc is shown below
orangepi@orangepi:~$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
b. hello_world.c program to write c language
orangepi@orangepi:~$ vim hello_world.c
#include <stdio.h>

int main(void)
{
printf("Hello World!\n");

294
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

return 0;
}
c. Then compile and run hello_world.c
orangepi@orangepi:~$ gcc -o hello_world hello_world.c
orangepi@orangepi:~$ ./hello_world
Hello World!

2) Debian Bullseye Default with Python3


a. The specific version of Python is shown below
orangepi@orangepi:~$ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Use CTRL+D shortcut key to exit Python's interactive mode。
b. hello_world.py program in Python language
orangepi@orangepi:~$ vim hello_world.py
print('Hello World!')
c. The results of running hello_world.py are shown below
orangepi@orangepi:~$ python3 hello_world.py
Hello World!

3) Debian Bullseye's compilation tool and operating environment without Java default
a. You can use the following command to install openjdk. The latest version in
Debian Bullseye is openjdk-17
orangepi@orangepi:~$ sudo apt install -y openjdk-17-jdk
b. After installation, you can check the version of Java
orangepi@orangepi:~$ java --version
c. Edit the hello_world.java of Java version
orangepi@orangepi:~$ vim hello_world.java
public class hello_world
{
public static void main(String[] args)
{

295
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

System.out.println("Hello World!");
}
}
d. Then compile and run hello_world.java
orangepi@orangepi:~$ javac hello_world.java
orangepi@orangepi:~$ java hello_world
Hello World!

3.28.2. Debian Bookworm system


1) Debian Bookworm is installed with a gcc compilation tool chain by default, which can
directly compile C language programs in the Linux system of the development board
a. The version of gcc is as follows
orangepi@orangepi:~$ gcc --version
gcc (Debian 12.2.0-14) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
b. Write the hello_world.c program in C language
orangepi@orangepi:~$ vim hello_world.c
#include <stdio.h>

int main(void)
{
printf("Hello World!\n");

return 0;
}
c. Then compile and run hello_world.c
orangepi@orangepi:~$ gcc -o hello_world hello_world.c
orangepi@orangepi:~$ ./hello_world
Hello World!

2) Debian Bookworm has Python3 installed by default


a. The specific version of Python is as follows

296
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~$ python3
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Use the Ctrl+D shortcut to exit python's interactive mode.
b. Write the hello_world.py program in Python language
orangepi@orangepi:~$ vim hello_world.py
print('Hello World!')
c. The result of running hello_world.py is as follows
orangepi@orangepi:~$ python3 hello_world.py
Hello World!

3) Debian Bookworm does not install Java compilation tools and operating environment
by default
a. You can use the following command to install openjdk, the latest version in
Debian Bookworm is openjdk-17
orangepi@orangepi:~$ sudo apt install -y openjdk-17-jdk
b. After installation, you can check the version of Java
orangepi@orangepi:~$ java --version
c. Write the Java version of hello_world.java
orangepi@orangepi:~$ vim hello_world.java
public class hello_world
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
d. Then compile and run hello_world.java
orangepi@orangepi:~$ javac hello_world.java
orangepi@orangepi:~$ java hello_world
Hello World!

3.28.3. Ubuntu Focal system


1) Ubuntu Focal has a gcc compilation tool chain installed by default, which can directly

297
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

compile C language programs in the Linux system of the development board


a. The version of gcc is as follows
orangepi@orangepi:~$ gcc --version
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
b. Write the hello_world.c program in C language
orangepi@orangepi:~$ vim hello_world.c
#include <stdio.h>

int main(void)
{
printf("Hello World!\n");

return 0;
}
c. Then compile and run hello_world.c
orangepi@orangepi:~$ gcc -o hello_world hello_world.c
orangepi@orangepi:~$ ./hello_world
Hello World!

2) Ubuntu Focal has Python3 installed by default


a. The specific version of Python3 is as follows
orangepi@orangepi:~$ python3
Python 3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Use the Ctrl+D shortcut to exit python's interactive mode.
b. Write the hello_world.py program in Python language
orangepi@orangepi:~$ vim hello_world.py
print('Hello World!')
c. The result of running hello_world.py is as follows

298
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~$ python3 hello_world.py


Hello World!

3) Ubuntu Focal does not install Java compilation tools and operating environment by
default
a. You can use the following command to install openjdk-17
orangepi@orangepi:~$ sudo apt install -y openjdk-17-jdk
b. After installation, you can check the version of Java
orangepi@orangepi:~$ java --version
openjdk 17.0.2 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.2+8-Ubuntu-120.04, mixed mode, sharing)
c. Write the Java version of hello_world.java
orangepi@orangepi:~$ vim hello_world.java
public class hello_world
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
d. Then compile and run hello_world.java
orangepi@orangepi:~$ javac hello_world.java
orangepi@orangepi:~$ java hello_world
Hello World!

3.28.4. Ubuntu Jammy system


1) Ubuntu Jammy is equipped with a gcc compilation tool chain by default, which can
directly compile the C language program in the Linux system of the development board
a. The version of gcc is shown below
orangepi@orangepi:~$ gcc --version
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR

299
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

PURPOSE.
b. The hello_world.c program that writes c language
orangepi@orangepi:~$ vim hello_world.c
#include <stdio.h>

int main(void)
{
printf("Hello World!\n");

return 0;
}
c. Then compile and run hello_world.c
orangepi@orangepi:~$ gcc -o hello_world hello_world.c
orangepi@orangepi:~$ ./hello_world
Hello World!

2) Ubuntu jammy is installed with Python3 by default


a. python3 specific version is shown below
orangepi@orangepi:~$ python3
Python 3.10.4 (main, Apr 2 2022, 09:04:19) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Use CTRL+D shortcut key to exit Python's interactive mode。
b. The hello_world.py program that writes python language
orangepi@orangepi:~$ vim hello_world.py
print('Hello World!')
c. The results of running hello_world.py are shown below
orangepi@orangepi:~$ python3 hello_world.py
Hello World!

3) Ubuntu Jammy defaults to compile tools and operating environments that are not
installed in Java
a. You can use the following command to install openjdk-18
orangepi@orangepi:~$ sudo apt install -y openjdk-18-jdk
b. After installation, you can check the version of the java

300
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~$ java --version


openjdk 18-ea 2022-03-22
OpenJDK Runtime Environment (build 18-ea+36-Ubuntu-1)
OpenJDK 64-Bit Server VM (build 18-ea+36-Ubuntu-1, mixed mode, sharing)
c. Edit the hello_world.java of Java version
orangepi@orangepi:~$ vim hello_world.java
public class hello_world
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
d. Then compile and run hello_world.java
orangepi@orangepi:~$ javac hello_world.java
orangepi@orangepi:~$ java hello_world
Hello World!

3.29. QT installation method

1) You can install QT5 and QT Creator with the following scripts
orangepi@orangepi:~$ install_qt.sh

2) After installation, it will automatically print the QT version number


a. Ubuntu20.04's own QT version is 5.12.8
orangepi@orangepi:~$ install_qt.sh
......
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/aarch64-linux-gnu
b. Ubuntu22.04's own QT version is 5.15.3
orangepi@orangepi:~$ install_qt.sh
......
QMake version 3.1
Using Qt version 5.15.3 in /usr/lib/aarch64-linux-gnu
c. The QT version comes with Debian11 is 5.15.2

301
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~$ install_qt.sh
......
QMake version 3.1
Using Qt version 5.15.2 in /usr/lib/aarch64-linux-gnu
d. The QT version that comes with Debian12 is 5.15.8
orangepi@orangepi:~$ install_qt.sh
......
QMake version 3.1
Using Qt version 5.15.8 in /usr/lib/aarch64-linux-gnu

3) Then you can see the lax icon of QT Creator in Applications

You can also use the following command to open QT Creator


orangepi@orangepi:~$ qtcreator

During the startup process of QT and QT applications, if the error below is


prompted, please ignore it directly. This error will not affect the operation of the
application.。

libGL error: failed to create dri screen


libGL error: failed to load driver: rockchip
libGL error: failed to create dri screen
libGL error: failed to load driver: rockchip

302
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) The interface after the QT Creator is opened is shown below

5) The version of QT Creator is shown below


a. The default version of QT Creator in Ubuntu20.04 is shown below

b. The default version of QT Creator in Ubuntu22.04 is shown below

303
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. The default version of QT Creator in Debian11 is shown below

d. The default version of QT Creator in Debian12 is as follows

304
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then set the QT


a. First open Help->About Plugins...

b. Then remove the hook of ClangCodeModel

305
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. After setting, you need to restart Qt Creator


d. Then make sure the GCC compiler used by QT Creator, if the default is Clang,
please modify it to GCC
Debian12 please skip this step.

306
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) Then you can open an example code

8) After clicking the example code, you will automatically open the corresponding
description document. You can carefully look at the instructions for the use

307
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) Then click Configure Project

10) Then click the sample code under the green triangle compilation and run in the lower
left corner

308
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) After waiting for a while, the interface shown in the figure below will pop up. At this
time, it means that QT can compile and run normally

12) Reference information


https://wiki.qt.io/Install_Qt_5_on_Ubuntu
https://download.qt.io/archive/qtcreator
https://download.qt.io/archive/qt

309
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.30. ROS installation method

3.30.1. Ubuntu 20.04 method of installing ROS 1 Noetic


1) The current active version of ROS 1 is shown below. The recommended version is
Noetic Ninjemys

http://docs.ros.org
https://wiki.ros.org/Distributions

2) ROS 1 Noetic Ninjemys' official installation document links are shown below:
http://wiki.ros.org/noetic/Installation/Ubuntu

3) Ubuntu 20.04 is recommended in the official installation document of ROS Noetic


Ninjemys, so please make sure that the system used in the development board is
Ubuntu20.04 desktop version system

310
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

http://wiki.ros.org/noetic/Installation

4) Then install Ros1 with the following script


orangepi@orangepi5plus:~$ install_ros.sh ros1

5) Before using the ROS tool, you need to initialize ROSDEP first, and then install some
system dependencies and core components in some ROS when compiling the source code
Note that the following commands need to ensure that the development board
can access GitHub normally, otherwise it will report an error due to network
problems。

install_ros.sh script will try to modify/etc/hosts and run the following commands
automatically. However, this method cannot guarantee that you can access github
normally. If install_ros.sh has prompting the following errors after the ros1 is
installed, please think other methods to allow the linux system of the development
board to access github normally, and then manually run the following manually
command。

https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
ERROR: error loading sources list:
The read operation timed out
orangepi@orangepi:~$ source /opt/ros/noetic/setup.bash
orangepi@orangepi:~$ sudo rosdep init
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

311
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

rosdep update
orangepi@orangepi:~$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index
https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Skip end-of-life distro "dashing"
Skip end-of-life distro "eloquent"
Add distro "foxy"
Add distro "galactic"
Skip end-of-life distro "groovy"
Add distro "humble"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/orangepi/.ros/rosdep/sources.cache

6) Then open a command line window on the desktop, and then use the test_ros.sh
script to start a small turtle routine to test whether the ROS can be used normally
orangepi@orangepi:~$ test_ros.sh

7) After running the test_ros.sh script, a small turtle shown in the figure below will pop
up

312
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) Then please keep the terminal window just open at the top

9) At this time, press the direction button on the keyboard to control the small turtles up,
down, left and right

313
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.30.2. Ubuntu20.04 The method of installing ROS 2 Galactic


1) The current active version of ROS 2 is shown below. The recommended version is
Galactic Geochelone

314
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

http://docs.ros.org
http://docs.ros.org/en/galactic/Releases.html

2) ROS 2 Galactic Geochelone's official installation document link is shown below:


docs.ros.org/en/galactic/Installation.html
http://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html

3) ROS 2 Galactic Geochelone's official installation document is recommended to use


Ubuntu 20.04, so please make sure that the system used in the development board is
Ubuntu20.04 desktop version system. There are several ways to install ROS 2. The
following demonstrates install the Ros 2 Galactic Geochelone by Debian packages

4) You can install ROS2 with install_ros.sh script


orangepi@orangepi:~$ install_ros.sh ros2

5) install_ros.sh script will automatically run the ros2 -h command after ros2 is installed.
If you can see the printing below, it means that ros2 installation is complete
usage: ros2 [-h] Call `ros2 <command> -h` for more detailed usage. ...

ros2 is an extensible command-line tool for ROS 2.

optional arguments:
-h, --help show this help message and exit

315
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Commands:
action Various action related sub-commands
bag Various rosbag related sub-commands
component Various component related sub-commands
daemon Various daemon related sub-commands
doctor Check ROS setup and other potential issues
interface Show information about ROS interfaces
launch Run a launch file
lifecycle Various lifecycle related sub-commands
multicast Various multicast related sub-commands
node Various node related sub-commands
param Various param related sub-commands
pkg Various package related sub-commands
run Run a package specific executable
security Various security related sub-commands
service Various service related sub-commands
topic Various topic related sub-commands
wtf Use `wtf` as alias to `doctor`

Call `ros2 <command> -h` for more detailed usage.

6) Then you can use the test_ros.sh script to test whether the ROS 2 is successfully
installed. If you can see the printing below, it means that the ROS 2 can run normally
orangepi@orangepi5plus:~$ test_ros.sh
[INFO] [1671174101.200091527] [talker]: Publishing: 'Hello World: 1'
[INFO] [1671174101.235661048] [listener]: I heard: [Hello World: 1]
[INFO] [1671174102.199572327] [talker]: Publishing: 'Hello World: 2'
[INFO] [1671174102.204196299] [listener]: I heard: [Hello World: 2]
[INFO] [1671174103.199580322] [talker]: Publishing: 'Hello World: 3'
[INFO] [1671174103.204019965] [listener]: I heard: [Hello World: 3]

7) Run the following command to open rviz2


orangepi@orangepi:~$ source /opt/ros/galactic/setup.bash
orangepi@orangepi:~$ ros2 run rviz2 rviz2

316
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) How to use ROS, please refer to the document of ROS 2


http://docs.ros.org/en/galactic/Tutorials.html
3.30.3. Ubuntu22.04 to install ROS 2 Humble
1) install ROS2 with install_ros.sh script
orangepi@orangepi:~$ install_ros.sh ros2

2) install_ros.sh script will automatically run the ros2 -h command after ROS2 is
installed. If you can see the following printing, it means that ROS2 installation is
complete.
usage: ros2 [-h] Call `ros2 <command> -h` for more detailed usage. ...

ros2 is an extensible command-line tool for ROS 2.

optional arguments:
-h, --help show this help message and exit

Commands:
action Various action related sub-commands
bag Various rosbag related sub-commands
component Various component related sub-commands

317
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

daemon Various daemon related sub-commands


doctor Check ROS setup and other potential issues
interface Show information about ROS interfaces
launch Run a launch file
lifecycle Various lifecycle related sub-commands
multicast Various multicast related sub-commands
node Various node related sub-commands
param Various param related sub-commands
pkg Various package related sub-commands
run Run a package specific executable
security Various security related sub-commands
service Various service related sub-commands
topic Various topic related sub-commands
wtf Use `wtf` as alias to `doctor`

Call `ros2 <command> -h` for more detailed usage.

3) Then you can use the test_ros.sh script to test whether the ROS 2 is successfully
installed. If you can see the printing below, it means that ROS 2 can run normally
orangepi@orangepi5plus:~$ test_ros.sh
[INFO] [1671174101.200091527] [talker]: Publishing: 'Hello World: 1'
[INFO] [1671174101.235661048] [listener]: I heard: [Hello World: 1]
[INFO] [1671174102.199572327] [talker]: Publishing: 'Hello World: 2'
[INFO] [1671174102.204196299] [listener]: I heard: [Hello World: 2]
[INFO] [1671174103.199580322] [talker]: Publishing: 'Hello World: 3'
[INFO] [1671174103.204019965] [listener]: I heard: [Hello World: 3]

4) Run the following command to open rviz2


orangepi@orangepi:~$ source /opt/ros/humble/setup.bash
orangepi@orangepi:~$ ros2 run rviz2 rviz2

318
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Reference document
http://docs.ros.org/en/humble/index.html
http://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

3.31. The method of installing the kernel header file

1) The linux image released by OPI defaults to the DEB package of the kernel header file.
The location is/opt/
orangepi@orangepi5plus:~$ ls /opt/linux-headers*
/opt/linux-headers-legacy-rockchip-rk3588_x.x.x_arm64.deb

2) Use the following command to install the deb package of the kernel header file
The name of the kernel file deb package needs to be replaced with the actual
name, please don’t copy it。
orangepi@orangepi:~$ sudo dpkg -i /opt/linux-headers-legacy-rockchip-rk3588_1.x.x_arm64.deb

3) After installation, you can see the folder where the kernel header file is located under
the/usr/src
orangepi@orangepi:~$ ls /usr/src
linux-headers-5.10.160-rockchip-rk3588

319
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then you can write a Hello kernel module to test the kernel header file
a. First write the code of the Hello kernel module, as shown below:
orangepi@orangepi:~$ vim hello.c
#include <linux/init.h>
#include <linux/module.h>

static int hello_init(void)


{
printk("Hello Orange Pi -- init\n");

return 0;
}
static void hello_exit(void)
{
printk("Hello Orange Pi -- exit\n");

return;
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");
b. Then write a makefile file that compiles the Hello kernel module, as shown
below:
orangepi@orangepi:~$ vim Makefile
ifneq ($(KERNELRELEASE),)
obj-m:=hello.o
else
KDIR :=/lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod *.symvers *.cmd *.mod.c *.order

320
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

endif
c. Then use the make command to compile the Hello kernel module, and the output
of the compilation process is shown below:
If you compile the code you copy here, if you have any problems, go to the
official tool to download the source code and upload it to the Linux system of the
development board for testing

orangepi@orangepi:~$ make
make -C /lib/modules/5.10.160-rockchip-rk3588/build M=/home/orangepi modules
make[1]: Entering directory '/usr/src/linux-headers-5.10.160-rockchip-rk3588'
CC [M] /home/orangepi/hello.o
MODPOST /home/orangepi/Module.symvers
CC [M] /home/orangepi/hello.mod.o
LD [M] /home/orangepi/hello.ko
make[1]: Leaving directory '/usr/src/linux-headers-5.10.160-rockchip-rk3588'
d. After compiling, the hello.ko kernel module will be generated
orangepi@orangepi:~$ ls *.ko
hello.ko
e. Use the insmod command to insert the hello.ko kernel module into the kernel
orangepi@orangepi:~$ sudo insmod hello.ko
f. Then use the demsg command to view the output of the hello.ko kernel module.
If you can see the output instructions below, the hello.ko kernel module is loaded
correctly
orangepi@orangepi:~$ dmesg | grep "Hello"
[ 2871.893988] Hello Orange Pi -- init
g. Use the rmmod command to uninstall the hello.ko kernel module
orangepi@orangepi:~$ sudo rmmod hello
orangepi@orangepi:~$ dmesg | grep "Hello"
[ 2871.893988] Hello Orange Pi -- init
[ 3173.800892] Hello Orange Pi -- exit

321
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.32. How to use 10.1 inch MIPI LCD screen

3.32.1. 10.1 -inch MIPI screen assembly method


1) First prepare the required accessories
a. 10.1 -inch MIPI LCD display+touch screen (this screen and OPI5/OPI5B
universal)

b. Screen divert plate+31pin to 40pin line

c. 30pin mipi line

d. 12pin touch screen row line

322
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) According to the figure below, the 12PIN touch screen row, 31PIN to 40PIN ducts,
and 30pin MIPI cables get on the screen dial board. Pay attention to line of the touch
screen the blue insulation face under . If you get an error, it will cause no display or
unable to touch

3) Place the connected rotor connected to the puzzle on the MIPI LCD screen according
to the figure below, and connect the MIPI LCD screen and the rotary board through
31PIN to 40Pin row

4) Then connect the touch screen and the rotor board through the 12PIN touch screen
line, pay attention to the orientation of the insulating surface.

323
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Finally connect to the LCD interface of the development board through the 30PIN
MIPI duct

Note that the touch interface below is not used for the LCD MIPI screen. It is
currently a spare interface and cannot be used

3.32.2. Open the 10.1 -inch MIPI LCD screen configuration


1) The Linux image defaults to the configuration of the mipi lcd screen by default. If you
need to use the mipi lcd screen, you need to open it manually。

2) The position of the development board MIPI LCD screen interface is shown below:

324
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) The steps of opening the MIPI LCD configuration are shown below:
a. First run the orangePi-config. Ordinary users remember to add Sudo permissions
orangepi@orangepi:~$ sudo orangepi-config
b. Then choose System

c. Then choos Hardware

d. Then use the keyboard orientation to position the opi5plus-lcd, and then use the
space to select

e. Then select <Save>

f. Then sele <Back>

325
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

g. Then select the <Reboot>restart system to make the configuration effective

4) After starting, you can see the display of the LCD screen as shown below (the default
is vertical screen):

3.32.3. The server version of the image rotation display direction


method
1) Add extrargs = fbcon = rotate: The direction to rotate is in /boot/orangepiEnv.txt.
This configuration can set the direction of the LINUX system of the server
version,Among them, fbcon=rotate: The following numbers can be set to be set to
a. 0: Normal screen (default vertical screen)
b. 1: Turn 90 degrees clock
c. 2: Flip 180 degrees
d. 3: Turn to 270 degrees clock
orangepi@orangepi:~$ sudo vim /boot/orangepiEnv.txt
overlays=opi5plus-lcd

326
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

extraargs=cma=128M fbcon=rotate:3

Note that if/boot/orangepienv.txt is configured in the default default exiArgs =


CMA = 128M, fbcon = rotate: 3 The configuration can be added to the extensraargs
= cma = 128m (need to be separated by spaces)。

2) Then restart the Linux system to see that the direction of the LCD screen display has
been rotated
3.32.4. The desktop image rotation display and touch direction
method
1) First open Display settings in the Linux system

2) Then select the direction you want to rotate in the Rotation


a. None: Not rotate
b. Left: Rotate 90 degrees to the left
c. Inverted: Flipting up and down is equivalent to rotating 180 degrees
d. Right: Rotate 90 degrees to the right

327
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then click Apply

4) Then click Keep this configuration

5) At this time, the screen display has been rotated, and then the Display program is
turned off

328
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) The above steps will only select the display direction, and it will not rotate the
direction of touch. Use set_lcd_rotate.sh script to rotate the direction of touch. After this
script is set, it will be automatically restarted, and then you can test whether the touch can
be used normally
a. None: Not rotate
orangepi@orangepi:~$ set_lcd_rotate.sh none
b. Left: Rotate 90 degrees to the left
orangepi@orangepi:~$ set_lcd_rotate.sh left
c. Inverted: Flipting up and down, equivalent to rotating 180 degrees
orangepi@orangepi:~$ set_lcd_rotate.sh inverted
d. Right: Rotate 90 degrees to the right
orangepi@orangepi:~$ set_lcd_rotate.sh right

set_lcd_rotate.sh The script mainly does four things:

1. Rotate the direction of Framebuffer displayed


2. The direction of rotating touch
3. Close the boot LOGO
4. Restart the system

The direction of the rotation touch is achieved by adding Option


TransformationMatrix""x x x x x x x x x"in
/usr/share/X11/xorg.conf.d/40-libinput.conf. Among them, "x x x x x x x x x" is
different in different directions。

7) Touch rotation reference materials


https://wiki.ubuntu.com/X/InputCoordinateTransformation

3.33. Instructions for opening the logo use instructions

1) The default LOGO default is displayed in the desktop version of the system

2) Set the bootlogo variable to false in /boot/orangepiEnv.txt to turn off the switch to
the LOGO

329
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

orangepi@orangepi:~$ sudo vim /boot/orangepiEnv.txt


verbosity=1
bootlogo=false

3) Set the bootlogo variable to true in/boot/orangepiEnv.txt to turn the opening and the
logo
orangepi@orangepi:~$ sudo vim /boot/orangepiEnv.txt
verbosity=1
bootlogo=true

4) The position of the LOGO picture in the Linux system is


/usr/share/plymouth/themes/orangepi/watermark.png

5) After replacing the start -up logo picture, you need to run the command to take effect
orangepi@orangepi:~$ sudo update-initramfs -u

3.34. Test methods for OV13850 and OV13855 MIPI camera

At present, the development board supports two MIPI cameras, OV13850 and
OV13855. The specific pictures are shown below:
a. OV13850 camera at 13 million MIPI interface

b. 13 million MIPI interface OV13855 camera

330
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The rotary board used by OV13850 and OV13855 cameras is the same as the FPC
cable, but the two cameras are different from the position on the rotary board. The FPC
lines are shown in the figure below. Please note that the FPC line is directed. It is marked
that the TO MB must be inserted into the camera interface of the development board. It is
marked that the end of TO CAMERA needs to be inserted on the camera transfer board。

There are a total of 3 cameras on the camera to connect to the board, which can only
be used one at the same time, as shown in the figure below, among which:
a. No. 1 connect with OV13850 camera
b. No. 2 interface OV13855 camera
c. The No. 3 interface is not used, just ignore it.

Orange Pi 5 Plus development board has a total of 1 camera interface, which is


shown below:

331
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The method of the camera inserted in the development board interface is shown
below:

After connecting the camera to the development board, we can use the following
method to test the camera:
a. First run the orangepi-config. Ordinary users remember to add sudo permissions
orangepi@orangepi:~$ sudo orangepi-config
b. Then select System

c. Then choose Hardware

332
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then use the keyboard to locate the position shown in the figure below, and then
use the camera you want to open in the space. Among them, opi5plus-ov13850 means
using an OV13850 camera, opi5plus-ov13855 indicates the use of OV13855 camera。

e. Then choose <Save>

f. Then choose <Back>

g. Then select the<Reboot> restart system to make the configuration effective

h. Then open a terminal in the desktop system and run the script below
orangepi@orangepi:~$ test_camera.sh
i. Then you can see the preview of the camera

333
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.35. Test method for infrared receiving

There is an infrared receiver on the development board, which is connected to


thePWM15_IR_M1 pin. The method of checking the key value received by infrared is
shown below:

1) First run the evtest command in the command line, and then select the device serial
number corresponding to the febf0030.pwm
orangepi@orangepi:~$ evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event0: febf0030.pwm
/dev/input/event1: rk805 pwrkey
/dev/input/event2: rockchip,dp0 rockchip,dp0
/dev/input/event3: rockchip-hdmi0 rockchip-hdmi0
/dev/input/event4: rockchip-hdmi1 rockchip-hdmi1
/dev/input/event5: headset-keys
/dev/input/event6: rockchip,es8388 Headset
/dev/input/event7: adc-keys

334
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

/dev/input/event8: SONiX USB Keyboard


/dev/input/event9: SONiX USB Keyboard Consumer Control
/dev/input/event10: SONiX USB Keyboard System Control
/dev/input/event11: PixArt USB Optical Mouse
Select the device event number [0-11]: 0 #Select the serial number corresponding
to Febf0030.pwm here
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x524b product 0x6 version 0x100
Input device name: "febf0030.pwm"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 2 (KEY_1)
Event code 3 (KEY_2)
Event code 4 (KEY_3)
Event code 5 (KEY_4)
Event code 6 (KEY_5)
Event code 7 (KEY_6)
Event code 8 (KEY_7)
Event code 9 (KEY_8)
Event code 10 (KEY_9)
Event code 11 (KEY_0)
Event code 28 (KEY_ENTER)
Event code 102 (KEY_HOME)
Event code 103 (KEY_UP)
Event code 105 (KEY_LEFT)
Event code 106 (KEY_RIGHT)
Event code 108 (KEY_DOWN)
Event code 113 (KEY_MUTE)
Event code 114 (KEY_VOLUMEDOWN)
Event code 115 (KEY_VOLUMEUP)
Event code 116 (KEY_POWER)
Event code 139 (KEY_MENU)
Event code 143 (KEY_WAKEUP)
Event code 158 (KEY_BACK)
Event code 217 (KEY_SEARCH)

335
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Event code 388 (KEY_TEXT)


Properties:
Testing ... (interrupt to exit)

2) Then need to prepare an infrared remote control shown in the figure below
Note: The Linux system provided by the Orange School only supports the
remote control provided by the Orange School. The remote control of the TV or air
conditioner cannot be used。

3) Then press the button on the infrared receiver on the development board to press the
button on the remote control. The position of the infrared receiver on the development
board is as shown in the figure below:

4) Then you can see that evtest will print the received key value
......
Event code 217 (KEY_SEARCH)
Event code 388 (KEY_TEXT)
Properties:
Testing ... (interrupt to exit)
Event: time 1684152321.834907, type 1 (EV_KEY), code 2 (KEY_1), value 1
Event: time 1684152321.834907, -------------- SYN_REPORT ------------
Event: time 1684152322.017512, type 1 (EV_KEY), code 2 (KEY_1), value 0
Event: time 1684152324.630961, -------------- SYN_REPORT ------------

336
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Event: time 1684152326.482359, type 1 (EV_KEY), code 106 (KEY_RIGHT), value 1


Event: time 1684152326.482359, -------------- SYN_REPORT ------------
Event: time 1684152326.667633, type 1 (EV_KEY), code 106 (KEY_RIGHT), value 0
Event: time 1684152328.427632, -------------- SYN_REPORT ------------
Event: time 1684152330.761986, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 1684152330.761986, -------------- SYN_REPORT ------------
Event: time 1684152330.944243, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1684152330.944243, -------------- SYN_REPORT ------------

3.36. The method to use RTC

1) A RTC battery interface is reserved on the development board, which is shown


below:

2) The RTC battery that needs to be purchased is shown below. The interface is 2pin,
1.25mm spacing

3) The RTC chip used on the development board is Hym8563TS. This chip has the
following characteristics:
a. Wide work voltage range:1.0~5.5v
b. Low dormant current:Typical value 0.25μA(VDD =3.0V, TA =25°C)

4) After connecting the RTC battery on the development board, use the following
method to test whether the RTC has been working normally:
a. First turn on the system, then record the current time of the system

337
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Then use the Poweroff command to turn off the system normally
c. Then unplug the power supply to ensure that the development board does not
access the network cable and wireless WiFi, and wait a few minutes
d. Then start the system again. If you see the time walk forward for a few minutes
after entering the system, it means that the RTC module and the battery work
normally

5) See the command of the RTC information through the ProcFS interface of the Linux
system
orangepi@orangepi:~$ cat /proc/driver/rtc
rtc_time : 06:07:40
rtc_date : 2023-05-22
alrm_time : 03:36:00
alrm_date : 2023-05-23
alarm_IRQ : no
alrm_pending : no
update IRQ enabled : no
periodic IRQ enabled : no
periodic IRQ frequency : 1
max user IRQ frequency : 64
24hr : yes

3.37. How to use the cooling PWM fan

1) The development board is used for interfaces that connect the heat sink fan. The
interface specifications are 2pin 1.25mm spacing, 5V voltage driver, and the position of
the fan interface is shown in the figure below:

338
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) The fan on the development board can adjust the speed and switch through PWM, and
the PWM pins used are PWM3_IR_M1

3) The Linux system uses the pwm-fan driver to control the fan by default. The DTS
configuration used is shown below:
orange-pi-5.10-rk3588/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts

fan: pwm-fan {
compatible = "pwm-fan";
#cooling-cells = <2>;
pwms = <&pwm3 0 50000 0>;
cooling-levels = <0 50 100 150 200 255>;
rockchip,temp-trips = <
50000 1
55000 2
60000 3
65000 4
70000 5
>;

status = "okay";
};

Among it:
a. pwms = <&pwm3 0 50000 0>:The PWM of the control fan is PWM3。
b. cooling-levels = <0 50 100 150 200 255>:It is used to configure the gear of the
speed (PWM duty cycle). The number and size of the gear can be defined by
itself. Here are 6 gears. The range of the speed is 0-255。
c. rockchip,temp-trips : It is used to configure the corresponding relationship
between the CPU temperature and the fan speed gear. It can be adjusted
according to actual needs. The above configuration 50 degrees corresponding
gear 1, 70 degrees to the corresponding gear 5。
It is normal to find that the fan does not turn after turning, because the temperature of the CPU after
booting is generally lower than 50 degrees. Only when the temperature of the CPU reaches 50 degrees, the fan

339
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

will start to turn。

Use the following commands to make all CPUs run, and then you can see that the fan will start working:
orangepi@orangepi:~$ for i in $(seq 0 $(( $(nproc --all) - 1)) ); do (taskset -c $i yes > /dev/null &); done

3.38. How to use the ZFS file system

3.38.1. How to install ZFS

Before installing zfs, please ensure that the Linux image used is the latest
version. In addition, if zfs is already installed in the system, there is no need to
install it again.

Before installing zfs, you need to install the kernel header file first. For the method
of installing the kernel header file, please refer to the instructions in the section on the
method of installing the kernel header file.
In Ubuntu20.04, Ubuntu22.04 and Debian11 systems, zfs cannot be installed directly
through apt, because the default apt source zfs version is lower than 2.1.6, and there is a
problem of incompatibility with rk linux5.10 kernel. This problem is fixed in zfs version
2.1.6 and later.
To solve this problem, we provide a zfs deb package that can be installed normally,
which can be downloaded from the official tool of the development board. Open the
official tool, and then enter the zfs-related deb package folders used by Ubuntu and
Debian systems. You can see three types of deb packages: Ubuntu20.04, Ubuntu22.04
and Debian11. Please download the required version.

After downloading the zfs deb packages of the corresponding version, please upload
them to the Linux system of the development board. For the upload method, please refer

340
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

to the description in the section of the method of uploading files to the Linux system of
the development board.
After the upload is complete, use the cd command in the command line of the
development board linux system to enter the deb package directory, and then use the
following command to install the zfs deb package.
orangepi@orangepi:~$ sudo apt install ./*.deb

After the installation is complete, use the following command to see the zfs-related
kernel modules:
orangepi@orangepi:~$ ls /lib/modules/5.10.160-rockchip-rk3588/updates/dkms/
icp.ko spl.ko zavl.ko zcommon.ko zfs.ko zlua.ko znvpair.ko zunicode.ko
zzstd.ko

Then restart the Linux system to see that the zfs kernel module will be automatically
loaded:
orangepi@orangepi:~$ lsmod | grep "zfs"
zfs 2801664 0
zunicode 327680 1 zfs
zzstd 471040 1 zfs
zlua 139264 1 zfs
zcommon 69632 1 zfs
znvpair 61440 2 zfs,zcommon
zavl 16384 1 zfs
icp 221184 1 zfs
spl 77824 6 zfs,icp,zzstd,znvpair,zcommon,zavl

In Debian12, the default version of zfs is 2.1.11, so we can install zfs directly through
the following command. Again, please make sure that the system has installed the deb
package of the kernel header file before installation.
orangepi@orangepi:~$ sudo apt install -y zfsutils-linux zfs-dkms

3.38.2. Methods of creating ZFS pools

ZFS is based on storage pools, we can add multiple physical storage devices to
the pool, and then allocate storage space from this pool.
The following content is demonstrated based on the development board

341
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

connected to an NVMe SSD and a USB flash drive.

1) First, we can use the lsblk command to view all storage devices on the development
board. The current development board is connected to an NVMe SSD and a U disk. The
output is as follows:

2) Then enter the following command to create a ZFS pool, including two storage
devices, NVMe SSD and U disk
orangepi@orangepi:~$ sudo zpool create -f pool1 /dev/nvme0n1 /dev/sda

3) Then use the zpool list command to see that the system has created a ZFS pool named
pool1, and the size of the ZFS pool pool1 is the size of the NVME SSD plus the size of
the U disk

4) Then execute df -h to see that pool1 is mounted to the /pool1 directory


orangepi@orangepi:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.6G 18M 1.6G 2% /run
/dev/mmcblk0p2 29G 6.0G 22G 22% /
tmpfs 7.7G 46M 7.7G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 7.7G 944K 7.7G 1% /tmp
/dev/mmcblk0p1 1022M 115M 908M 12% /boot

342
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

/dev/zram1 188M 4.5M 169M 3% /var/log


tmpfs 1.6G 80K 1.6G 1% /run/user/1000
pool1 489G 9.3M 489G 1% /pool1

5) Use the following command to see that the file system type of pool1 is zfs
orangepi@orangepi:~$ mount | grep pool1
pool1 on /pool1 type zfs (rw,xattr,noacl)

6) Then we can test copying a file to the ZFS pool


orangepi@orangepi:~$ sudo cp -v /usr/local/test.mp4 /pool1/
'/usr/local/test.mp4' -> '/pool1/test.mp4'

3.38.3. Test the data deduplication function of ZFS


1) The data deduplication function of ZFS is disabled by default, we need to execute the
following command to enable it
orangepi@orangepi:~$ sudo zfs set dedup=on pool1

2) Then do a simple test, first enter pool1, and then execute the following command to
generate a random file with a size of 1G
orangepi@orangepi:~$ cd /pool1/
root@orangepi:/pool1$ sudo dd if=/dev/urandom of=test.1g bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.04367 s, 213 MB/s

3) Then use the following command to copy 1000 random files of size 1G
root@orangepi:/pool1$ for ((i=0; i<1000; i++)); do sudo cp test.1g $i.test.1g; done

4) Then use du -lh to see that there are currently 1002G of data in the pool, but in fact
the size of the ZFS pool is only 504GB (the total capacity of SSD+U disk), which cannot
hold such a large amount of data
root@orangepi:/pool1$ du -lh
1002G

5) Then use the zpool list command to see that only 1.01G is actually occupied, because

343
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

these 1001 files are all duplicates, indicating that the data deduplication function is
effective.

3.38.4. Test the data compression function of ZFS


1) Because the stored data is different, the disk space saved by compression will also be
different, so we choose to compress relatively large plain text files for compression
testing, and execute the following commands to pack the /var/log/ and /etc/ directories
into a tarball
orangepi@orangepi:~$ cd /pool1/
root@orangepi:/pool1$ sudo tar -cf text.tar /var/log/ /etc/

2) Then the file size that can be seen through the ls -lh command and the space occupied
in the ZFS pool are both 27M

3) Then we enable compression in the ZFS pool pool1


root@orangepi:/pool1$ sudo zfs set compression=lz4 pool1

4) Then execute the following command again to package the /var/log/ and /etc/
directories into a tar package
root@orangepi:/pool1$ sudo tar -cf text.tar /var/log/ /etc/

5) At this time, you can see that the size of the text.tar file is still 27M, but it only
occupies 9.47M in the ZFS pool, indicating that the file is compressed

344
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.39. How to install and use CasaOS

CasaOS is an open source home cloud system based on the Docker ecosystem,
which allows you to run a variety of home applications on your own development
board, such as NAS, home automation, media servers, etc.

There are many problems with installing CasaOS in Debian12, please do not use
this method to install.
3.39.1. CasaOS installation method
1) First you need to install docker. Docker is already pre-installed in the system released
by Orangepi Pi. This step can be skipped. You can use the following command to check
the version of docker installed.
orangepi@orangepi:~$ docker --version
Docker version 24.0.2, build cb74dfc # Ubuntu Jammy system output

2) Then enter the following command in the linux system to start the installation of
CasaOS
orangepi@orangepi:~$ curl -fsSL https://get.casaos.io | sudo bash

3) When you see the terminal outputting the following print information, it means that
CasaOS has been installed.

345
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3.39.2. How to use CasaOS


1) After installing CasaOS, enter http://the IP address of the development board in the
browser to open CasaOS

2) After opening CasaO, the following welcome interface will pop up. Click "Go" to
proceed to the next step.

3) When you log in to CasaOS for the first time, the login interface is the interface for
setting the account and password. When you log in again, only the interface for entering
the account and password will appear. After setting the account and password, click
"Create" to proceed to the next step.

346
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Click "Accept" directly in the interface below to proceed to the next step.

5) Now enter the main page of CasaOS. There are three icons in the upper left corner for
function settings. On the left is the performance panel, which can display the current time
and status information of CPU, RAM, storage, and network. On the right is the function
panel. It has functions such as search, application recommendation, application store and
file management.

347
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) You can click the first icon in the upper left corner to modify the account number and
password

7) You can click the second icon to set basic functions

348
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) The third icon in the upper left corner mainly has two functions, namely switching to
command line mode and printing log information. When switching to command line
mode, you need to enter your account and password. The account and password here refer
to the development board. Linux system account and password, the port system defaults
to number 22

9) Then click "Connect" to enter the command line interface:

349
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) Another function under the third icon is to print CasaOS logs. Click "Logs" to enter.
The interface is as follows:

11) Click "Widget settings" in the lower left corner to set whether to display the widgets
of the performance panel on the main page.

350
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12) Click "APP Store" on the main interface to open the app store. Currently, there are a
total of 70+ APPs available in the app store.

13) Here we take Home Assistant as an example to download, find Home Assistant in the
APP Store, and then click the corresponding "install"

351
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

14) After the download is completed, HostAssitant will appear on the main page.

15) Click "Files" in the main interface to open the file system that comes with CasaOS,
and then you can upload and save files.
Please ensure that other devices and the development board are in the same
LAN.

352
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

16) When uploading files, you need to switch to the target folder, then drag the local
file to the indicated area in the picture, or click "Upload or Create" in the upper right
corner to select the file to upload.

353
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

17) If you want to uninstall CasaOS, you can use the following command:
orangepi@orangepi5:~$ casaos-uninstall

3.40. The method of shutting down and restarting the


development board
1) In the process of running the Linux system, if the Type-C power supply is directly out
of power, it may cause the file system to lose certain data or damage. Therefore, please
use the poweroff command to turn off the linux system of the development board before
power off. Then Unplug the power supply。
orangepi@orangepi:~$ sudo poweroff

2) In addition, the development board is equipped with a switch button, and you can also
short press the switch button on the development board to turn off。

354
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note that the Linux desktop system will pop up the confirmation box shown in
the figure below after pressing the buttons. You need to click the Shut Down option
to shut down.

3) After shutting down, press the switch button on the development board to turn on。

4) Restart the command of the Linux system.


orangepi@orangepi:~$ sudo reboot

4. Ubuntu22.04 Gnome Wayland Desktop system


instructions

ubuntu22.04 gnome image default pre -installed PanFork Mesa user space
library, pre -installed Kodi player and Chromium browser support hard solution
video.
It should be noted that this image needs to be used under Wayland. If you need

355
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

to use X11, select the XFCE type image.

4.1. Ubuntu22.04 GNOME desktop system adaptation


situation
Function Ubuntu22.04 Gnome Wayland
HDMI TX1video OK
HDMI TX1 Audio OK
HDMI TX2 video OK
HDMI TX2 Audio OK
HDMI RX video OK
HDMI RX Audio OK
USB2.0X2 OK
USB3.0X2 OK
2.5G PCIe network port OK
X2
2.5G PCIe network port OK
light
Debug serial port OK
RTC chip OK
FAN Fan interface OK
eMMC Extension ports OK
AP6275P-WIFI OK
AP6275P-BT OK
AX200-WIFI OK
AX200-BT OK
AX210-WIFI OK
AX210-BT OK
RTL8852BE-WIFI OK
RTL8852BE-BT OK
MaskROM button OK
Type-C to USB3.0 OK
Type-C ADB Function OK
Type-C DP video OK

356
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Type-C DP Audio OK
Switch button OK
Infrared function OK
Three -color LED light OK
MIC on board OK
Headphones play OK
Headset recording OK
SPK trumpet OK
40PIN GPIO OK
40PIN I2C OK
40PIN SPI OK
40PIN UART OK
40PIN CAN OK
40PIN PWM OK
TF card startup OK
SPI+NVMe startup OK
OV13850 Camera OK
OV13855 Camera OK
GPU OK
VPU OK
NPU OK
REBOOT Command OK
restart
Poweroff Command OK
shutdown
MIPI LCD show OK
MIPI LCD touch OK
Watch Dog Test OK
Chromium Hard OK
solution video
MPV Hard solution OK
video
Kodi Hard solution OK
video

357
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4.2. Confirm that the current window system used by the


system is Wayland
1) The system used by the system default is Wayland, and the confirmation method is
shown below:
a. First open the settings

b. Then select about, if the Wayland description settings displayed by Windowing


System in a column are correct

2) When the Log Out is out of the system, it will enter the login interface below

358
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Please click the location shown below before logging in to the system again

4) Then select Ubuntu on Wayland and enter the password login system

4.3. Switch the method of default audio equipment

1) Open the settings first

359
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then select Sound, and then select the audio device you want to use in Output
Device

4.4. GPU test method

1) Open a terminal on the desktop, and then enter the glmark2 command. If you can see
the Panfros after GL_VERDOR, This shows that it is used in GPU.
orangepi@orangepi:~$ glmark2

360
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) glmark2 running score test is generally more than 1,000 points

3) Run gpu_load.sh script to view the current load of the GPU


orangepi@orangepi:~$ gpu_load.sh

361
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4.5. Chromium browser hard solution to play video test


method
1) First open the chromium browser

2) Then enter chrome://gpu in the Chromium browser to view the support of GPU and
video decoding

362
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then you can open a video website to play a video file, or enter the following path
name player to play a test video file in the browser.
/usr/local/test.mp4

4) When playing the video, you can run the vpu_debug.sh script in the terminal. If there
is a print output in the lower right corner of the figure below, it means that there is a
hardware to decode the video.
orangepi@orangepi:~$ vpu_debug.sh

363
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4.6. Kodi hard solution to play video test method

Note that there will be problems with the Kodi display directly on the Wayland
desktop. Please open Kodi strictly according to the following method。

1) First log in the system

2) When the login system will enter the login interface below

3) Then click the location shown in the figure below

4) Then select Kodi Wayland, then enter the password login system

364
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) The interface after Kodi is opened is displayed as shown below

6) Then click Settings

7) Then select Player

365
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) Then select Videos, and then click Standard in the lower left corner

9) After clicking twice, it will be switched to the Expert mode. The specific display is
shown in the figure below

366
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) Then open the Allow using DRM PRIME decoder in the Processing settings

11) Then let's introduce a system's own test video test. You can also upload the video you
want to play to the system, and then import and play
a. First enter the main interface, then select Movies

367
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Then choose Add videos...

c. Then choose Browse

d. Then choose Root filesystem

368
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. Then choose usr

f. Then choose local

g. Then choose OK

369
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Then choose OK

i. Then choose OK

370
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

j. Then enter the Local folder

k. Then you can play test.mp4 test video

371
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12) When playing the video, you can run the vpu_debug.sh script under the command
line (via SSH or serial port). If there is a print output below, it means that there is a
hardware to decode the video
orangepi@orangepi:~$ vpu_debug.sh
[ 1830.938378] rk_vcodec: fdc48100.rkvdec-core:1 session 3573:2 time: 2728 us
[ 1830.938461] rk_vcodec: fdc38100.rkvdec-core:0 session 3573:2 time: 2617 us
[ 1830.941179] rk_vcodec: fdc48100.rkvdec-core:1 session 3573:2 time: 2661 us
[ 1830.941777] rk_vcodec: fdc38100.rkvdec-core:0 session 3573:2 time: 2708 us
[ 1830.944727] rk_vcodec: fdc48100.rkvdec-core:1 session 3573:2 time: 3444 us
[ 1830.945211] rk_vcodec: fdc38100.rkvdec-core:0 session 3573:2 time: 3331 us
[ 1830.970563] rk_vcodec: fdc48100.rkvdec-core:1 session 3573:2 time: 2547 us
[ 1831.199650] rk_vcodec: fdc38100.rkvdec-core:0 session 3573:2 time: 2703 us

13) Play test.mp4 video file CPU occupation rates of about 20%~ 30%。

4.7. Ubuntu22.04 Gnome to install ROS 2 Humble

1) You can install ROS2 with install_ros.sh script


orangepi@orangepi:~$ install_ros.sh ros2

2) install_ros.sh script will automatically run the ros2 -h command after ros2 is installed.
If you can see the printing below
usage: ros2 [-h] Call `ros2 <command> -h` for more detailed usage. ...

ros2 is an extensible command-line tool for ROS 2.

optional arguments:
-h, --help show this help message and exit

372
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Commands:
action Various action related sub-commands
bag Various rosbag related sub-commands
component Various component related sub-commands
daemon Various daemon related sub-commands
doctor Check ROS setup and other potential issues
interface Show information about ROS interfaces
launch Run a launch file
lifecycle Various lifecycle related sub-commands
multicast Various multicast related sub-commands
node Various node related sub-commands
param Various param related sub-commands
pkg Various package related sub-commands
run Run a package specific executable
security Various security related sub-commands
service Various service related sub-commands
topic Various topic related sub-commands
wtf Use `wtf` as alias to `doctor`

Call `ros2 <command> -h` for more detailed usage.

3) Then you can use the test_ros.sh script to test whether the ROS 2 is successfully
installed. If you can see the printing below, it means that the ROS 2 can run normally
orangepi@orangepi5plus:~$ test_ros.sh
[INFO] [1671174101.200091527] [talker]: Publishing: 'Hello World: 1'
[INFO] [1671174101.235661048] [listener]: I heard: [Hello World: 1]
[INFO] [1671174102.199572327] [talker]: Publishing: 'Hello World: 2'
[INFO] [1671174102.204196299] [listener]: I heard: [Hello World: 2]
[INFO] [1671174103.199580322] [talker]: Publishing: 'Hello World: 3'
[INFO] [1671174103.204019965] [listener]: I heard: [Hello World: 3]

4) Run the following command to open rviz2


orangepi@orangepi:~$ source /opt/ros/humble/setup.bash
orangepi@orangepi:~$ ros2 run rviz2 rviz2

373
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Reference document
http://docs.ros.org/en/humble/index.html
http://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

4.8. Set the Chinese environment and the method of


installing the Chinese input method
1) Open the settings first

2) Then find the Region & Language option, and then click Manage Installed
Languages options

374
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then use the left mouse button to select Chinese (China) and hold it down, and then
drag it up to the beginning. The display after the dragging is shown in the figure below:

375
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then select the Apply System-Wide to apply the Chinese settings to the entire system

5) Then restart the linux system to make the configuration effective

6) After re -entering the system, please choose not to ask me again at the interface
below, and then determine whether the standard folder should be updated to Chinese
according to your preference

376
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) Then you can see that the desktop is displayed as Chinese

8) Then open the Fcitx5 configuration program

377
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) Then choose to use Pinyin input method

10) The interface after selecting is shown below, then click OK

378
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) Then we can open the Chinese input method of Geany test, and the way to open is
shown in the figure below

12) After opening Geany, the default is an English input method. We can switch into
Chinese input method through the Ctrl+Space shortcut keys, and then we can enter

379
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Chinese

380
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5. Orange Pi OS Arch system use instructions

5.1. Orange Pi OS Arch system adaptation situation

Function OPi OS Arch Gnome OPi OS Arch Xfce(To be


released)
HDMI TX1 video OK OK
HDMI TX1 Audio OK OK
HDMI TX2 video OK OK
HDMI TX2 Audio OK OK
HDMI RX video OK OK
HDMI RX Audio OK OK
USB2.0X2 OK OK
USB3.0X2 OK OK
2.5G PCIe network OK OK
port X2
2.5G PCIe network OK OK
portlight
Debug serial port OK OK
RTC chip OK OK
FAN Fan interface OK OK
eMMC Extension OK OK
ports
AP6275P-WIFI OK OK
AP6275P-BT OK OK
AX200-WIFI OK OK
AX200-BT OK OK
AX210-WIFI OK OK
AX210-BT OK OK
RTL8852BE-WIFI OK OK
RTL8852BE-BT OK OK
MaskROM button OK OK
Type-C to USB3.0 OK OK

381
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Type-C DP video OK OK
Type-C DP Audio OK OK
Switch button OK OK
Infrared function OK OK
Three -color LED light OK OK
Board MIC OK OK
Headphones play OK OK
Headset recording OK OK
SPK trumpet OK OK
40PIN GPIO OK OK
40PIN I2C OK OK
40PIN SPI OK OK
40PIN UART OK OK
40PIN CAN OK OK
40PIN PWM OK OK
TF card startup OK OK
SPI+NVME start up OK OK
OV13850 Camera OK OK
OV13855 Camera OK OK
GPU OK OK
VPU OK OK
NPU NO NO
REBOOT Command OK OK
restart
Poweroff Command OK OK
shutdown
MIPI LCD show OK OK
MIPI LCD touch OK OK
Watch Dog Test OK OK
Chromium Hard NO NO
solution video
MPV Hard solution OK OK
video

382
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5.2. How to use the M.2 E-Key PCIE WIFI6+Bluetooth module

1) First of all, you need to buy a PCIE WIFI6+Bluetooth module


SN model Physical picture Supportive OS
1 AX200 Debian
(PCIE+USB Port) Ubuntu
OpenWRT
OPi OS Arch

2 AX210 Debian
(PCIE+USB Port) Ubuntu
OpenWRT
OPi OS Arch

3 RTL8852BE Debian
(PCIE+USB Port) Ubuntu
Android12
OPi OS Arch
OPi OS Droid

Pay attention to RTL8852BE, please do not buy the module shown in the figure
below, there will be problems after testing.

383
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then insert the WiFi module into the M.2 E-Key interface of the development board
and fix it

3) If everything is normal after the system starts, use the following command to see the
WIFI device nodea
[orangepi@orangepi ~]$ ip a
......
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
state UP group default qlen 1000
link/ether 38:7a:0e:e3:80:05 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.237/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
valid_lft 42938sec preferred_lft 42938sec
inet6 fe80::a098:5942:16e:e817/64 scope link noprefixroute
valid_lft forever preferred_lft forever

4) The steps connected to the wifi are shown below:


a. First click the area in the upper right corner of the desktop

b. Then choose Wi-Fi

384
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. Then select the WIFI you want to connect

d. Then enter the password of the wifi, and click Connect

e. Then enter the following interface to see the wifi connection

385
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Example of Bluetooth use:


a. First click the area in the upper right corner of the desktop

b. Then open the settings

386
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. Then select Bluetooth in the settings, and make sure that the switch button in the
upper right corner of the Bluetooth is opened

d. Then choose the Bluetooth device you want to configure the right, such as
pairing with Android phones

387
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. Then click Confirm, the mobile phone also needs to confirm the pairing

f. The display of the Bluetooth and Android phone is shown below:

g. Then click the paired Bluetooth device to pop up the operating interface shown
in the figure below

388
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Click Send Files...you can send a file to the phone

i. The schematic diagram of the Bluetooth sent pictures to the phone is shown
below:

389
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5.3. How to use 10.1 inch MIPI LCD screen

5.3.1. 10.1 -inch MIPI screen assembly method


1) First prepare the required accessories
a. 10.1 -inch MIPI LCD display+touch screen (common to OPI5/OPI5B)

b. Screen divert+31pin to 40pin exhaust

390
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. 30pin mipi line

d. 12pin touch screen line

2) According to the figure below, the 12PIN touch screen row, 31PIN to 40Pin line, and
30Pin MIPI cables get on the screen dial board. Pay attention to the blue insulation of
the touch screen row line face to down. If an error is connected, it will cause no display
or unable to touch..

3) Place the connected rotor connected to the puzzle on the MIPI LCD screen according
to the figure below, and connect the MIPI LCD screen and the rotary board through
31PIN to 40Pin row

391
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then connect the touch screen and the rotor board through the 12PIN touch screen
line, pay attention to the orientation of the insulating surface

5) Finally connect to the LCD interface of the development board through the 30PIN
MIPI duct.

392
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note that the touch interface below is not used for the LCD MIPI screen. It is
currently a spare interface and cannot be used.

5.3.2. How to open 10.1 -inch MIPI LCD screen configuration


1) The position of the interface of the MIPI LCD screen on the development board is
shown in the figure below

2) OPi OS Arch image default is not to open the mipi lcd screen configuration. If you
need to use the mipi lcd screen, you need to open it manually. The method of opening the
mipi lcd configuration is shown below:
a. First add the following configuration in/boot/extlinux/extlinux.conf
[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf
LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-opi5plus-lcd.dtbo #The configuration that
needs to be added
b. Then restart the OPi OS Arch system

393
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) After restarting, you can see the display of the LCD screen as shown below (default
vertical screen):

5.3.3. Method of rotating display and touch direction


1) First click the area in the upper right corner of the desktop

2) Then open the settings

3) Then choose Displays

394
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then select the direction you want to rotate in the Orientation of Displays

5) Then choose Apply

395
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then you can see that the screen has been rotated. At this time, you need to choose
Keep Changes to determine the rotation

7) The display of the LCD screen after 90 degrees is shown below:

8) The touch function of the OPi OS Arch system LCD screen will rotate with the
rotation of the display direction without other settings.

396
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5.4. OV13850 and OV13855 MIPI test methods for testing

At present, the development board supports two MIPI cameras, OV13850 and
OV13855. The specific pictures are shown below:
a. OV13850 camera of 13 million MIPI interface

b. 13 million MIPI interface OV13855 camera

The rotary board used by OV13850 and OV13855 cameras is the same as the FPC
cable, but the two cameras are different from the position on the rotary board. The FPC
lines are shown in the figure below. Please note that the FPC line is directed. It is marked
that the TO MB must be inserted into the camera interface of the development board. It is
marked that the end of TO CAMERA needs to be inserted on the camera transfer board。

There are a total of 3 cameras on the camera to connect to the board, which can only
be used at the same time, as shown in the figure below, of which:
a. No. 1 interface is connected to the OV13850 camera
b. No. 2 interface connected OV13855 camera
c. No. 3 interface is not used, just ignore it.

397
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Orange Pi 5 Plus development board has a total of 1 camera interface, which is


shown below:

The method of the camera inserted on the development board interface is shown
below:

After connecting the camera to the development board, we can use the following
method to test the next camera:
a. First add the following configuration in /boot/extlinux/extlinux.conf
[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf
LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-opi5plus-ov13850.dtbo

The red font demonstrates the configuration of the camera interface ov13850. The

398
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

other configurations are shown in the table below, and the corresponding DTBO
configuration can be added behind FDTOVERLAYS。
Camera Dtbo configuration
connect ov13850 /dtbs/rockchip/overlay/rk3588-opi5plus-ov13850.dtbo
connect ov13855 /dtbs/rockchip/overlay/rk3588-opi5plus-ov13855.dtbo

b. Then restart the OPi OS Arch system


c. Then open a terminal in the desktop system and run the script below
orangepi@orangepi:~$ test_camera.sh
d. Then you can see the preview of the camera

5.5. Set the Chinese environment and the method of


installing the Chinese input method
1) First click the area in the upper right corner of the desktop

399
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then open the settings

3) Then find the Region & Language option

4) Then choose Language

400
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then select Chinese

6) then click Select

401
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) Then click Logout... log in to the system, and then log in to the system

8) Then you can see that the desktop is displayed as Chinese

402
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) Then install fcitx-im and fcitx-configtool


[orangepi@orangepi ~]$ sudo pacman -S fcitx-im fcitx-configtool
:: There are 3 members in the group fcitx-im:
:: Software warehouse Community
1) fcitx 2) fcitx-qt5 3) fcitx-qt6

Enter a selection (default = all selected): 1

10) Then open the Fcitx configuration program

403
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11) Then add Google Pinyin input method

12) Then we can open a terminal test in the Chinese input method. After opening the
terminal, if the English input method is still in English, we can switch to the Chinese

404
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

input method through the Ctrl+Space shortcut keys, and then you can enter Chinese

5.6. HDMI IN test method

1) The position of the development board HDMI In interface is shown below:

2) First use the HDMI to HDMI line shown below to output the HDMI output of other
devices to the HDMI In interface of the development board

3) The OPi OS Arch system HDMI in function is closed by default, and the opening
method is shown below:
a. First add the following configuration in /boot/extlinux/extlinux.conf
[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf

405
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-hdmirx.dtbo #The configuration
that needs to be added
b. Then restart the OPi OS Arch system

4) After restarting into the system, open a terminal on the desktop, and then run the
test_hdmiin.sh script
[orangepi@orangepi ~]$ test_hdmiin.sh

5) Then you can see the input screen of the HDMI in (the HDMI in in the figure below
shows the screen of the OPI5 development board HDMI output, and it is playing a video
at this time). test_hdmiin.sh script defaults to the audio entered by HDMI in to the
HDMI_TX1, HDMI_TX2 and ES8388 (representing speakers or headphones) of the
development board.

6) In addition to testing HDMI IN using test_hdmiin.sh, we can also use Qt V4L2 test
Utility to test HDMI in video (this method cannot test audio at present). The detailed
steps are shown below:
a. Enter the application list first

406
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Then find Qt V4L2 test Utility and open it

c. Then make sure Qt V4L2 test Utility recognizes the HDMI In device

d. Then click the location shown in the figure below to see the video entered by
HDMI In

407
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

e. The video window entered by HDMI In is shown below:

5.7. How to install wiringOP

Note that Wiringop has been pre -installed in the OPI OS Arch image released
by Orange PI. Unless Wiringop's code is updated, it is not necessary to re -download

408
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

and compile and install it,just use it directly.

After entering the system, you can run the gpio readall command. If you can see
the output below, it means that wiringOP is pre -installed and can be used normally

wiringOP is currently adapted to set the GPIO port input output, set the GPIO
port output high and low level, and set the function of pulling and down resistance.
It is impossible to use functions like hardware PWM.。

1) Download the code of wiringOP


[orangepi@orangepi ~]$ sudo pacman -Syy git
[orangepi@orangepi ~]$ git clone https://github.com/orangepi-xunlong/wiringOP.git -b next

Note that Orange Pi 5 Plus needs to download the code of the wiringOP next branch, please
don't miss the parameter of -b next。
If you have a problem with the download code from github, you can download the source
code compression package of wiringOp.tar.gz in the official tools of the Orange Pi 5 Plus data
download page

409
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Compile and install wiringOP


[orangepi@orangepi ~]$ sudo pacman -Syy make gcc
[orangepi@orangepi ~]$ cd wiringOP
[orangepi@orangepi wiringOP]$ sudo ./build clean
[orangepi@orangepi wiringOP]$ sudo ./build

3) Test the output of the GPIO Readall command as follows

5.8. 40 PIN interface GPIO, I2C, UART, SPI, CAN and PWM test

Note that if you need to set FDT Overlays to open multiple configurations at the same time, please use a
space to write in a line like the red font configuration below.

[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf


LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588s-orangepi-5.dtb

410
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-i2c1-m2.dtbo /dtbs/rockchip/overlay/rk3588-uart0-m2.dtbo

5.8.1. 40 PIN GPIO port test


1) A total of 28 GPIO ports can be used in the development board 40 PIN. Below is No.
7 pins -corresponding to GPIO1_D6 -corresponding WPI serial number 2 -as an example
to demonstrate how to set the high and low level of the GPIO port

2) First set the GPIO port as the output mode. The third parameter needs to enter the
serial number of the wpi corresponding to the pins
[orangepi@orangepi ~]$ gpio mode 2 out

3) Then set the GPIO port output low level. After setting, you can use the value of the
voltage of the pins with a multimeter. If it is 0V, it means that the low -power flat is set
[orangepi@orangepi ~]$ gpio write 2 0

4) Then set the GPIO port output high level. After setting, you can use the value of the
voltage of the pins with a multimeter. If it is 3.3V, it means that the high -power flat is set
to be successful
[orangepi@orangepi ~]$ gpio write 2 1

1) The setting method of other pins is similar. Just modify the serial number of the wpi
serial number as the corresponding serial number.
5.8.2. 40 PIN GPIO Port -to -Plattering resistance setting method
1) Below the No. 7 pin — corresponding to GPIO1_D6 -corresponding WPI serial
number 2 -to demonstrate how to set up and down pull -down resistance of the GPIO port

411
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) First of all, you need to set the GPIO port as the input mode. The third parameter
needs to enter the serial number of the wpi corresponding to the pins
[orangepi@orangepi ~]$ gpio mode 2 in

3) After the setting is set to input mode, execute the following command to set the GPIO
port as the pull -down mode
[orangepi@orangepi ~]$ gpio mode 2 up

4) Then enter the following command to read the level of the GPIO port. If the level is 1,
it means that the drawing mode is successful
[orangepi@orangepi ~]$ gpio read 2
1

5) Then execute the following command to set the GPIO port as the drop-down mode
[orangepi@orangepi ~]$ gpio mode 2 down

6) Then enter the command below to read the level of the GPIO port. If the level is 0, it
means that the drop -down mode is set successfully
[orangepi@orangepi ~]$ gpio read 2
0

5.8.3. 40 PIN SPI test


1) As can be seen from the figure below, the SPI available for Orange Pi 5 Plus is SPI0
and SPI4

412
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) The corresponding pins corresponding to SPI0 and SPI4 are shown in the table below.
SPI4_M1 and SPI4_M2 can only be used at the same time, and they cannot be used at the
same time. They are the same SPI4, but they are just getting different pins. Please don't
think that they are two different SPI bus。
SPI0_M2 to 40pin SPI4_M1 to 40pin SPI4_M2 to 40pin
MOSI No. 19 pins No. 12 pins No. 8 pins
MISO No. 21 pins No. 31 pins No. 10 pins
CLK No. 23 pins No. 35 pins No. 22 pins
CS0 No. 24 pins No. 40 pins No. 31 pins
CS1 No. 26 pins No. 38 pins None

3) In the Linux system, the SPI in 40 PIN is closed by default, and it needs to be opened
manually to use. The detailed steps are shown below:
a. First add the following configuration to the /boot/extlinux/extlinux.conf
[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf
LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-spi0-m2-cs0-cs1-spidev.dtbo

The red font demonstrated the configuration of opening the SPI0-M2 and using the
CS0 and CS1 pin. The other configurations are shown in the table below, and the
corresponding dtbo configuration can be added to FDTOVERLAYS
SPI bus dtbo configuration
SPI0_M2-cs0 /dtbs/rockchip/overlay/rk3588-spi0-m2-cs0-spidev.dtbo
SPI0_M2-cs1 /dtbs/rockchip/overlay/rk3588-spi0-m2-cs1-spidev.dtbo
SPI0_M2-cs0-cs1 /dtbs/rockchip/overlay/rk3588-spi0-m2-cs0-cs1-spidev.dtbo
SPI4_M1-cs0 /dtbs/rockchip/overlay/rk3588-spi4-m1-cs0-spidev.dtbo

413
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

SPI4_M1-cs1 /dtbs/rockchip/overlay/rk3588-spi4-m1-cs1-spidev.dtbo
SPI4_M1-cs0-cs1 /dtbs/rockchip/overlay/rk3588-spi4-m1-cs0-cs1-spidev.dtbo
SPI4_M2-cs0 /dtbs/rockchip/overlay/rk3588-spi4-m2-cs0-spidev.dtbo

b. Then restart the OPi OS Arch system

4) After the restart, enter the system first to check whether there is a spidevx.x device
node in the Linux system. If it exists, it means that the SPI has been set and can be used
directly
[orangepi@orangepi ~]$ ls /dev/spidev*
/dev/spidev0.0 /dev/spidev0.1 /dev/spidev4.0 /dev/spidev4.1

The above is the result displayed after opening the spi0-m2-cs0-cs1-spidev and
spi4-m1-cs0-cs1-spidev

5) Then do not connect the SPI0 or SPI4 MOSI and MISO pins, and run the output result
of the spidev_teest as shown below. You can see that the data of TX and RX are
inconsistent
[orangepi@orangepi ~]$ sudo spidev_test -v -D /dev/spidev4.0
Or
[orangepi@orangepi ~]$ sudo spidev_test -v -D /dev/spidev0.0
spi mode: 0x0
bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF F0 0D | ......@....▒..................▒.
RX | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF | ................................

6) Then the output of spidev_test, which is then connected to SPI0 or SPI4 MOSI and
MISO, is as follows. You can see that the sending and receiving data can be seen,
indicating that the SPI loop test is normal
[orangepi@orangepi ~]$ sudo spidev_test -v -D /dev/spidev4.0
Or
[orangepi@orangepi ~]$ sudo spidev_test -v -D /dev/spidev0.0

414
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

spi mode: 0x0


bits per word: 8
max speed: 500000 Hz (500 KHz)
TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF F0 0D | ......@....▒..................▒.
RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF F0 0D | ......@....▒..................▒.

5.8.4. 40 pin I2C test


1) From the table below, the I2C available for Orange Pi 5 Plus is I2C2, I2C4, I2C5, and
I2C8. There are four groups of I2C bus

2) The corresponding pins corresponding to the 4 group I2C bus are shown below.
I2C2_M0 and I2C2_M4 can only be used at the same time, and they cannot be used at the
same time. They are the same I2C2, but they only receive different pins. Please don't
think that they are two different I2C2 bus
I2C bus SDA to 40pin SCL to 40pin
I2C2_M0 No. 3 pin No. 5 pin
I2C2_M4 No. 10 pin No. 8 pin
I2C4_M3 No. 22 pin No. 32 pin
I2C5_M3 No. 27 pin No. 28 pin
I2C8_M2 No. 29 pin No. 7 pin

3) In the Linux system, the I2C bus in 40 PIN is closed by default, and it needs to be
opened manually to use. The detailed steps are shown below:
a. First add the following configuration in /boot/extlinux/extlinux.conf.
[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf
LABEL Orange Pi
LINUX /Image

415
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-i2c2-m0.dtbo

The red font on the above demonstrates the configuration of the i2c2-m0. The other
configurations are shown in the table below, and the corresponding dtbo configuration
can be added behind FDTOVERLAYS
I2C bus dtbo configuration
I2C2_M0 /dtbs/rockchip/overlay/rk3588-i2c2-m0.dtbo
I2C2_M4 /dtbs/rockchip/overlay/rk3588-i2c2-m4.dtbo
I2C4_M3 /dtbs/rockchip/overlay/rk3588-i2c4-m3.dtbo
I2C5_M3 /dtbs/rockchip/overlay/rk3588-i2c5-m3.dtbo
I2C8_M2 /dtbs/rockchip/overlay/rk3588-i2c8-m2.dtbo

b. Then restart the OPi OS Arch system

4) After starting the linux system, first confirm that there is a device node that needs to
be used under the/dev
orangepi@orangepi:~$ ls /dev/i2c-*

5) Then connect a I2C device on the I2C pin corresponding to the 40 PIN interface

6) Then use the i2cdetect -y command to detect the address of the connected i2c device,
which means that the i2c can be used normally
[orangepi@orangepi ~]$ sudo pacman -S i2c-tools #First of all, I2C tools
[orangepi@orangepi ~]$ sudo i2cdetect -y 2 #i2c2 test command
[orangepi@orangepi ~]$ sudo i2cdetect -y 4 #i2c4 test command
[orangepi@orangepi ~]$ sudo i2cdetect -y 5 #i2c5 test command
[orangepi@orangepi ~]$ sudo i2cdetect -y 8 #i2c8 test command

5.8.5. 40 Pin's UART test


1) As can be seen from the table below, the UART available for Orange Pi 5 Plus is
UART1, UART3, UART4, UART6, UART7, and UART8. There are 6 sets of UART bus

416
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) In the Linux system, the UART in 40 pin is closed by default, and it needs to be
opened manually to use. The detailed steps are shown below:
a. First add the following configuration to the/boot/extlinux/extlinux.conf
[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf
LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-uart1-m1.dtbo

The red font demonstrates the configuration of the uart1-m1. The other
configurations are shown in the table below, and the corresponding dtbo configuration
can be added behind FDTOVERLAYS
UART bus dtbo configuration
UART1_M1 /dtbs/rockchip/overlay/rk3588-uart1-m1.dtbo
UART3_M1 /dtbs/rockchip/overlay/rk3588-uart3-m1.dtbo
UART4_M2 /dtbs/rockchip/overlay/rk3588-uart4-m2.dtbo
UART6_M1 /dtbs/rockchip/overlay/rk3588-uart6-m1.dtbo
UART7_M2 /dtbs/rockchip/overlay/rk3588-uart7-m2.dtbo
UART8_M1 /dtbs/rockchip/overlay/rk3588-uart8-m1.dtbo

b. Then restart the OPI OS Arch system

3) After entering the Linux system, first confirm whether there is a device node
corresponding to UART under the/dev
[orangepi@orangepi ~]$ ls /dev/ttyS*

4) Then start testing the UART interface, and first use the RX and TX pins of the UART
interface to be tested by DuPont

417
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

UART bus RX to 40pin TX to 40pin


UART1_M1 No. 27 pin No. 28 pin
UART3_M1 No. 18 pin No. 16 pin
UART4_M2 No. 19 pin No. 23 pin
UART6_M1 No. 10 pin No. 8 pin
UART7_M2 No. 24 pin No. 26 pin
UART8_M1 No. 40 pin No. 35 pin

5) Use the gpio serial command to test the loop function of the serial port as shown
below. If you can see the printed below, it means that the serial port communication is
normal (TTYSX needs to be replaced with a node name corresponding to UART, please
do not copy it)
[orangepi@orangepi ~]$ sudo gpio serial /dev/ttySX
[sudo] password for orangepi: #Enter the password here

Out: 0: -> 0
Out: 1: -> 1
Out: 2: -> 2
Out: 3: -> 3
Out: 4: -> 4
Out: 5: -> 5^C

5.8.6. PWM test method


1) From the table below, the PWMs available for Orange Pi 5 Plus include PWM0,
PWM1, PWM11, PWM12, PWM13, and PWM14 a total of six PWM

2) The corresponding pins of PWM in 40pin are shown below. PWM0_M0 and
PWM0_M2, PWM1_M0 and PWM1_M2, PWM14_M0 and PWM14_M2 can only be
used at the same time. They cannot be used at the same time. They are the same PWM,

418
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

but they only get different pins. Please think that they are two different PWM bus
PWM bus Corresponding
40pin
PWM0_M0 No. 5 pin
PWM0_M2 No. 22 pin
PWM1_M0 No. 3 pin
PWM1_M2 No. 32 pin
PWM11_M0 No. 12 pin
PWM12_M0 No. 14 pin
PWM13_M0 No. 16 pin
PWM14_M0 No. 33 pin
PWM14_M2 No. 7 pin

3) In the Linux system, the PWM in 40 PIN is closed by default, and it needs to be
opened manually to use. The detailed steps are shown below:
a. First add the following configuration to the/boot/extlinux/extlinux.conf
[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf
LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-pwm0-m0.dtbo

The red font demonstrates the configuration of the pwm0-m0. The other
configurations are shown in the table below, and the corresponding dtbo configuration
can be added behind FDTOVERLAYS
PWM bus Dtbo configuration
PWM0_M0 /dtbs/rockchip/overlay/rk3588-pwm0-m0.dtbo
PWM0_M2 /dtbs/rockchip/overlay/rk3588-pwm0-m2.dtbo
PWM1_M0 /dtbs/rockchip/overlay/rk3588-pwm1-m0.dtbo
PWM1_M2 /dtbs/rockchip/overlay/rk3588-pwm1-m2.dtbo
PWM11_M0 /dtbs/rockchip/overlay/rk3588-pwm11-m0.dtbo
PWM12_M0 /dtbs/rockchip/overlay/rk3588-pwm12-m0.dtbo
PWM13_M0 /dtbs/rockchip/overlay/rk3588-pwm13-m0.dtbo
PWM14_M0 /dtbs/rockchip/overlay/rk3588-pwm14-m0.dtbo
PWM14_M2 /dtbs/rockchip/overlay/rk3588-pwm14-m2.dtbo

419
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Then restart the OPi OS Arch system

4) After opening a pwm,In the/sys/class/pwm/, there will be an additional pwmchipX (x


is a specific number). For example, after opening PWM14,viewing/sys/class/pwm/down
Pwmchipx will change from two to three.
[orangepi@orangepi ~]$ ls /sys/class/pwm/
pwmchip0 pwmchip1 pwmchip2

5) Which pwmchip corresponds to pwm14 above? Let's first check out the output of ls
/sys/class/pwm/ -l command, as shown below:

6) Then from the table below, the base address of the PWM14 register is FEBF0020, and
then look at the output of the ls /sys/class/pwm/ -l command. You can see that the link in
PWMCHIP2 is connected to Febf0020.PWM, so the PWM14 corresponds to
PWMCHIP2

7) Then use the following command to allow the PWM14 to output a 50Hz square wave
(please switch to the root user first, and then execute the following command)
[root@orangepi ~]# echo 0 > /sys/class/pwm/pwmchip2/export

420
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

[root@orangepi ~]# echo 20000000 > /sys/class/pwm/pwmchip2/pwm0/period


[root@orangepi ~]# echo 1000000 > /sys/class/pwm/pwmchip2/pwm0/duty_cycle
[root@orangepi ~]# echo 1 > /sys/class/pwm/pwmchip2/pwm0/enable

8) The other pwm testing methods in the pwm14 demonstration above are similar。
5.8.7. CAN's test method

5.8.7.1. How to open a can

1) As can be seen from the table below, the Canal bus available for Orange Pi 5 Plus is
CAN0 and CAN1

2) In the Linux system, the Can in 40 PIN is closed by default and needs to be opened
manually to use. The detailed steps are shown below:

421
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a. First add the following configuration to the/boot/extlinux/extlinux.conf


[orangepi@orangepi ~]$ sudo vim /boot/extlinux/extlinux.conf
LABEL Orange Pi
LINUX /Image
FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb
FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-can0-m0.dtbo

The red font demonstrates the configuration of the can0-m0. The other
configurations are shown in the table below, and the corresponding dtbo configuration
can be added to FDTOVERLAYS
CAN bus Dtbo configuration
can0-m0 /dtbs/rockchip/overlay/rk3588-can0-m0.dtbo
can1-m0 /dtbs/rockchip/overlay/rk3588-can1-m0.dtbo

b. Then restart the OPI OS Arch system

3) After entering the Linux system, using the sudo ifconfig -a command If you can see
the CAN device node, it means that the CAN has been opened correctly
[orangepi@orangepi ~]$ sudo pacman -Syy net-tools
[orangepi@orangepi ~]$ sudo ifconfig -a
can0: flags=128<NOARP> mtu 16
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 94

can1: flags=128<NOARP> mtu 16


unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 95

422
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) The pins corresponding to the Can0 and Can1 are


CAN0 CAN1
TX Pin Corresponding to No. 5 Corresponding to No. 18
pin in 40pin pin in 40pin
RX Pin Corresponding to No. 3 Corresponding to No. 16
pin in 40pin pin in 40pin

5) Use Canalyst-II analyzer to test CAN receiving messages, please refer to the content
of the one-section of the Canalyst-II analyzer to test receive and send message

423
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6. Linux SDK——orangepi-build instructions

6.1. Compilation system requirements

We can cross-compile the Linux image of the development board on the x64
computer, or compile the Linux image of the development board on the
Ubuntu22.04 system of the development board, please choose one according to your
preference.

If you use orangepi-build to compile the Linux image in the Ubuntu22.04 system
of the development board, please do a good job of cooling (especially when the SSD
starts). If the heat dissipation is not done well, it is prone to the error of file system
runaway.
6.1.1. Compile with the Ubuntu22.04 system of the development
board
1) The Linux SDK, namely orangepi-build, supports running on the Ubuntu 22.04 of
the development board (other systems have not been tested), so before downloading
orangepi-build, please first ensure that the Ubuntu version installed on the development
board is Ubuntu 22.04. The command to check the Ubuntu version installed on the
development board is as follows. If the Release field does not display 22.04, it means that
the current Ubuntu version does not meet the requirements. Please replace the system
before performing the following operations.
orangepi@orangepi:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy

2) Since the source codes such as the kernel and U-boot are stored on GitHub, it is
very important to ensure that the development board can download codes from
GitHub normally when compiling the image.
6.1.2. Compile with x64 Ubuntu22.04 computer
1) The Linux SDK, orangepi-build, supports running on computers with Ubuntu 22.04

424
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

installed, so before downloading orangepi-build, please make sure that the Ubuntu
version installed on your computer is Ubuntu 22.04. The command to check the Ubuntu
version installed on the computer is as follows. If the Release field does not display 22.04,
it means that the current Ubuntu version does not meet the requirements. Please replace
the system before performing the following operations.
test@test:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04 LTS
Release: 22.04
Codename: jammy

2) If the computer is installed with Windows system and there is no computer with
Ubuntu 22.04 installed, you can consider using VirtualBox or VMware to install an
Ubuntu 22.04 virtual machine in the Windows system. But please be careful not to
compile orangepi-build on the WSL virtual machine, because orangepi-build has not been
tested in the WSL virtual machine, so it cannot be guaranteed that orangepi-build can be
used normally in WSL.

3) The download address of the installation image of Ubuntu 22.04 amd64 version is:
https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.3-desktop-amd64.iso
or
https://repo.huaweicloud.com/ubuntu-releases/22.04/ubuntu-22.04.3-desktop-amd64.iso

4) After installing Ubuntu 22.04 on the computer or virtual machine, please set the
software source of Ubuntu 22.04 to Tsinghua source, otherwise it is easy to make
mistakes due to network reasons when installing the software later
a. For the method of replacing Tsinghua source, please refer to the instructions on
this web page
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
b. Note that the Ubuntu version needs to be switched to 22.04

425
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. The content of the /etc/apt/sources.list file that needs to be replaced is


test@test:~$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
test@test:~$ sudo vim /etc/apt/sources.list
# By default, the source image is commented to improve the speed of apt update, you can uncomment it yourself if
necessary
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# Pre-release software source, not recommended to enable


# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

d. After the replacement, you need to update the package information and make
sure there is no error
test@test:~$ sudo apt update
e. In addition, since the source codes such as the kernel and U-boot are stored
on GitHub, it is very important to ensure that the computer can download
codes from GitHub normally when compiling the image.

426
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6.2. Get the source code of linux sdk

6.2.1. Download orangepi-build from github

1) The linux sdk actually refers to the code of orangepi-build. orangepi-build is modified
based on the armbian build system. Using orangepi-build, multiple versions of linux
images can be compiled. First download the code of orangepi-build, the command is as
follows:
test@test:~$ sudo apt-get update
test@test:~$ sudo apt-get install -y git
test@test:~$ git clone https://github.com/orangepi-xunlong/orangepi-build.git -b next

Note that the Orange Pi 5 Plus development board needs to download the source
code of the next branch of orangepi-build. The above git clone command needs to
specify the branch of the orangepi-build source code as next.

Downloading the orangepi-build code through the git clone command does not
require entering the user name and password of the github account (the same is true
for downloading other codes in this manual), if the Ubuntu PC prompts the user to
enter the github account after entering the git clone command The name and
password are usually entered incorrectly in the address of the orangepi-build

427
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

warehouse behind the git clone. Please check the spelling of the command carefully,
instead of thinking that we forgot to provide the username and password of the
github account.

2) The u-boot and linux kernel versions currently used by the development board are as
follows
branch u-boot version linux kernel version
legacy u-boot 2017.09 linux5.10

The branch mentioned here is not the same thing as the branch of the
orangepi-build source code, please do not confuse it. This branch is mainly used to
distinguish different kernel source code versions.
Currently, the linux5.10 bsp kernel provided by RK is defined as the legacy
branch. If the mainline kernel is supported in the future, a current branch will be
added.

3) orangepi-build will contain the following files and folders after downloading
a. build.sh: Compile the startup script
b. external: Contains the configuration files needed to compile the image, specific
scripts, and the source code of some programs, etc.
c. LICENSE: GPL 2 license file
d. README.md: orangepi-build documentation
e. scripts: General script for compiling linux images
test@test:~/orangepi-build$ ls
build.sh external LICENSE README.md scripts

If you downloaded the code of orangepi-build from github, after downloading,


you may find that orangepi-build does not contain the source code of u-boot and
linux kernel, nor does u-boot and linux kernel need to use cross-compilation tools
Chain, this is normal, because these things are stored in other separate github
warehouses or some servers (the addresses will be detailed below). orangepi-build
will specify the address of u-boot, linux kernel and cross-compilation toolchain in
the script and configuration file. When running orangepi-build, when it finds that
there are no such things locally, it will automatically go to the corresponding place
to download them.

428
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6.2.2. Download the cross-compilation toolchain


The cross-compilation toolchain will only be downloaded when the
orangepi-build compilation image is used on an x64 computer. Compiling the linux
image of the development board in the Ubuntu22.04 of the development board will
not download the cross-compilation toolchain. At this time,
orangepi-build/toolchains will be an empty folder.

1) When orangepi-build runs for the first time, it will automatically download the
cross-compilation toolchain and put it in the toolchains folder. Every time after running
the build.sh script of orangepi-build, it will check whether the cross-compilation
toolchain in toolchains exists , if it does not exist, the download will be restarted, if it
exists, it will be used directly, and the download will not be repeated.

2) The image URL of the cross-compilation toolchain in China is the open source
software image site of Tsinghua University
https://mirrors.tuna.tsinghua.edu.cn/armbian-releases/_toolchain/

3) After toolchains is downloaded, it will contain multiple versions of cross-compilation


toolchains, and the development board will only use two of them
test@test:~/orangepi-build$ ls toolchains/
gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu
gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf
gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu

429
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf
gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi
gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf
gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu
gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi
gcc-linaro-aarch64-none-elf-4.8-2013.11_linux
gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux
gcc-linaro-arm-none-eabi-4.8-2014.04_linux

4) The cross-compilation toolchain used to compile the linux kernel source code is
a. linux5.10
gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu

5) The cross-compilation tool chain used to compile the u-boot source code is
a. v2017.09
gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu
6.2.3. orangepi-build complete directory structure description
1) The orangepi-build repository does not contain the source code of the linux kernel,
u-boot, and cross-compilation toolchain after downloading. The source code of the linux
kernel and u-boot is stored in an independent git repository
a. The git warehouse where the linux kernel source code is stored is as follows:
https://github.com/orangepi-xunlong/linux-orangepi/tree/orange-pi-5.10-rk3588
b. The git warehouse where the u-boot source code is stored is as follows:
https://github.com/orangepi-xunlong/u-boot-orangepi/tree/v2017.09-rk3588

2) When orangepi-build runs for the first time, it will download the cross-compilation
toolchain, u-boot and linux kernel source code. After successfully compiling a linux
image, the files and folders that can be seen in orangepi-build are:
a.build.sh: compile startup script
b.external: Contains the configuration files needed to compile the image, scripts
with specific functions, and the source code of some programs. The rootfs
compressed package cached during the image compilation process is also stored in
external
c.kernel: stores the source code of the linux kernel. The folder named
orange-pi-5.10-rk3588 stores the kernel source code of the legacy branch of the

430
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

RK3588/RK3588S series development boards. Please do not manually modify the


name of the folder of the kernel source code. If it is modified, the kernel source code
will be re-downloaded when the compilation system is running
d.LICENSE: GPL 2 license file
e.README.md: orangepi-build documentation
f.output: Store compiled deb packages such as u-boot and linux, compilation logs,
and compiled images and other files
g.scripts: general scripts for compiling linux images
h.toolchains: store cross-compilation toolchain
i.u-boot: Store the source code of u-boot. The folder named v2017.09-rk3588 stores
the u-boot source code of the legacy branch of the RK3588/RK3588S series
development boards. Please do not name the folder name of the u-boot source code
Manual modification, if modified, the u-boot source code will be re-downloaded
when the compilation system is running
j.userpatches: Store configuration files needed to compile scripts
test@test:~/orangepi-build$ ls
build.sh external kernel LICENSE output README.md scripts toolchains
u-boot userpatches

6.3. Compile u-boot

1) Run the build.sh script, remember to add sudo permission


test@test:~/orangepi-build$ sudo ./build.sh

2) Select U-boot package, then press Enter

3) Then select the model of the development board

431
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then it will start to compile u-boot, and some information prompted during
compilation is explained as follows
a. u-boot source code version
[ o.k. ] Compiling u-boot [ v2017.09 ]
b. The version of the cross-compilation toolchain
[ o.k. ] Compiler version [ aarch64-linux-gnu-gcc 7.4.1 ]
c. Path to the generated u-boot deb package
[ o.k. ] Target directory [ orangepi-build/output/debs/u-boot ]
d. The package name of the generated u-boot deb package
[ o.k. ] File name [ linux-u-boot-legacy-orangepi5plus_1.0.0_arm64.deb ]
e. Compilation time
[ o.k. ] Runtime [ 1 min ]
f. Repeat the command to compile u-boot, use the following command to start
compiling u-boot directly without selecting through the graphical interface
[ o.k. ] Repeat Build Options [ sudo ./build.sh BOARD=orangepi5plus
BRANCH=legacy BUILD_OPT=u-boot KERNEL_CONFIGURE=no ]

5) View the u-boot deb package generated by compilation


test@test:~/orangepi-build$ ls output/debs/u-boot/
linux-u-boot-legacy-orangepi5plus_1.0.0_arm64.deb

432
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) The files contained in the generated u-boot deb package are as follows
a. Use the following command to decompress the deb package
test@test:~/orangepi-build$ cd output/debs/u-boot
test@test:~/orangepi_build/output/debs/u-boot$ $ sudo dpkg -x \
linux-u-boot-legacy-orangepi5plus_1.0.0_arm64.deb . (Note that there is a "." at
the end of the command)
test@test:~/orangepi_build/output/debs/u-boot$ ls
linux-u-boot-legacy-orangepi5plus_1.0.0_arm64.deb usr
b. The decompressed file is as follows
test@test:~/orangepi-build/output/debs/u-boot$ tree usr
usr
└── lib
├── linux-u-boot-legacy-orangepi5plus_1.0.0_arm64
│ ├── idbloader.img
│ ├── rkspi_loader.img
│ └── u-boot.itb
└── u-boot
├── LICENSE
├── orangepi_5_plus_defconfig
└── platform_install.sh

3 directories, 6 files

7) When the orangepi-bulid compilation system compiles the u-boot source code, it will
first synchronize the u-boot source code with the u-boot source code of the github server,
so if you want to modify the u-boot source code, you first need to turn off the download
and update function of the source code (need This function can only be turned off after
u-boot has been fully compiled, otherwise it will prompt that the source code of
u-boot cannot be found. If the source code compressed package is downloaded from
Google Drive, there is no such problem because the source code of u-boot cached),
otherwise the changes made will be restored, the method is as follows:
Set the IGNORE_UPDATES variable in userpatches/config-default.conf to "yes"
test@test:~/orangepi-build$ vim userpatches/config-default.conf
IGNORE_UPDATES="yes"

433
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) When debugging u-boot code, you can use the following method to update u-boot in
the linux image for testing
a. Upload the compiled u-boot deb package to the linux system of the development
board
test@test:~/orangepi-build$ cd output/debs/u-boot
test@test:~/orangepi_build/output/debs/u-boot$ scp \
linux-u-boot-legacy-orangepi5plus_1.0.0_arm64.deb [email protected]:/root
b. Then log in to the development board and uninstall the deb package of u-boot
installed
root@orangepi:~# apt purge -y linux-u-boot-orangepi5plus-legacy
c. Install the new u-boot deb package just uploaded
root@orangepi:~# dpkg -i linux-u-boot-legacy-orangepi5plus_1.0.0_arm64.deb
d. Then run the nand-sata-install script
root@orangepi:~# nand-sata-install
e. Then select 5 Install/Update the bootloader on SD/eMM to update the u-boot
in the TF card or 7 Install/Update the bootloader on SPI Flash to update the
u-boot in the SPI Flash

f. After pressing the Enter key, a Warning will pop up first

g. Press the Enter key again to start updating u-boot, and the following information
will be displayed after the update is completed

434
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

h. Then you can restart the development board to test whether the modification of
u-boot takes effect

9) Other useful information


a. u-boot 2017.09 source code, the defconfig configuration file used by the
development board is
orangepi-build/u-boot/v2017.09-rk3588/configs/orangepi_5_plus_defconfig
b. u-boot 2017.09 source code, the dts file used by the development board is
orangepi-build/u-boot/v2017.09-rk3588/arch/arm/dts/rk3588-orangepi-5-plus.dts

6.4. Compile the linux kernel

1) Run the build.sh script, remember to add sudo permission


test@test:~/orangepi-build$ sudo ./build.sh

2) Select Kernel package, then press Enter

3) Then select the model of the development board

435
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then it will prompt whether to display the kernel configuration interface. If you do
not need to modify the kernel configuration, select the first one. If you need to modify the
kernel configuration, select the second one.

5) If you choose to display the kernel configuration menu (the second option) in step 4),
the kernel configuration interface opened by make menuconfig will pop up. At this time,
you can directly modify the kernel configuration, save and exit after modification. Yes,
after exiting, the kernel source code will be compiled

436
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a. If you do not need to modify the configuration options of the kernel, when
running the build.sh script, pass in KERNEL_CONFIGURE=no to temporarily
block the pop-up kernel configuration interface
test@test:~/orangepi-build$ sudo ./build.sh KERNEL_CONFIGURE=no
b. You can also set KERNEL_CONFIGURE=no in the
orangepi-build/userpatches/config-default.conf configuration file, which can
permanently disable this function
c. If the following error is displayed when compiling the kernel, it is because the
terminal interface of the Ubuntu PC is too small to display the make menuconfig
interface. Please maximize the terminal of the Ubuntu PC and run the build.sh script
again

437
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Part of the information prompted when compiling the kernel source code is as follows
a. The version of the linux kernel source code
[ o.k. ] Compiling current kernel [ 5.10.160 ]
b. The version of the cross-compilation toolchain used
[ o.k. ] Compiler version [ aarch64-none-linux-gnu-gcc 11.2.1 ]
c. The configuration file used by the kernel by default and the path where it is
stored
[ o.k. ] Using kernel config file [ config/kernel/linux-rockchip-rk3588-legacy.config ]
d. The path of the deb package related to the kernel generated by compiling
[ o.k. ] Target directory [ orangepi-build/output/debs/ ]
e. The package name of the compiled kernel image deb package
[ o.k. ] File name [ linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb ]
f. The time used for compilation
[ o.k. ] Runtime [ 5 min ]
g. Finally, the compilation command to repeatedly compile the kernel selected last
time will be displayed. Use the following command to start compiling the kernel
source code directly without selecting through the graphical interface
[ o.k. ] Repeat Build Options [ sudo ./build.sh BOARD=orangepi5plus
BRANCH=legacy BUILD_OPT=kernel KERNEL_CONFIGURE=no ]

7) View the deb package related to the kernel generated by compilation


a. linux-dtb-legacy-rockchip-rk3588_1.0.0_arm64.deb Contains dtb files used by the kernel
b. linux-headers-legacy-rockchip-rk3588_1.0.0_arm64.deb Include kernel headers
c. linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb Contains kernel images and kernel

438
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

modules
test@test:~/orangepi-build$ ls output/debs/linux-*
output/debs/linux-dtb-legacy-rockchip-rk3588_1.0.0_arm64.deb
output/debs/linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb
output/debs/linux-headers-legacy-rockchip-rk3588_1.0.0_arm64.deb

8) The files contained in the generated linux-image deb package are as follows
a. Use the following command to decompress the deb package
test@test:~/orangepi-build$ cd output/debs
test@test:~/orangepi_build/output/debs$ mkdir test
test@test:~/orangepi_build/output/debs$ cp \
linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb test/
test@test:~/orangepi_build/output/debs$ cd test
test@test:~/orangepi_build/output/debs/test$ dpkg -x \
linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb .
test@test:~/orangepi_build/output/debs/test$ ls
boot etc lib linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb usr
b. The decompressed file is as follows
test@test:~/orangepi-build/output/debs/test$ tree -L 2
.
├── boot
│ ├── config-5.10.160-rockchip-rk3588
│ ├── System.map-5.10.160-rockchip-rk3588
│ └── vmlinuz-5.10.160-rockchip-rk3588
├── etc
│ └── kernel
├── lib
│ └── modules
├── linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb
└── usr
├── lib
└── share

9) The orangepi-bulid compilation system will first synchronize the linux kernel source
code with the linux kernel source code of the github server when compiling the linux

439
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

kernel source code, so if you want to modify the linux kernel source code, you first need
to turn off the update function of the source code (you need to compile it once This
function can only be turned off after the linux kernel source code, otherwise it will
prompt that the source code of the linux kernel cannot be found. If the source code
compressed package downloaded from Google Drive, there is no such problem,
because the source code of linux has been cached), otherwise the The changes made
will be reverted as follows:
Set the IGNORE_UPDATES variable in userpatches/config-default.conf to "yes"
test@test:~/orangepi-build$ vim userpatches/config-default.conf
IGNORE_UPDATES="yes"

10) If the kernel has been modified, the following method can be used to update the
kernel and kernel modules of the development board linux system
a. Upload the deb package of the compiled linux kernel to the linux system of the
development board
test@test:~/orangepi-build$ cd output/debs
test@test:~/orangepi-build/output/debs$ scp \
linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb [email protected]:/root
b. Then log in to the development board and uninstall the deb package of the
installed linux kernel
root@orangepi:~# apt purge -y linux-image-legacy-rockchip-rk3588
c. Install the deb package of the new linux kernel just uploaded
root@orangepi:~# dpkg -i linux-image-legacy-rockchip-rk3588_1.0.0_arm64.deb
d. Then restart the development board, and then check whether the kernel-related
modifications have taken effect
root@orangepi:~# reboot

10) Other useful information


a. The storage location of the kernel configuration file is as follows, please do not
go to the kernel source code to find the kernel configuration file used by the
development board
orangepi-build/external/config/kernel/linux-rockchip-rk3588-legacy.config
b. The location of the dts file used by the development board is
orangepi-build/kernel/orange-pi-5.10-rk35xx/arch/arm64/boot/dts/rockchip/rk3588-
orangepi-5-plus.dts

440
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6.5. Compile rootfs

1) Run the build.sh script, remember to add sudo permission


test@test:~/orangepi-build$ sudo ./build.sh

2) Select Rootfs and all deb packages, then press Enter

3) Then select the model of the development board

4) Then select the type of rootfs (mainly maintain bullseye/bookworm/focal/jammy at


present)

441
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then select the type of image


a. Image with console interface (server) Indicates the image of the server version,
which is relatively small
b. Image with desktop environment Indicates a mirror image with a desktop,
which is relatively large

6) If you are compiling the image of the server version, you can also choose to compile
the Standard version or the Minimal version. The pre-installed software of the Minimal
version will be much less than that of the Standard version (please do not choose the
Minimal version if there is no special requirement, because many things are not
pre-installed by default. Some functions may not be available)

7) If you are compiling the image of the desktop version, you also need to select the type
of desktop environment. Currently, Ubuntu Jammy mainly maintains XFCE and Gnome
desktops, Ubuntu Focal only maintains XFCE desktops, Debian Bullseye mainly
maintains XFCE and KDE desktops, and Debian Bookwork mainly maintains XFCE
desktops.

442
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

You can then select additional packages that need to be installed. Please press the
Enter key to skip directly here.

8) Then it will start to compile rootfs, and some of the information prompted during
compilation are as follows
a. The type of rootfs
[ o.k. ] local not found [ Creating new rootfs cache for jammy]
b. The storage path of the compiled rootfs compressed package
[ o.k. ] Target directory [ external/cache/rootfs ]
c. The name of the rootfs compressed package generated by compilation
[ o.k. ] File name [ jammy-xfce-arm64.f930ff6ebbac1a72108a2e100762b18f.tar.lz4 ]
d. The time used for compilation
[ o.k. ] Runtime [ 13 min ]

443
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) View the rootfs compressed package generated by compilation


a. jammy-xfce-arm64.f930ff6ebbac1a72108a2e100762b18f.tar.lz4 is the rootfs
compressed package, the meaning of each field of the name is
a) jammy indicates the type of linux distribution of rootfs
b) xfce means rootfs is the type of desktop version, if it is cli, it means the type
of server version
c) arm64 represents the architecture type of rootfs
d) f930ff6ebbac1a72108a2e100762b18f is the MD5 hash value generated by
the package names of all software packages installed by rootfs. As long as
the list of software packages installed by rootfs is not modified, this value
will not change. The compilation script will use this MD5 hash value to
generate Determine whether rootfs needs to be recompiled
b. jammy-xfce-arm64.f930ff6ebbac1a72108a2e100762b18f.tar.lz4.list lists the
package names of all packages installed by rootfs
test@test:~/orangepi-build$ ls external/cache/rootfs/
jammy-xfce-arm64.f930ff6ebbac1a72108a2e100762b18f.tar.lz4
jammy-xfce-arm64.f930ff6ebbac1a72108a2e100762b18f.tar.lz4.current
jammy-xfce-arm64.f930ff6ebbac1a72108a2e100762b18f.tar.lz4.list

10) If the required rootfs already exists under external/cache/rootfs, then compiling
rootfs again will directly skip the compilation process and will not restart the compilation.
When compiling the image, it will also go to external/cache/rootfs to find out whether it
has If there is rootfs available in the cache, use it directly, which can save a lot of
download and compilation time.

6.6. Compile linux image

1) Run the build.sh script, remember to add sudo permission


test@test:~/orangepi-build$ sudo ./build.sh

2) Select Full OS image for flashing, then press Enter

444
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then select the model of the development board

4) Then select the type of rootfs (mainly maintain bullseye/bookworm/focal/jammy at


present)

5) Then select the type of image


a. Image with console interface (server) Indicates the image of the server version,
which is relatively small

445
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. Image with desktop environment Indicates a image with a desktop, which is


relatively large

6) If you are compiling the image of the server version, you can also choose to compile
the Standard version or the Minimal version. The pre-installed software of the Minimal
version will be much less than that of the Standard version (please do not choose the
Minimal version if there is no special requirement, because many things are not
pre-installed by default. Some functions may not be available)

7) If you are compiling the image of the desktop version, you need to select the type of
desktop environment. Currently, Ubuntu Jammy mainly maintains XFCE and Gnome
desktops, Ubuntu Focal only maintains XFCE desktops, Debian Bullseye mainly
maintains XFCE and KDE desktops, and Debian Bookwork mainly maintains XFCE
desktop

You can then select additional packages that need to be installed. Please press the
Enter key to skip directly here.

446
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) Then it will start to compile the linux image. The general process of compilation is as
follows
a. Initialize the compilation environment of Ubuntu PC and install the software
packages required for the compilation process
b. Download the source code of u-boot and linux kernel (if cached, only update the
code)
c. Compile u-boot source code and generate u-boot deb package
d. Compile the linux source code and generate linux-related deb packages
e. Make the deb package of linux firmware
f. Make the deb package of the orangepi-config tool
g. Create a deb package supported by the board
h. If you are compiling the desktop image, you will also create desktop-related deb
packages
i. Check whether the rootfs has been cached, if not, recreate the rootfs, if it has been
cached, directly decompress and use
j. Install the previously generated deb package into rootfs
k. Make some specific settings for different development boards and different types
of images, such as pre-installing additional software packages, modifying system
configuration, etc.
l. Then make an image file and format the partition, the default type is ext4
m. Then copy the configured rootfs to the mirrored partition
n. Then update initramfs
o. Finally, write the bin file of u-boot into the image through the dd command

447
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9) After compiling the image, the following information will be prompted


a. The storage path of the compiled image
[ o.k. ] Done building
[ output/images/orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160/o
rangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.160.img ]
b. Compilation time
[ o.k. ] Runtime [ 19 min ]
c. Repeat the command to compile the image, and use the following command to
start compiling the image directly without selecting through the graphical
interface
[ o.k. ] Repeat Build Options [ sudo ./build.sh BOARD=orangepi5plus
BRANCH=legacy BUILD_OPT=image RELEASE=bullseye BUILD_MINIMAL=no
BUILD_DESKTOP=no KERNEL_CONFIGURE=yes ]

7. Linux Development Manual

7.1. The method of compiling the kernel source code


separately in the linux system of the development board
1) First download the Linux kernel source code of the development board
orangepi@orangepi:~$ git clone --depth=1 -b orange-pi-5.10-rk3588 https://github.com/orangepi-xunlong/linux-orangepi

If you have problems downloading the code from github, you can go to the
official tool of the development board to download the compressed kernel source
code package, then upload it to the linux system of the development board, and then

448
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

decompress it.

The command to decompress the compressed kernel source code package is:
orangepi@orangepi:~$ tar zxf orange-pi-5.10-rk3588.tar.gz
orangepi@orangepi:~$ mv orange-pi-5.10-rk3588 linux-orangepi

After decompression, please execute the following command to synchronize the


source code with github to ensure that the source code is in the latest state:
orangepi@orangepi:~$ cd linux-orangepi
orangepi@orangepi:~/linux-orangepi$ git pull

2) Then configure the default kernel configuration


orangepi@orangepi:~$ cd linux-orangepi
orangepi@orangepi:~/linux-orangepi$ make rockchip_linux_defconfig

The path of rockchip_linux_defconfig in the kernel source code is


arch/arm64/configs/

3) Then compile the kernel source code


orangepi@orangepi:~/linux-orangepi$ make -j10

4) Then install the kernel module


orangepi@orangepi:~/linux-orangepi$ sudo make modules_install

The installation path of the kernel module is:/lib/modules

After executing the sudo make modules_install command, you can see that there
will be an additional kernel module folder under /lib/modules/:
orangepi@orangepi5plus:~$ ls /lib/modules
5.10.160+ 5.10.160-rockchip-rk3588

449
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then install the kernel image and uInitrd


orangepi@orangepi:~/linux-orangepi$ sudo make install

The installation path of the kernel image and uInitrd is:/boot/

After executing the sudo make install command, you can see that there will be
one more kernel file under /boot/:
orangepi@orangepi5plus:~/orange-pi-5.10-rk3588$ ls /boot/vmlinuz*
/boot/vmlinuz-5.10.160+ /boot/vmlinuz-5.10.160-rockchip-rk3588

The file /boot/Image is actually loaded when the system starts, and Image is a
copy of the vmlinuz file

6) Then install the dtb file into /boot/dtb


orangepi@orangepi:~/linux-orangepi$ sudo make dtbs_install INSTALL_DTBS_PATH=/boot/dtb/

7) Then restart the Linux system and the newly compiled kernel will be loaded
orangepi@orangepi:~$ uname -r
5.10.160+

8. OpenWRT system instructions

8.1. OpenWRT version

OpenWRT version kernel version


v22.03.4 Linux5.10.110

450
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.2. OpenWRT Adaptation

Function OpenWRT
USB2.0x2 OK
USB3.0x2 OK
USB Type-C 3.0 OK
3pin debugging serial port OK
TF card start OK
SPIFlash+NVMe SSD Boot OK
SPIFlash boots the complete system OK
2.5G PCIe network port X2 OK
Network port status light OK
led light OK
FAN fan interface OK
AX200-WIFI OK
AX200-WIFI OK
eMMC extension interface OK

8.3. The first start to expand rootfs

1) When the OpenWRT system is started for the first time, the resize-rootfs.sh script
will be executed to expand the rootfs, and it will automatically restart after the expansion
is completed

2) After logging in to the system, you can use the df -h command to view the size of
rootfs. If it is consistent with the actual capacity of the storage device (TF card, eMMC or
NVME SSD), it means that the automatic expansion is running correctly
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 14.8G 14.7G 91.6M 99% /
tmpfs 495.5M 6.1M 489.4M 1% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/root 14.8G 14.7G 91.6M 99% /opt/docker

451
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.4. How to log in to the system

8.4.1. Login via serial port


1) First, to use the debugging serial port, please refer to the chapter on how to use the
debugging serial port

2) The OpenWrt system will automatically log in as the root user by default, and the
display interface is as follows

8.4.2. Log in to the system via SSH


Please note that in the OpenWrt system of Orange Pi 5 Plus, the network port
near the typeC power interface is configured as a WAN port by default, and the
network port near the HDMI port is configured as a LAN port by default.

1) First connect the LAN port of the board to the network port of the computer with a
network cable, so that the network port of the computer can obtain an IP address through
DHCP

2) The LAN port IP of the default board is set to 192.168.2.1, so the computer can obtain
the IP address starting with 192.168.2 at this time

3) If the computer is installed with an Ubuntu system, you can execute the following
command to log in to the system through SSH. By default, you can log in directly without

452
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a password
test@ubuntu:~$ ssh [email protected]

4) After successfully logging in to the system, the display is as shown in the figure below

5) If the computer is installed with Windows system, you can log in by referring to the
method introduced in the section of SSH remote login to the development board under
Windows.
8.4.3. Log in to the LuCI management interface
Please note that the OpenWRT system configures the network port near the
Type-C power port as a WAN port by default, and the network port near the HDMI
port as a LAN port by default.

1) First connect the LAN port of the board to the network port of the computer with a
network cable, so that the network port of the computer can obtain an IP address through

453
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

DHCP

2) The LAN port IP of the default board is set to 192.168.2.1, so the computer can obtain
the IP address starting with 192.168.2 at this time

3) Enter the IP address 192.168.2.1 in the browser on the computer to log in to the LuCI
interface

4) The OpenWrt system does not set a password by default, so just click the login
button. After successful login, the interface is displayed as shown in the figure below

8.4.4. Log in to the terminal through the LuCI management interface


Please note that the OpenWRT system configures the network port near the
Type-C power port as a WAN port by default, and the network port near the HDMI
port as a LAN port by default.

454
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1) First connect the LAN port of the board to the network port of the computer with a
network cable, so that the network port of the computer can obtain an IP address through
DHCP

2) The LAN port IP of the default board is set to 192.168.2.1, so the computer can obtain
the IP address starting with 192.168.2 at this time

3) Enter the IP address 192.168.2.1 in the browser on the computer to log in to the LuCI
interface

4) Select "Terminal" in the "Service" column of the navigation bar and click to enter

455
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) At this time, the terminal interface is as shown in the figure below

6) Enter the user name root to log in

456
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.4.5. Use IP address + port number to log in to the terminal


Please note that the OpenWRT system configures the network port near the
Type-C power port as a WAN port by default, and the network port near the HDMI
port as a LAN port by default.

1) First connect the LAN port of the board to the network port of the computer with a
network cable, so that the network port of the computer can obtain an IP address through
DHCP

2) The LAN port IP of the default board is set to 192.168.2.1, so the computer can obtain
the IP address starting with 192.168.2 at this time

3) Then enter 192.168.2.1:7681 in the browser to log in to the OpenWRT terminal

457
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.5. How to modify the IP address of the LAN port through


the command line
1) In the OpenWrt system, a command line tool uci is provided, which can easily modify,
add, delete and read the content in the configuration file. For details, please refer to the
official document

2) First use the following command to obtain the network configuration, the
corresponding configuration file is /etc/config/network, you can see that the value of
network.lan.ipaddr is 192.168.2.1
root@OpenWrt:~# uci show network
...
network.lan=interface
network.lan.device='br-lan'
network.lan.proto='static'
network.lan.ipaddr='192.168.2.1'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
....

3) Then enter the following command to modify the item network.lan.ipaddr


root@OpenWrt:~# uci set network.lan.ipaddr='192.168.100.1'

4) Then enter the following command to complete the submission, that is, write to the
configuration file
root@OpenWrt:~# uci commit

If the IP address in red font is consistent with the one to be set, it means that the
modification is successful
root@OpenWrt:~# cat /etc/config/network
...
config interface 'lan'
option device 'br-lan'
option proto 'static'
option netmask '255.255.255.0'

458
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

option ip6assign '60'


option ipaddr '192.168.100.1'
...

5) Restart the network through ubus, please refer to the official document for the usage
instructions of ubus
root@OpenWrt:~# ubus call network restart

6) At this point, enter the command and you can see that the IP of the LAN port is
192.168.100.1
root@OpenWrt:~# ifconfig br-lan
br-lan Link encap:Ethernet HWaddr FE:55:13:A3:EF:E7
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fd60:c4cd:1033::1/60 Scope:Global
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:370 (370.0 B)

8.6. How to modify the root password

8.6.1. Modify via command line


1) First enter passwd root on the command line of the system, and the following prompt
message will appear. At this time, you can enter the password you want to set, and press
the Enter key to confirm
root@OpenWrt:/# passwd root
Enter new UNIX password:

2) Then you will be prompted to re-enter the password. At this time, enter the password
again to confirm and press Enter
Retype password:

3) The display of successful modification is as follows


passwd: password for root changed by root

459
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.6.2. Modify through the LuCI management interface


1) First refer to the login LuCI management interface to enter the OpenWRT
management interface

2) Then follow the steps below to change the password


a. Find the "System" option in the navigation bar and click
b. In the column options below the system, select "Management Rights" and click

c. Select the "Router Password" option on the Tab page

3) Modify and save the router password


a. Enter the password you set in the "Password" and "Confirm Password" dialog
boxes (if you are not sure whether the password is entered correctly, you can click
the "*" icon behind the dialog box to display the input characters)
b. Click "Save" to save the newly modified password

460
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note: In the "Password" and "Confirm Password" dialog boxes, the passwords
entered twice must be consistent.

4) After the password is changed successfully, a pop-up box will pop up saying "The
system password has been changed successfully". At this time, a password is required
to log in to OpenWRT

8.7. USB interface test

8.7.1. Mount the USB storage device under the command line
1) First insert the U disk into the USB interface of the Orange Pi development board

2) Execute the following command, if you can see the output of sdX, it means that the U
disk is recognized successfully
root@OpenWrt:~# cat /proc/partitions | grep "sd*"

461
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

major minor #blocks name


8 0 15126528 sda

3) Use the mount command to mount the U disk to /mnt, and then you can view the files
in the U disk
root@OpenWrt:~# mount /dev/sda /mnt/
root@OpenWrt:~# ls /mnt/
test.txt

4) After mounting, you can view the capacity usage and mount point of the U disk
through the df -h command
root@OpenWrt:~# df -h | grep "sd"
/dev/sda 14.4G 187.2M 14.2G 1% /mnt

8.7.2. Mount the USB storage device on the LuCI management


interface

1) First connect the U disk (or other storage device) to the development board via
USB2.0

2) Then follow the login LuCI management interface to enter the LuCI management
interface

3) Then in the LuCI management interface, click "System -> Mount Point" to enter the
configuration interface of the mount point

462
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then follow the steps below to add a mount point


a. Find "Mount Point" at the bottom of the mount point global setting interface
b. Under the mount point, select the "Add" button and click Enter

c. Then the following pop-up interface will pop up

463
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then you can start to mount the storage device


a) Check "Enabled"
b) Select the actual connected device /dev/sda in the UUID column of general
settings (choose according to your own device)
c) Select "Custom" in the mount point column, and fill in the target directory to
be mounted. Here, take the /mnt directory as an example, and press Enter to
confirm
d) Then click the "Save" button in the lower right corner

5) Then you will return to the mount point global settings page, click "Save and Apply"
in the lower left corner of the page to make the mount point take effect

464
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) After saving, you can see the "mounted file system", the storage device has been
mounted successfully

465
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.8. How to use E-Key PCIe wireless network card

1) The PCIe wireless network card models currently compatible with the OpenWRT
image are as follows:
SN model Physical picture Supported OS
1 AX200 Debian
(PCIE+USB port) Ubuntu
OpenWRT
OPi OS Arch

2 AX210 Debian
(PCIE+USB port) Ubuntu
OpenWRT
OPi OS Arch

3 RTL8852BE Debian
(PCIE+USB port) Ubuntu
Not Supported
OpenWRT
Android12
OPi OS Arch
OPi OS Droid
8.8.1. How to create WIFI hotspot
Note that AX200 and AX210 currently only support hotspots in the 2.4G
frequency band. In the 5G frequency band mode, there will be an error that the
modified configuration of the wireless network card cannot be applied.

1)First insert the PCIe wireless network card into the M.2 E-KEY port of the
development board, and then connect the Type-C power supply to power up the
development board.

466
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2)After the system startup is complete, click Network -> Wireless to enter the wireless
WiFi configuration interface.

3)The default wireless configuration of the OpenWRT system is Master mode. Here,
for the convenience of the next operation, we will remove the default wireless
connection.

4)Then click Save in the lower right corner of the page to make the configuration take
effect.

467
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5)Then click the Add button on the right.

6)In the pop-up tab page Device Configuration, we set the parameters as shown in the
figure below.

7)Then in Interface Configuration -> General Settings, set the mode to Access Point
AP, set the ESSID (wireless network name) to OpenWrt, and specify the network as lan

468
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8)Then in Interface Configuration -> Wireless Security, select WPA2-PSK as the


encryption algorithm; set the key (wireless password) to password

9)After the above settings are completed, click Save in the lower right corner of the
page, and then exit the tab page

469
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10)Then click Save and Apply in the lower right corner of the page and wait for the
configuration to be applied.

11)The display interface of successfully creating a hotspot is shown in the figure below

470
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12)Then use the mobile phone or computer to search for the WiFi corresponding to the
SSID to connect. After the connection is successful, as shown in the figure below

8.8.2. How to connect to WIFI hotspot


1)Insert the PCIe wireless network card into the M.2 E-KEY port of the development
board, and then connect the Type-C power supply to power the development board.

2)After the system startup is complete, click Network -> Wireless to enter the
configuration wireless WiFi interface.

471
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3)The default wireless configuration of the OpenWRT system is Master mode. Here,
for the convenience of the next operation, we will remove the default wireless
connection.

4)Then click Save in the lower right corner of the page to make the configuration take
effect.

5)Then click the Scan button to scan the surrounding WiFi hotspots.

472
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6)Then the following window will pop up to display the available WiFi hotspots. At this
time, click the Join Network button on the right side of the WiFi hotspot you want to
connect to connect to the WiFi hotspot.

7)Then an interface for connecting to a WiFi hotspot will pop up. We enter the
password of the hotspot as shown in the figure below, and then click the Submit button.

8)Then the following interface will pop up, click the Save button in the lower right
corner.

473
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9)Finally, you will return to the main interface of wireless configuration, click Save and
Apply and wait for the configuration to be applied.

10)After successfully connecting to the WiFi hotspot, the interface is displayed as


shown in the figure below.

474
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.9. Installing packages via the command line

8.9.1. Install via opkg in the terminal


1) Update the list of available packages
root@OpenWrt:/# opkg update

2) Get the software list


root@OpenWrt:/# opkg list

3) Install the specified package


root@OpenWrt:/# opkg install <package name>

4) Check the installed software


root@OpenWrt:/# opkg list-installed

5) Uninstall the software


root@OpenWrt:/# opkg remove <package name>

8.10. OpenWRT management interface installation software


package

If you need to add new software packages, you can install them through the

475
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

OpenWRT management interface.


8.10.1. View the list of available software packages in the system
1) First enter the package management page
a. Find the "System" option in the navigation bar and click to enter
b. In the vertical column options below the system, select "software package" and
click to enter

2) Then the main page of the software package will appear, as shown in the figure below,
to obtain the list of available software
a. In the "Operation" option of the software package, click "Update List" to get the
list of available software packages
b. On the Tab page, click "Available" to view the currently available software
packages
c. View the number of currently available packages

476
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.10.2. Example of installing software packages


1) Take the installation package “luci-app-acl” as an example
a. In the OpenWRT software package management interface, click the filter dialog
box and enter“luci-app-acl”
b. In the list of software packages, you can see the version, package size and
description information of the “luci-app-acl”software package, and then click
the "Install" button

c. Then the following pop-up window will appear, click "Install"

477
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

d. Then wait for the installation to complete

e. The display after the installation is complete is as follows

478
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Check whether the software package is installed successfully


a. In the OpenWRT software package management interface, click the filter dialog
box and enter“luci-app-acl”
b. Select and click "Available" on the Tab page
c. The “luci-app-acl” package will be displayed in the package list, and the update
status will be "installed"

8.10.3. Remove package example


1) Take the removal of the package“luci-app-acl” as an example
a. In the OpenWRT software package management interface, click the filter dialog
box and enter“luci-app-acl”
b. Select "Installed" on the Tab page to display the list of installed software
packages

479
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

c. Click "Remove" on the right to remove the corresponding software package

d. Then the following pop-up window will be displayed, click "Remove"

e. After the removal is successful, the display interface is as follows

2) Check whether the software package is removed successfully


a. In the OpenWRT software package management interface, click the filter dialog
box and enter “luci-app-acl”
b. Select and click "Installed" on the Tab page
c. The “luci-app-acl”package will not be displayed in the package list, and the
“luci-app-acl” package has been removed successfully

480
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.11. Using Samba Network Shares

There are mainly two software options for OpenWRT LAN file sharing, Samba
and NFS. The compatibility of the Samba system is better, while the performance of
NFS is superior. For users who need to use Windows devices, it is recommended to
choose Samba.

1) Enter the management page of the Samba network share


a. Find the "Service" option in the navigation bar and click to enter
b. In the vertical column options below the service, select "network sharing" and
click to enter

2) Select the interface that the Samba service needs to monitor


a. Select "General Settings" in the navigation bar of network sharing and click to
enter
b. The interface is specified according to actual needs. If you want to access
through the "wan port", set it to "wan"

481
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Set the shared directory of the network share


a. In the "Shared Directory" of the "General Settings" of the network share, click
"Add" the shared directory address
b. Enter the name of the shared folder as "mmt" under the name
c. Under the path of the shared directory, choose to set the shared directory location
"/mnt"
d. Check "Browseable" and "Run anonymous user"
e. Click "Save and Apply" to save the configuration

4) window10 starts network discovery and sharing


Note: To access Samba under the Windows 10 system, you need to confirm
whether Windows 10 has enabled network discovery and sharing for sharing. If it is
not enabled, perform the following settings first.
a. Enable Samba v1/v2 access

482
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

a) Enter the "Control Panel" of Windows 10


b) Click "Programs" on the left navigation bar of the control panel
c) Select "Turn Windows features on or off" in Programs and Features
d) Check "SMB 1.0/CIFS file sharing support" in the pop-up box of enabling or
disabling Windows functions
e) Click "OK" to configure the application

b. Turn on the network discovery of Windows 10


a) Enter the "Control Panel" of Windows 10
b) Select "Network and Internet" in the Control Panel
c) Then open "Network and Sharing Center"
d) Click | "Advanced Sharing Settings"
e) Turn on "Enable Network Discovery" and "Enable File and Printer
Sharing"
f) Click "Save Changes" to save the Windows 10 network discovery
configuration

483
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) After the setting is completed, enter \\OpenWrt in the address bar of the resource
manager to access the shared directory, the user name is root, and the password is the
password set by the development board host

484
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8.12. Zerotier Instructions

The OpenWRT system has pre-installed the zerotier client. After creating a
virtual LAN on the zerotier official website, the client can directly join it through the
Network ID. The specific operation is as shown below.

1) Log in to zerotier official website https://my.zerotier.com/network, register and log


in and click Network->Create A Network to create a virtual local area network

2) Click to enter the network console page, you can set the privacy option to public, so
that the added network nodes do not need to be verified

485
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) The following automatically assigns the address Here you can choose the network
segment yourself, here is 172.27.*.*

4) Enter the following command in the OpenWRT terminal to join the virtual LAN
created above, where 8286ac0e47d53bb5 is the Network ID of the virtual LAN
created above
root@OpenWrt:/# zerotier-one -d #Start the zerotier client
root@OpenWrt:/# zerotier-cli join 8286ac0e47d53bb5 #join the network

5) Enter ifconfig in the terminal and you can see that there is already a new ztks54inm2
device with an IP address of 172.27.214.213
root@OpenWrt:/# ifconfig
ztks54inm2 Link encap:Ethernet HWaddr F6:4E:DE:BF:D8:52
inet addr:172.27.214.213 Bcast:172.27.255.255 Mask:255.255.0.0
inet6 addr: fe80::e82f:d0ff:fe5a:867e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:2800 Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1720 (1.6 KiB) TX byte81 (8.2 KiB)

6) Install the zerotier client on another device (Ubuntu18.04 is used as an example here),
execute the following command to install, and restart the computer after the installation is
complete
test@ubuntu:~$ curl -s https://install.zerotier.com | sudo bash

486
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

7) After restarting, join the virtual LAN according to the Network ID, and you can also
see that the ip address assigned by zerotier has been obtained. At this time, the Ubuntu
PC and OrangePi R1 Plus LTS are in the same LAN, and the two can communicate freely
test@ubuntu:~$ sudo zerotier-cli join 8286ac0e47d53bb5
test@ubuntu:~$ ifconfig
ztks54inm2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 2800
inet 172.27.47.214 netmask 255.255.0.0 broadcast 172.27.255.255
inet6 fe80::5ce1:85ff:fe2b:6918 prefixlen 64 scopeid 0x20<link>
ether f6:fd:87:68:12:cf txqueuelen 1000 (ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 46 bytes 10006 (10.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

8) Test whether the two terminals can communicate


root@OpenWrt:/# ping 172.27.47.214 -I ztks54inm2
PING 172.27.47.214 (172.27.47.214): 56 data bytes
64 bytes from 172.27.47.214: seq=0 ttl=64 time=1.209 ms
64 bytes from 172.27.47.214: seq=1 ttl=64 time=1.136 ms
64 bytes from 172.27.47.214: seq=2 ttl=64 time=1.203 ms
64 bytes from 172.27.47.214: seq=3 ttl=64 time=1.235 ms
^C
--- 172.27.47.214 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1.136/1.195/1.235 ms

9) other common commands of zerotier


root@OpenWrt:/# zerotier-one -d #Start the zerotier client
root@OpenWrt:/# zerotier-cli status #Get address and service status
root@OpenWrt:/# zerotier-cli join # Network ID #join the network
root@OpenWrt:/# zerotier-cli leave # Network ID #leave the network
root@OpenWrt:/# zerotier-cli listnetworks #list networks
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt 22.03.4 r20123-38ccc47687"

487
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

9. Compilation method of OpenWRT source code

9.1. Download OpenWRT source code

1) First execute the following command to download the openwrt-22.03 branch code
test@test:~$ sudo apt update
test@test:~$ sudo apt install -y git
test@test:~$ git clone https://github.com/orangepi-xunlong/openwrt.git -b openwrt-22.03

2) After the OpenWRT code is downloaded, the following files and folders will be
included
test@test:~/openwrt$ ls
BSDmakefile Config.in include Makefile README.md scripts toolchain
Config feeds.conf.default LICENSE package rules.mk target tools

9.2. Compile OpenWRT source code

1) First install the following dependent packages (currently only tested on Ubuntu 20.04
to compile the following dependent packages, if you compile on other versions of the
system, please install the dependent packages by yourself according to the error message)
a. Method 1: The command to install dependent packages using a script is as
follows:
test@test:~/openwrt$ sudo ./install_dep.sh
b. Method 2: Install the dependency package directly using the following command
test@test:~/openwrt$ sudo apt update
test@test:~/openwrt$ sudo apt install -y ack antlr3 asciidoc autoconf \
automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar \
flex gawk gettext gcc-multilib g++-multilib git gperf haveged \
help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev \
libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev \
libncurses5-dev \libncursesw5-dev libreadline-dev libssl-dev \
libtool lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full \

488
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

patch pkgconf python2.7 python3 python3-pyelftools \


libpython3-dev qemu-utils rsync scons squashfs-tools \
subversion swig texinfo uglifyjs upx-ucl unzip \
vim wget xmlto xxd zlib1g-dev

2) Then execute ./scripts/feeds update -a and ./scripts/feeds install -a to download


dependent packages
test@test:~/openwrt$ ./scripts/feeds update -a
test@test:~/openwrt$ ./scripts/feeds install -a

3) Then choose to use the configuration file of OrangePi 5 Plus


a. Compile the image that supports TF card, eMMC, and NVMe startup, and select
the following configuration
test@test:~/openwrt$ cp configs/orangepi-5-plus-rk3588_defconfig .config
b. Compile the image that supports SPIFlash startup, and select the following
configuration
test@test:~/openwrt$ cp configs/orangepi-5-plus-rk3588-spi_defconfig .config
4) Then execute the following command to make the configuration take effect
test@test:~/openwrt$ make defconfig

5) Execute the following command to start compiling the openwrt source code
test@test:~/openwrt$ make V=s

6) After the compilation is complete, the path where the image is generated is:
test@test:~/openwrt$ tree -L 1 bin/targets/rockchip/armv8/
bin/targets/rockchip/armv8/
├── config.buildinfo
├── feeds.buildinfo
├── openwrt-rockchip-armv8-xunlong_orangepi-5-plus-ext4-sysupgrade.img.gz
├── openwrt-rockchip-armv8-xunlong_orangepi-5-plus.manifest
├── openwrt-rockchip-armv8-xunlong_orangepi-5-plus-squashfs-sysupgrade.img.gz
├── packages
├── profiles.json
├── sha256sums
└── version.buildinfo

489
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1 directory, 9 files

10. Instructions for using the Android 12 system

10.1. Supported Android versions

Android version kernel version


Android 12 Linux5.10
Android 12 Box Linux5.10

10.2. Android function adaptation

Function Android 12 Android12 Box


HDMI TX1 Display - 1080p OK OK
HDMI TX1 Display - 4K 120HZ OK OK
HDMI TX1 Display - 8K 60HZ OK OK
HDMI TX1 Audio OK OK
HDMI TX2 Display - 1080p OK OK
HDMI TX2 Display - 4K 120HZ OK OK
HDMI TX2 Display - 8K 60HZ OK OK
HDMI TX2 Audio OK OK
HDMI RX display OK OK
HDMI RX Audio OK OK
USB2.0X2 OK OK
2.5G PCIe network port X2 OK OK
2.5G PCIe network port light OK OK
Debug serial port OK OK
RTC OK OK
FAN interface OK OK
eMMC extension interface OK OK
AP6275P-WIFI OK OK

490
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

AP6275P-BT OK OK
AX200-WIFI NO NO
AX200-BT NO NO
AX210-WIFI NO NO
AX210-BT NO NO
RTL8852BE-WIFI OK OK
RTL8852BE-BT OK OK
Recovery button OK OK
Type-C interface USB3.0 function OK OK
Type-C interface ADB function OK OK
Type-C interface DP display function OK OK
Type-C interface DP audio playback OK OK
USB3.0 Hub OK OK
switch button OK OK
infrared function OK OK
led light OK OK
Onboard MIC OK OK
headphone playback OK OK
headphone recording OK OK
SPK Horn OK OK
40PIN GPIO OK OK
40PIN I2C OK OK
40PIN SPI OK OK
40PIN UART OK OK
40PIN PWM OK OK
TF card start OK OK
SPI Flash+NVME solid state boot OK OK
OV13850 camera OK OK
OV13855 camera OK OK
GPU OK OK
VPU OK OK
NPU OK OK
MIPI LCD display OK NO
MIPI LCD Touch OK NO
MIPI LCD backlight OK NO

491
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

HDMI CEC function NO OK

10.3. How to use the USB wireless network card

1) Currently, the USB wireless network card models compatible with the Android image
are as follows:
Chip model Function VID&PID Adaptation
RTL8723BU 2.4G WIFI+BT4.0 0bda:b720 Support WIFI and Bluetooth function,
does not support hotspot
RTL8811CU 2.4G +5G WIFI 0bda:c811 Support WIFI function and open
hotspot

2) The pictures of the above two USB wireless network cards are as follows:
a. The picture of the RTL8723BU USB wireless network card module is as
follows:

b. The picture of the RTL8811CU USB wireless network card module is as


follows:

3) The test methods of the above two types of USB wireless network cards are the same.
First, the USB network card needs to be inserted into the USB interface of the
development board.

4) Then, for the connection and test method of WIFI, please refer to the section of WIFI
connection test method

492
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) For the Bluetooth test, please refer to the content of the Bluetooth test method

10.4. M.2 How to use E-Key PCIe WIFI6+Bluetooth module

1) The PCIe wireless network card models currently compatible with Android 12 are as
follows:
SN model Physical picture
1 RTL8852BE
(PCIE+USB interface)

Pay attention to RTL8852BE, please do not buy the module shown in the figure
below, there will be problems after testing.

2) First insert the PCIe wireless network card into the M.2 E-KEY interface of the
development board and fix it

493
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then connect the power supply of the Type-C interface to the development board, and
power on

4) After the system starts, please refer to the section of WIFI connection test method for
WIFI connection and test method

5) For the Bluetooth test, please refer to the content of the Bluetooth test method

10.5. WIFI connection test method

First of all, please note that there is no WIFI module on the Orange Pi 5 Plus
development board, and an external PCIe network card or USB network card is
required to use the WIFI function.
For instructions on using the external PCIe network card, please refer to the
section on how to use the M.2 E-Key PCIe WIFI6+Bluetooth module.
For instructions on using the external USB network card, please refer to the
section on how to use the USB wireless network card.

1) First click to enter the Setting

494
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) Then select Network & internet

3) Then select Internet

4) Then turn on the Wi-Fi switch

5) After turning on Wi-Fi, if everything is normal, you can scan to nearby Wi-Fi hotspots

495
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then select the Wi-Fi you want to connect to, and the password input interface shown
in the figure below will pop up

7) Then use the keyboard to enter the password corresponding to Wi-Fi, and then use the
mouse to click the Enter button in the virtual keyboard to start connecting to Wi-Fi

8) The display after successful Wi-Fi connection is shown in the figure below:

496
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10.6. How to use Wi-Fi hotspot

1) First, please make sure that the Ethernet port is connected to the network cable and
can access the Internet normally

2) Then select Settings

3) Then select Network & internet

4) Then select Hotspot & tethering

497
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then select Wi-Fi hotspot

6) Then turn on the Wi-Fi hotspot, you can also see the name and password of the
generated hotspot in the figure below, remember them, and use them when connecting to
the hotspot (if you need to modify the name and password of the hotspot, you need to
turn off the Wi-Fi first -Fi hotspot before modification)

7) At this point, you can take out your mobile phone. If everything is normal, you can
find the WIFI hotspot with the same name (here AndroidAP_6953) displayed under the
Hotspot name in the above picture in the WI-FI list searched by the mobile phone. Then
you can click AndroidAP_6953 to connect to the hotspot, and the password can be seen
under the Hotspot password in the above picture

498
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) After the connection is successful, it will be displayed as shown in the figure below
(the interface of different mobile phones will be different, the specific interface is subject
to the display of your mobile phone). At this point, you can open a webpage on your
mobile phone to see if you can access the Internet. If you can open the webpage normally,
it means that the WI-FI Hotspot of the development board can be used normally.

10.7. Bluetooth test method

Please note that there is no Bluetooth module on the Orange Pi 5 Plus


development board, and an external PCIe network card with Bluetooth or a USB
network card with Bluetooth is required to use the Bluetooth function.
For instructions on using the external PCIe network card, please refer to the
section on how to use the M.2 E-Key PCIe WIFI6+Bluetooth module.
For instructions on using the external USB network card, please refer to the
section on how to use the USB wireless network card.

499
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

1) First click to enter the Setting

2) Then select Connected devices

3) Then click Pair new device to turn on Bluetooth and start scanning the surrounding
Bluetooth devices

4) The searched Bluetooth devices will be displayed under Available devices

500
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Then click the Bluetooth device you want to connect to start pairing. When the
following interface pops up, please use the mouse to select the Pair option

6) The test here is the configuration process of the development board and the Bluetooth
of the Android mobile phone. At this time, the following confirmation interface will pop
up on the mobile phone. After clicking the pairing button on the mobile phone, the
pairing process will start

7) After the pairing is completed, you can see the paired Bluetooth device as shown in

501
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

the figure below

8) At this time, you can use the Bluetooth of your mobile phone to send a picture to the
development board. After sending, you can see the following confirmation interface in
the Android system of the development board, and then click Accept to start receiving the
picture sent by the mobile phone.

9) You can open the Download directory in the file manager to view the pictures
received by the Android system Bluetooth of the development board

502
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10.8. Test method of HDMI In

1) The location of the HDMI In interface on the development board is as follows:

2) Then use the HDMI to HDMI cable shown in the figure below to connect the HDMI
output of other devices to the HDMI In interface of the development board

3) Make sure that the HDMI output of the device connected to the HDMI In interface is
normal, and then open the HDMI In test APP

4) Then you can see the video input of HDMI In, and the audio input of HDMI In will
also be output from the HDMI TX interface or headphone interface of the development
board. The figure below shows the desktop of the Linux system of the OPi5 development
board input through HDMI In.

503
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10.9. How to use 10.9.10.1 inch MIPI screen

Please make sure that the Android image used is the image of the following two
versions:
OrangePi5Plus_RK3588_Android12_lcd_v1.x.x.img
OrangePi5Plus_RK3588_Android12_spi-nvme_lcd_v1.x.x.img

1) The screen needs to be assembled first, please refer to the assembly method of the
10.1-inch MIPI screen

2) The interface position of the LCD on the development board is shown in the figure
below:

Note that the touch interface below is not for the LCD MIPI screen. It is
currently a spare interface and cannot be used.

504
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Connect the assembled screen to the LCD interface, connect the Type-C power supply
to the board, and power on. After the system starts, you can see the screen display as
shown in the figure below

10.10. OV13850 and OV13855 MIPI camera test method

Currently the development board supports two MIPI cameras, OV13850 and
OV13855, the specific pictures are as follows:
a. OV13850 camera with 13 million MIPI interface

505
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. OV13855 camera with 13 million MIPI interface

The adapter boards and FPC cables used by the OV13850 and OV13855 cameras are
the same, but the positions of the two cameras connected to the adapter boards are
different. The FPC cable is shown in the figure below. Please note that the FPC cable has
a direction. The end marked TO MB needs to be inserted into the camera interface of the
development board, and the end marked TO CAMERA needs to be inserted into the
camera adapter board.

There are a total of 3 camera interfaces on the camera adapter board, and only one
can be used at a time, as shown in the figure below, of which:
a. No.1 port is connected to OV13850 camera
b. No.2 interface is connected to OV13855 camera
c. No. 3 interface is not used, just ignore it

506
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

The location of the camera interface on the Orange Pi 5 Plus development board is
shown in the figure below:

The method of inserting the camera into the CAM interface of the development
board is as follows:

After connecting the camera to the development board, we can use the following
method to test the camera:
a. Open the camera APP on the desktop

b. Then you can see the preview screen of the camera

507
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Press and hold the mouse in the area shown in the red box in the picture below of the
camera APP and then drag to the right to call up the switching interface for taking
pictures and recording

The switching interface of taking pictures and recording is as follows, click Video to
switch to video recording mode

508
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Click the position shown in the figure below to enter the camera setting interface

The setting interface of the camera is as follows:

10.11. 40pin interface GPIO, UART, SPI and PWM test

10.11.1. 40pin GPIO port test

1) First click on the wiringOP icon to open the wiringOP APP

509
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) The main interface of wiringOP APP is displayed as shown in the figure below, and
then click the GPIO_TEST button to open the GPIO test interface

3) The GPIO test interface is shown in the figure below. The two rows of CheckBox
buttons on the left are in one-to-one correspondence with the 26pin pins. When the
CheckBox button is checked, the corresponding GPIO pin will be set to OUT mode, and
the pin level will be set to high level; when the checkbox is unchecked, the GPIO pin
level will be set to low level; When the GPIO READALL button is pressed, information
such as the wPi number, GPIO mode, and pin level can be obtained.

510
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

4) Then click the GPIO READALL button, the output information is as shown in the
figure below:

5) There are a total of 28 GPIO ports in the 40pins of the development board that can be
used. The following uses pin 11 — the corresponding GPIO is GPIO1_A4 — the
corresponding wPi serial number is 5—as an example to demonstrate how to set the high
and low levels of the GPIO port. First click the CheckBox button corresponding to pin 11.
When the button is selected, pin 11 will be set to high level. After setting, you can use a
multimeter to measure the voltage value of the pin. If it is 3.3v, it means setting high
level success

511
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then click the GPIO READALL button, you can see that the current pin 7 mode is
OUT, and the pin level is high

7) Click the CheckBox button in the figure below again to cancel the check status. Pin
11 will be set to low level. After setting, you can use a multimeter to measure the voltage
value of the pin. If it is 0v, it means that the low level is set successfully.

512
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

8) Then click the GPIO READALL button, you can see that the current mode of pin 11
is OUT, and the pin level is low

10.11.2. 40pin UART test

1) UART3 and UART8 are enabled by default in Android. The position of the 40pin is
shown in the figure below, and the corresponding device nodes are /dev/ttyS3 and
/dev/ttyS8 respectively

513
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

2) First click on the wiringOP icon to open the wiringOP APP

3) The main interface of wiringOP APP is displayed as shown in the figure below, and
then click the UART_TEST button to open the UART test interface

4) The serial port test interface of the APP is shown in the figure below

514
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) Take the test of UART3 as an example below, select the /dev/ttyS3 node in the
selection box, enter the baud rate you want to set in the edit box, and then click the
OPEN button to open the /dev/ttyS3 node. After opening successfully, click the OPEN
button becomes unselectable, and the CLOSE button and SEND button become
selectable

6) Then use Dupont wire to short the RXD and TXD pins of uart3

7) Then you can enter a character in the send edit box below, and click the SEND button

515
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

to start sending

8) If everything is normal, the received string will be displayed in the receiving box

10.11.3. 40pin SPI test

1) From the table below, the available SPIs for Orange Pi 5 Plus are SPI0 and SPI4

2) The Android system opens the SPI0 configuration by default. Here is a demonstration
to test the SPI0 interface through the w25q64 module. First, connect the w25q64 device
to the SPI0 interface.

516
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then click the wiringOP icon to open the wiringOP APP

4) The main interface of wiringOP APP is displayed as shown in the figure below, click
the SPI_TEST button to open the SPI test interface

5) Then click the OPEN button to initialize the SPI

517
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

6) Then fill in the bytes that need to be sent, such as reading the ID information of
w25q64, fill in the address 0x9f in data[0], and then click the TRANSFER button

7) Finally, the APP will display the read ID information

8) The MANUFACTURER ID of the w25q64 module is EFh, and the Device ID is


4017h, corresponding to the value read above (h stands for hexadecimal)

10.11.4. 40pin PWM test

1) Android enables PWM10 and PWM14 by default, and the corresponding pins are

518
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

located at 40pin as shown in the figure below:

2) First click on the wiringOP icon to open the wiringOP APP

3) Then click the PWM_TEST button on the main interface of wiringOP to enter the
PWM test interface

4) The base address corresponding to PWM10 is febe0020, and the base address
corresponding to PWM14 is febf0020. Here, fd8b0020.pwm is displayed on the right of
pwmchip0. At this time, you need to click the drop-down option to select other pwmchips
until febe0020 or febf0020 is displayed on the right.

519
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

5) When the drop-down option menu selects pwmchip2, the corresponding base address
of PWM10 is febe0020 on the right

6) When the drop-down option menu selects pwmchip4, the corresponding base address
of PWM14 is febe0020 on the right

7) Take the test of PWM10 as an example, we need to select pwmchip2

8) Then confirm the PWM period, the default configuration is 50000ns, converted to
PWM frequency is 20KHz, you can modify it yourself, click the open button to export
PWM10

9) Then drag the drag bar below to change the PWM duty cycle, and then check Enable
to output the PWM waveform

520
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

10) Then use an oscilloscope to measure the 31st pin in the 40pin of the development
board, and you can see the following waveform

10.12. How to use ADB

10.12.1. Use the data cable to connect to adb debugging


1) First prepare a good quality Type-C data cable

2) Then connect the development board and Ubuntu PC through the Type-C data cable.
The position of the Type-C interface of the development board is shown in the figure
below:

521
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then install the adb tool on the Ubuntu PC


test@test:~$ sudo apt update
test@test:~$ sudo apt -y install adb

4) You can view the identified ADB devices through the following command
test@test:~$ adb devices
List of devices attached
S63QCF54CJ device
test@test:~$ lsusb
Bus 003 Device 006: ID 2207:0006

5) Then you can log in to the android system through the adb shell on the Ubuntu PC
test@test:~$ adb shell
console:/ $

6) Execute the following command to remount the Android system


test@test:~$ adb root
test@test:~$ adb remount

7) Then you can transfer files to the Android system


test@test:~$ adb push example.txt /system/
10.12.2. Use network connection adb debugging
Using the network adb does not require a data cable of the Typc-C interface to
connect the computer and the development board, but to communicate through the
network, so first of all, please ensure that the wired or wireless network of the
development board has been connected, and then obtain the IP address of the
development board, and then to use.

1) Make sure that the service.adb.tcp.port of the Android system is set to port number
5555

522
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

console:/ # getprop | grep "adb.tcp"


[service.adb.tcp.port]: [5555]

2) If service.adb.tcp.port is not set, you can use the following command to set the port
number of network adb
console:/ # setprop service.adb.tcp.port 5555
console:/ # stop adbd
console:/ # start adbd

3) Install adb tool on Ubuntu PC


test@test:~$ sudo apt update
test@test:~$ sudo apt install -y adb

4) Then connect network adb on Ubuntu PC


test@test:~$ adb connect 192.168.1.xxx (The IP address needs to be changed to
the IP address of the development board)
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to 192.168.1.xxx:5555

test@test:~$ adb devices


List of devices attached
192.168.1.xxx:5555 device

5) Then you can log in to the android system through the adb shell on the Ubuntu PC
test@test:~$ adb shell
console:/ #

10.13. 2.4G USB remote control tested by Android Box

1) A 2.4G USB remote control that has been tested so far is shown in the figure below
a. Contains a remote control

523
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

b. A USB wireless receiver

2) The Android Box system does not require any configuration, it can be used after
plugging it in

10.14. How to use the infrared remote control of the


Android Box system
1) The development board comes with an infrared receiver, and its location is shown in
the figure below:

2) Before testing infrared reception, we need to prepare an infrared remote control

524
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Note: The Android system provided by Orange Pi only supports the remote
control provided by Orange Pi by default, and the remote control of TV or air
conditioner cannot be used.

3) The Android Box system has been adapted to this remote control, and it can be used
directly without other settings.

10.15. How to use HDMI CEC function in Android Box system

HDMI CEC allows users to control all connected devices through HDMI with
only one remote control. Based on this function, we can control the development
board with the remote control of the TV.

Before testing this function, please make sure your TV supports HDMI CEC.

1) First connect the development board to the TV through the HDMI cable, then power
on and start

2) Then turn on the HDMI CEC function in the TV settings. Different TVs may have
different ways to turn it on. Here we take Xiaomi TV as an example. Press the menu
button on the remote control, then select CEC remote control and press the confirmation
button

525
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Then select "On" to open the HDMI CEC remote control

4) At this point, you can control the Android Box system of the development board
through the remote control of the TV

526
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

11. How to compile Android 12 source code

11.1. Download Android 12 source code

1) First download the Android 12 source code sub-volume compressed package from
Google network disk

2) After downloading the sub-volume compression package of the Android 12 source


code, please check whether the MD5 checksum is correct, if not, please download the
source code again
test@test:~$ md5sum -c Android_12.tar.gz.md5sum
Android_12.tar.gz00: confirm
Android_12.tar.gz01: confirm
Android_12.tar.gz02: confirm
Android_12.tar.gz03: confirm
Android_12.tar.gz04: confirm
Android_12.tar.gz05: confirm
Android_12.tar.gz06: confirm
Android_12.tar.gz07: confirm

3) Then you need to merge multiple compressed files into one, and then decompress
test@test:~$ cat Android_12.tar.gz0* > Android_12.tar.gz
test@test:~$ tar -xvf Android_12.tar.gz

11.2. Compile the source code of Android 12

1) First install the software packages required to compile the Android12 source code

527
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

test@test:~$ sudo apt-get update


test@test:~$ sudo apt-get install -y git gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
test@test:~$ sudo apt-get install -y u-boot-tools

2) There is a build.sh compilation script in the source code, and the compilation
parameters are as follows
a.-U: compile uboot
b.-K: compile kernel
c.-A: compile android
d.-u: package and generate update.img and update_spi_nvme.img
e.-o: Compile the OTA package
f.-d: specify kernel dts

3) Compile uboot, kernel, android and package them into update.img


a. The command to compile and support HDMI 8K display image (LCD off by
default) is as follows:
test@test:~$ cd Android_12
test@test:~/ Android_12$ source build/envsetup.sh
test@test:~/ Android_12$ lunch rk3588_s-userdebug
test@test:~/ Android_12$ ./build.sh -AUKu

b. The command to compile and support LCD display image is as follows:


test@test:~$ cd Android_12
test@test:~/ Android_12$ export DUAL_LCD=true
test@test:~/ Android_12$ source build/envsetup.sh
test@test:~/ Android_12$ lunch rk3588_s-userdebug
test@test:~/ Android_12$ ./build.sh -AUKu

c. The command to compile the image of the Box version is as follows:


test@test:~$ cd Android_12
test@test:~/ Android_12$ export BOARD=orangepi5plus
test@test:~/ Android_12$ source build/envsetup.sh

528
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

test@test:~/ Android_12$ lunch rk3588_box-userdebug


test@test:~/ Android_12$ ./build.sh -AUKu

4) After the compilation is complete, the following information will be printed


********rkImageMaker ver 2.1********
Generating new image, please wait...
Writing head info...
Writing boot file...
Writing firmware...
Generating MD5 data...
MD5 data generated successfully!
New image generated successfully!
Making update.img OK.
Make update image ok!

5) The final image file will be placed in the rockdev/Image-rk3588_s directory. Among
them, update.img is the boot image that supports TF card and eMMC, and
update_spi_nvme.img is the boot image of NVME SSD
test@test:~/Android_12$ cd rockdev/Image-rk3588s_s
test@test:~/Android_12/rockdev/Image-rk3588s_s $ ls update*
update.img update_spi_nvme.img

6) If you compile the image of the Box version, the final generated image file will be
placed in the rockdev/Image-rk3588_box directory
test@test:~/Android_12$ cd rockdev/Image-rk3588_box
test@test:~/Android_12/rockdev/Image-rk3588_box$ ls update*
update.img update_spi_nvme.img

529
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

12. Instructions for using the Orange Pi OS Droid


system

12.1. Function adaptation of OPi OS Droid system

Function OPi OS Droid function adaptation


HDMI TX1 display OK
HDMI TX1 Audio OK
HDMI TX2 display OK
HDMI TX2 Audio OK
HDMI RX display OK
HDMI RX Audio OK
USB2.0X2 OK
2.5G PCIe network port X2 OK
2.5G PCIe network port light OK
Debug serial port OK
RTC OK
FAN interface OK
eMMC extension interface OK
AP6275P-WIFI OK
AP6275P-BT OK
AX200-WIFI NO
AX200-BT NO
AX210-WIFI NO
AX210-BT NO
RTL8852BE-WIFI OK
RTL8852BE-BT OK
Recovery button OK
Type-C interface USB3.0 function OK
Type-C interface ADB function OK
Type-C interface DP display OK
function

530
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Type-C interface DP audio playback OK


USB3.0 Hub OK
switch button OK
infrared function OK
led light OK
Onboard MIC OK
headphone playback OK
headphone recording OK
SPK Horn OK
40PIN GPIO OK
40PIN I2C OK
40PIN SPI OK
40PIN UART OK
40PIN PWM OK
TF card start OK
SPI Flash+NVME solid state boot OK
OV13850 camera OK
OV13855 camera OK
GPU OK
VPU OK
NPU OK
MIPI LCD NO
HDMI CEC NO

12.2. Test method of HDMI In

1) The location of the HDMI In interface on the development board is as follows:

2) Then use the HDMI to HDMI cable shown in the figure below to connect the HDMI
output of other devices to the HDMI In interface of the development board

531
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

3) Make sure that the HDMI output of the device connected to the HDMI In interface is
normal, and then open the HDMI In test APP

4) Then the window shown in the figure below will appear. At this time, the video input
of HDMI In cannot be seen. You need to click the position marked in the red box in the
figure below to enlarge it to full screen

5) Then you can see the video input of HDMI In, and the audio input of HDMI In will
also be output from the HDMI TX interface or headphone interface of the development
board. The figure below shows the desktop of the Linux system of the OPi5 development
board input through HDMI In.

532
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

533
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

13. Appendix

13.1. User Manual Update History

version Date Updated Notes


v1.0 2023-05-22 initial version
v1.1 2023-05-24 1. How to use the infrared remote control of the Android Box system
2. Instructions for using the Orange Pi OS Droid system
v1.2 2023-05-26 1. Ubuntu/Debian: HDMI IN test method
2. Delete the instructions for using the RTL8821CU USB WIFI module,
this module is not recommended
v1.3 2023-05-29 1. Update the method of using RKDevTool to burn the image to
spiflash+ssd
2. Use RKDevTool to clear SPIFlash
v1.4 2023-05-31 1. Update the usage method of M.2 E-Key PCIe WIFI6+Bluetooth
module
2. Ubuntu/Debian: How to use the ZFS file system
3. Ubuntu/Debian: Turn off the green light and blue light by default when
booting
4. Add the instructions for using the Debian12 system (scattered in
multiple sections)
5. Instructions for using the 5v pin in the 40pin interface of the
development board to supply power
v1.5 2023-06-07 1. Add the picture of eMMC module
2. Correct the picture of the cooling fan interface
3. Add a method to check the temperature of nvme ssd
v1.6 2023-11-08 1. Method of using wiringOP hardware PWM
2. Ubuntu/Debian: How to use CasaOS

13.2. Image update history

Date Updated Notes


2023-05-19 Orangepi5plus_1.0.0_debian_bullseye_server_linux5.10.110.7z

534
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Orangepi5plus_1.0.0_debian_bullseye_desktop_xfce_linux5.10.110.7z
Orangepi5plus_1.0.0_debian_bullseye_desktop_kde-plasma_linux5.10.110.7z
Orangepi5plus_1.0.0_ubuntu_focal_server_linux5.10.110.7z
Orangepi5plus_1.0.0_ubuntu_focal_desktop_xfce_linux5.10.110.7z
Orangepi5plus_1.0.0_ubuntu_jammy_server_linux5.10.110.7z
Orangepi5plus_1.0.0_ubuntu_jammy_desktop_xfce_linux5.10.110.7z
Orangepi5plus_1.0.0_ubuntu_jammy_desktop_gnome_linux5.10.110.7z
Opios-droid-aarch64-opi5plus-23.05-linux5.10.110.tar.gz
Opios-droid-aarch64-opi5plus-23.05-linux5.10.110-spi-nvme.tar.gz
OrangePi5Plus_RK3588_Android12_v1.0.0.tar.gz
OrangePi5Plus_RK3588_Android12_lcd_v1.0.0.tar.gz
OrangePi5Plus-RK3588_Android12-box_v1.0.0.tar.gz
OrangePi5Plus_RK3588_Android12_spi-nvme_v1.0.0.tar.gz
OrangePi5Plus_RK3588_Android12_spi-nvme_lcd_v1.0.0.tar.gz
OrangePi5Plus-RK3588_Android12-box_spi-nvme_v1.0.0.tar.gz
openwrt-aarch64-opi5plus-23.05-linux5.10.110-ext4.img.gz

* initial version
2023-05-22 Opios-arch-aarch64-gnome-opi5plus-23.05-linux5.10.110.img.xz
openwrt-rockchip-armv8-xunlong_orangepi-5-plus-spi-squashfs-sysupgrade.bin

* initial version
2023-05-24 Orangepi5plus_1.0.2_debian_bullseye_desktop_kde-plasma_linux5.10.110.7z

* Fix the problem that desktop audio cannot be used


* Update the chromium browser to chromium-browser_110.0, which supports video
playback in h264, h265, vp8, vp9 and av1 formats
2023-05-26 Opios-arch-aarch64-gnome-opi5plus-23.05.1-linux5.10.110.img.xz

* Taskbar: remove calendar and music, add shortcuts for command line terminal and
browser
* Support to open the command line terminal through the shortcut key of
CTRL+ALT+T

OrangePi5Plus_RK3588_Android12_v1.0.1.tar.gz

535
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

OrangePi5Plus_RK3588_Android12_v1.0.1_lcd.tar.gz
OrangePi5Plus_RK3588_Android12_v1.0.1_spi-nvme.tar.gz
OrangePi5Plus_RK3588_Android12_v1.0.1_lcd_spi-nvme.tar.gz

* pre-install google play store

Orangepi5plus_1.0.4_debian_bullseye_desktop_kde-plasma_linux5.10.110.7z

* Support CTRL+ALT+T shortcut to open the command line terminal


* Added shortcuts for konsole terminal and chromium browser in the taskbar
* Optimize the display name of the audio device
* Optimize test_hdmiin.sh test script
* Fix the problem that spiflash+nvme ssd cannot start

Orangepi5plus_1.0.4_debian_bullseye_desktop_xfce_linux5.10.110.7z

* Support CTRL+ALT+T shortcut to open the command line terminal


* Optimize the display name of the audio device
* Optimize test_hdmiin.sh test script
* Update the chromium browser to chromium-browser_110.0, which supports video
playback in h264, h265, vp8, vp9 and av1 formats
* Fix the problem that spiflash+nvme ssd cannot start

Orangepi5plus_1.0.4_ubuntu_focal_desktop_xfce_linux5.10.110.7z
Orangepi5plus_1.0.4_ubuntu_jammy_desktop_xfce_linux5.10.110.7z
Orangepi5plus_1.0.4_ubuntu_jammy_desktop_gnome_linux5.10.110.7z

* Support CTRL+ALT+T shortcut to open the command line terminal


* Optimize the display name of the audio device
* Optimize test_hdmiin.sh test script
* Fix the problem that spiflash+nvme ssd cannot start

Orangepi5plus_1.0.4_debian_bullseye_server_linux5.10.110.7z
Orangepi5plus_1.0.4_ubuntu_focal_server_linux5.10.110.7z
Orangepi5plus_1.0.4_ubuntu_jammy_server_linux5.10.110.7z

536
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

* Fix the problem that spiflash+nvme ssd cannot start


2023-05-29 Opios-droid-aarch64-opi5plus-23.05.1-linux5.10.110-en.tar.gz
Opios-droid-aarch64-opi5plus-23.05.1-linux5.10.110-en-spi-nvme.tar.gz

* Pre-installed google play store (en in the above image name means English version,
you need to go to Google network disk to download)
2023-06-01 Orangepi5plus_1.0.6_ubuntu_jammy_desktop_xfce_linux5.10.110.7z

* Fix the problem that the zfs file system cannot be installed
* Add rk3588-opi5plus-disable-leds.dtbo, used to turn off blue and green lights
* Update the chromium browser to chromium-browser_110.0, which supports video
playback in h264, h265, vp8, vp9 and av1 formats

Orangepi5plus_1.0.6_debian_bullseye_desktop_xfce_linux5.10.110.7z
Orangepi5plus_1.0.6_debian_bullseye_desktop_kde-plasma_linux5.10.110.7z

* Update mpp package


* Fix the problem that the zfs file system cannot be installed
* Add rk3588-opi5plus-disable-leds.dtbo, used to turn off blue and green lights

Orangepi5plus_1.0.6_ubuntu_focal_desktop_xfce_linux5.10.110.7z
Orangepi5plus_1.0.6_ubuntu_jammy_desktop_gnome_linux5.10.110.7z
Orangepi5plus_1.0.6_ubuntu_focal_server_linux5.10.110.7z
Orangepi5plus_1.0.6_debian_bullseye_server_linux5.10.110.7z
Orangepi5plus_1.0.6_ubuntu_jammy_server_linux5.10.110.7z

* Add rk3588-opi5plus-disable-leds.dtbo, used to turn off blue and green lights


* Fix the problem that the zfs file system cannot be installed

Orangepi5plus_1.0.6_debian_bookworm_server_linux5.10.110
Orangepi5plus_1.0.6_debian_bookworm_desktop_xfce_linux5.10.110

* initial version
2023-11-08 Orangepi5plus_1.0.8_ubuntu_focal_server_linux5.10.160.7z

537
range Pi User Manual Copyright reserved by Shenzhen Xunlong Software Co., Ltd

Orangepi5plus_1.0.8_ubuntu_jammy_server_linux5.10.160.7z
Orangepi5plus_1.0.8_debian_bullseye_server_linux5.10.160.7z
Orangepi5plus_1.0.8_debian_bookworm_server_linux5.10.160.7z
Orangepi5plus_1.0.8_ubuntu_focal_desktop_xfce_linux5.10.160.7z
Orangepi5plus_1.0.8_ubuntu_jammy_desktop_xfce_linux5.10.160.7z
Orangepi5plus_1.0.8_debian_bullseye_desktop_xfce_linux5.10.160.7z
Orangepi5plus_1.0.8_debian_bookworm_desktop_xfce_linux5.10.160.7z

* Kernel version upgraded to 5.10.160

538

You might also like