3. IPC Application

In the IPC rockit version, the rkipc service starts automatically after system boot. To avoid conflicts during function tests, stop the rkipc service before testing other functions.

Stop the rkipc service
1RkLunch-stop.sh
Restart the rkipc service after testing
1RkLunch.sh

3.1 Serial Terminal

_images/debug.webp

❶ Connect the USB-to-serial module to the PC and connect the other end to the Debug UART interface on the board.

❷ Open a serial terminal tool on the PC, select the corresponding serial port, and set the baud rate to 1500000.

❸ Power on the board and check whether the boot log is displayed in the serial terminal.

Terminal_UI

3.2 Display

MIPI_DSI

The default MIPI display resolution of the SBC1126B is 800×1280@60 Hz.

In the IPC version, the system does not display the desktop by default after boot. After flashing the corresponding firmware image and connecting the supported cameras before power-on, the system automatically starts the camera preview. The display output shows the stitched preview image from the connected camera channels. If no camera is connected or the connected camera does not match the flashed firmware image, the display remains black after boot.

3.3 USB

_images/USB.webp

3.3.1 USB3.0 DRD

The USB3.0 DRD supports both Host and Device roles, with Device as the default configuration for image flashing/upgrading. It can be switched to host mode by command, after which it supports peripherals such as mouse, keyboards, and USB flash drives.

Switch USB3.0 DRD to USB Host mode
1echo host > /sys/kernel/debug/usb/21500000.usb/mode

In USB host mode, when a USB flash drive is connected, it is mounted automatically. The current USB connection speed can be checked in the kernel log.

  • When the device operates in USB2.0 mode, the log usually shows high-speed.

  • When the device operates in USB3.0 mode, the log usually shows SuperSpeed.

Switch USB3.0 DRD back to Device mode
1echo device > /sys/kernel/debug/usb/21500000.usb/mode

3.3.2 USB2.0 Host

The USB2.0 Host can connect peripherals such as mouse, keyboards, and flash drives.

After a USB flash drive is connected, it will be mounted automatically. Check the mounted path.

1df -h
Serial terminal output
# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                49.5M     49.5M         0 100% /
devtmpfs                 60.4M         0     60.4M   0% /dev
tmpfs                   966.9M         0    966.9M   0% /dev/shm
tmpfs                   966.9M      8.0K    966.9M   0% /tmp
tmpfs                   966.9M    384.0K    966.5M   0% /run
/dev/block/by-name/oem
                        237.9M     58.1M    164.3M  26% /oem
/dev/block/by-name/userdata
                          5.8G      9.3M      5.7G   0% /userdata
/dev/sda1                32.0G      5.4G     26.6G  17% /tmp/sda1

3.4 Audio

Audio

3.4.1 Audio Output

❶ Connect the Speaker to the connector (2-pin/2.0mm pitch)

❷ Set the DAC digital volume.

1rk_mpi_amix_test -C 0 --control 'DAC Digital Volume' --value '250,250'

❸ Play the audio file.

Execute command according to the actual audio file path, eg. /tmp/sda1/video/music/2.wav

1rk_mpi_ao_test -i /tmp/sda1/video/music/2.wav --input_ch 2 --input_rate 44100 --device_rate 44100 --device_ch 2 --sound_card_name hw:0,0

3.4.2 Audio Input

❶ Stop the rkipc service.

1RkLunch-stop.sh
Serial terminal output
# RkLunch-stop.sh
Stop Application ...
[rkipc.c][sig_proc]:received signo 15
killall: udhcpc: no process killed
  349 root     2827m S<   rkipc -a /oem/usr/share/iqfiles
rkipc active
[server.c][rkipc_server_deinit]:rkipc_server_deinit failed
[osd.c][osd_time_server]:exit
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [2] failed with 0xa0038005
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [3] failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_Destroy [4] failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_Destroy [11] failed with 0xa0038005

❷ Select MIC as the recording input source.

1rk_mpi_amix_test -C 0 --control 'SAI2 Receive PATH0 Source Select' --value  'From SDI0'
Serial terminal output
# rk_mpi_amix_test -C 0 --control 'SAI2 Receive PATH0 Source Select' --value  'F
rom SDI0'
cmd parse result:
sound control id      : 0
control name          : SAI2 Receive PATH0 Source Select
control value         : From SDI0
list controls         : 0
list contents         : 0

❸ Set the audio codec digital gain.

1rk_mpi_amix_test -C 0 --control 'ACodec Digital Gain Volume' --value '100'
Serial terminal output
# rk_mpi_amix_test -C 0 --control 'ACodec Digital Gain Volume' --value '100'
cmd parse result:
sound control id      : 0
control name          : ACodec Digital Gain Volume
control value         : 100
list controls         : 0
list contents         : 0

❹ Record audio from MIC.

1rk_mpi_ai_test --device_rate 44100 --device_ch 2 --out_rate 44100 --out_ch 2 -o /userdata --sound_card_name hw:0,0
Serial terminal output
# rk_mpi_ai_test --device_rate 44100 --device_ch 2 --out_rate 44100 --out_ch 2 -
o /userdata --sound_card_name hw:0,0
cmd parse result:
input  file name      : (null)
output file name      : /userdata
loop count            : 1
channel number        : 1
open sound rate       : 44100
record data rate      : 44100
sound card channel    : 2
output channel        : 2
bit_width             : 16
frame_number          : 4
frame_length          : 1024
sound card name       : hw:0,0
device id             : 0
set volume curve      : 0
set volume            : 100
set mute              : 0
set track_mode        : 0
get volume            : 0
get mute              : 0
get track_mode        : 0
data read enable      : 0
aed enable            : 0
bcd enable            : 0
buz enable            : 0
vqe gap duration (ms) : 16
vqe enable            : 0
get vqe result        : 0
bcd NN model path     : (null)
vqe config file       : (null)
dump algo pcm data    : 0
dev queue len         : 0
sed queue len         : 0
fd get enable         : 1
rockit_load start
v4l2_tx probe successv4l2_rx_probe success
rockit_load end
rockit log path (null), log_size = 0
log_file = (nil)
(null)           12:01:15-450 {log_level_init    :209}

 please use echo name=level > /tmp/rt_log_level set log level
        name: all cmpi mb sys vdec venc rgn vpss vgs tde avs wbc vo vi ai ao aenc adec
        log_level: 0 1 2 3 4 5 6

❺ Play the recorded audio through the speaker.

1rk_mpi_ao_test -i /data/cap_out.pcm --input_ch 2 --input_rate 44100 --device_rate 44100 --device_ch 2 --sound_card_name hw:0,0
Serial terminal output
# rk_mpi_ao_test -i /data/cap_out.pcm --input_ch 2 --input_rate 44100 --device_r
ate 44100 --device_ch 2 --sound_card_name hw:0,0
cmd parse result:
input  file name      : /data/cap_out.pcm
output file name      : (null)
loop count            : 1
channel number        : 1
open sound rate       : 44100
open sound channel    : 2
input stream rate     : 44100
input channel         : 2
bit_width             : 16
period_count          : 4
period_size           : 4096
sound card name       : hw:0,0
device id             : 0
set volume curve      : 0
set volume            : 100
set mute              : 0
set track_mode        : 0
get volume            : 0
get mute              : 0
get track_mode        : 0
query stat            : 0
pause and resume chn  : 0
save file             : 0
query save file stat  : 0
clear buf             : 0
get attribute         : 0
clear attribute       : 0
set loopback mode     : 0
vqe enable            : 0
rockit_load start
v4l2_tx probe successv4l2_rx_probe success
rockit_load end
rockit log path (null), log_size = 0
log_file = (nil)
(null)           12:02:41-705 {log_level_init    :209}

 please use echo name=level > /tmp/rt_log_level set log level
        name: all cmpi mb sys vdec venc rgn vpss vgs tde avs wbc vo vi ai ao aenc adec
        log_level: 0 1 2 3 4 5 6

3.5 Ethernet

_images/Ethernet.webp

The 100M Ethernet and 1000M Ethernet interfaces on the SBC1126B are multiplexed and cannot be used at the same time. When switching between them, the corresponding firmware image must be updated in software, and the hardware selection must also be changed using the DIP switch on the development board.

DTS Configuration Switching Instructions File path sysdrv\source\kernel\arch\arm64\boot\dts\rockchip\boardcon-sbc1126b.dtsi

//#include "boardcon-sbc1126b-gephy.dtsi" //1000M
#include "boardcon-sbc1126b-fephy.dtsi"   //100M

3.5.1 100M Ethernet

❶ Connect the network cable to the 100M Ethernet port, and set the DIP switch to the 100M position.

According to the log, it can be seen that the 100M Ethernet recognition is successful.

Serial terminal output
# dmesg | grep -Ei "link|100Mbps"
[    0.268284] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.712381] mpp_rkvdec2 22140100.rkvdec: link mode probe finish
[    0.719821] can: netlink gateway - max_hops=1
[    1.368230] rk_gmac-dwmac 21c70000.ethernet eth0: configuring for phy/rmii link mode
[    2.726968] dw-mipi-dsi-rockchip 22120000.dsi: [drm:dw_mipi_dsi_bridge_atomic_enable] final DSI-Link bandwidth: 468 x 4 Mbps
[   12.969534] rk_gmac-dwmac 21c70000.ethernet eth0: configuring for phy/rmii link mode
[  162.477091] rk_gmac-dwmac 21c70000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[  162.477120] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

❷ View the status of the network interface.

1ifconfig eth0
Serial terminal output
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 0A:E7:14:87:42:44
          inet addr:192.168.0.221  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8e7:14ff:fe87:4244/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:759 errors:0 dropped:92 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:63001 (61.5 KiB)  TX bytes:2428 (2.3 KiB)
          Interrupt:91

❸ Test network connectivity.

1ping -I eth0 www.armdesigner.com
Serial terminal output
# ping -I eth0 www.armdesigner.com
PING www.armdesigner.com (13.249.126.87): 56 data bytes
64 bytes from 13.249.126.87: seq=0 ttl=246 time=169.120 ms
64 bytes from 13.249.126.87: seq=1 ttl=246 time=169.190 ms
64 bytes from 13.249.126.87: seq=2 ttl=246 time=168.847 ms
64 bytes from 13.249.126.87: seq=3 ttl=246 time=170.724 ms
64 bytes from 13.249.126.87: seq=4 ttl=246 time=169.255 ms
64 bytes from 13.249.126.87: seq=5 ttl=246 time=169.033 ms
^C
--- www.armdesigner.com ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 168.847/169.361/170.724 ms

3.5.2 1000M Ethernet

❶ Connect the network cable to the 1000M Ethernet port, and set the DIP switch to the 1000M position.

According to the log, it can be seen that the 1000M Ethernet recognition is successful.

Serial terminal output
# dmesg | grep -Ei "link|1Gbps"
[    0.266194] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.806565] mpp_rkvdec2 22140100.rkvdec: link mode probe finish
[    0.814165] can: netlink gateway - max_hops=1
[    1.376796] rk_gmac-dwmac 21c70000.ethernet eth0: configuring for phy/rgmii link mode
[    2.772943] dw-mipi-dsi-rockchip 22120000.dsi: [drm:dw_mipi_dsi_bridge_atomic_enable] final DSI-Link bandwidth: 468 x 4 Mbps
[   13.856116] rk_gmac-dwmac 21c70000.ethernet eth0: configuring for phy/rgmii link mode
[  158.253401] rk_gmac-dwmac 21c70000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  158.253500] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

❷ View the status of the network interface.

1ifconfig eth0

❸ Test network connectivity.

1ping -I eth0 www.armdesigner.com

3.6 SD Card

SD

After the micro SD card is inserted and recognized successfully, it will be mounted automatically. Run the following command to check the mount path of the SD card.

1df -h
Serial terminal output
Filesystem                Size      Used Available Use% Mounted on
/dev/root                47.5M     47.5M         0 100% /
devtmpfs                 60.4M         0     60.4M   0% /dev
tmpfs                   966.9M         0    966.9M   0% /dev/shm
tmpfs                   966.9M     16.0K    966.9M   0% /tmp
tmpfs                   966.9M    664.0K    966.3M   0% /run
/dev/block/by-name/oem
                        237.9M     55.3M    167.2M  25% /oem
/dev/block/by-name/userdata
                          5.8G     49.5M      5.6G   1% /userdata
/dev/sda1                58.0G     37.5G     20.4G  65% /tmp/sda1
/dev/mmcblk1p1           30.0G      4.5G     25.4G  15% /mnt/sdcard

3.7 WiFi & Bluetooth

WiFi&BT

3.7.1 WiFi

❶ Connect the WiFi antenna.

❷ Check the Wi-Fi device information.

1ifconfig wlan0
Serial terminal output
# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 6C:D5:52:A2:3A:35
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

❸ Scan for available WiFi hotspots.

1wpa_cli -i wlan0 scan
2wpa_cli -i wlan0 scan_results

❹ Connect hotspot.

1rkwifi_server connect SSID PSK        //'SSID': user SSID, 'PSK': password

After connecting, check the network status and test Wi-Fi connectivity.

1ifconfig wlan0
2ping -I wlan0 www.armdesigner.com

3.7.2 Bluetooth

By default, the device is configured to operate as a Bluetooth speaker. The following steps describe how to pair with and connect to a device:

❶ Start the BlueALSA A2DP sink service.

1bluealsa -p a2dp-sink &
Serial terminal output
# bluealsa -p a2dp-sink &
# bluealsa: W: Couldn't create storage directory: No such file or directory
bluealsa: E: Couldn't acquire D-Bus name. Please check D-Bus configuration. Requested name: org.bluealsa

[1]+  Done(1)                    bluealsa -p a2dp-sink

❷ Enter the Bluetooth control tool.

1bluetoothctl
Serial terminal output
# bluetoothctl
Waiting to connect to bluetoothd...Waiting to connect to bluetoothd...[bluetooth]#                                    hci0 new_settings: powered bondable ssp br/edr le secure-conn
[bluetooth]# [bluetooth]#                         Agent registered
[bluetooth]# [bluetooth]#                         [CHG] Controller 6C:D5:52:A2:3A:36 Pairable: yes
[bluetooth]# [bluetooth]#

❸ Enable Bluetooth and set it to discoverable mode.

Execute the following commands in bluetoothctl:

1power on
2discoverable on
Serial terminal output
[bluetooth]# [bluetooth]# power on
[bluetooth]# [bluetooth]#                         Changing power on succeeded
[bluetooth]# [bluetooth]# discoverable on
[bluetooth]# [bluetooth]#                         hci0 new_settings: powered connectable bondable ssp br/edr le secure-conn
[bluetooth]# [bluetooth]#                         hci0 new_settings: powered connectable discoverable bondable ssp br/edr le secure-conn
[bluetooth]# [bluetooth]#                         Changing discoverable on succeeded
[bluetooth]# [bluetooth]#                         [CHG] Controller 6C:D5:52:A2:3A:36 Discoverable: yes
[bluetooth]# [bluetooth]#

After this step, the Bluetooth device can be discovered by the phone.

❹ Pair and connect the Bluetooth device.

On the phone, find the Bluetooth device named BlueZ 5.77 in the Bluetooth device list, then tap it to pair and connect.

Bluetooth device list

If a pairing confirmation message appears, confirm it on both the phone and the board.

Serial terminal output
[bluetooth]# [bluetooth]#                         hci0 new_settings: powered connectable bondable ssp br/edr le secure-conn
[bluetooth]# [bluetooth]#                         hci0 new_settings: powered connectable discoverable bondable ssp br/edr le secure-conn
[bluetooth]# [bluetooth]#                         Changing discoverable on succeeded
[bluetooth]# [bluetooth]#                         [CHG] Controller 6C:D5:52:A2:3A:36 Discoverable: yes
[bluetooth]# [bluetooth]#                         hci0 A8:35:12:9A:EB:4D type BR/EDR connected eir_len 11
[bluetooth]# [bluetooth]#                         [NEW] Device A8:35:12:9A:EB:4D liuy
[bluetooth]# [bluetooth]# [liuy]#                         Request confirmation
[liuy]# [liuy]# [agent] Confirm passkey 303999 (yes/no): yes
[liuy]# [liuy]#                    hci0 new_link_key A8:35:12:9A:EB:4D type 0x05 pin_len 0 store_hint 1
[liuy]# [liuy]#                    hci0 device_flags_changed: A8:35:12:9A:EB:4D (BR/EDR)
[liuy]# [liuy]#                         supp: 0x00000000  curr: 0x00000000
[liuy]# [liuy]#                    [CHG] Device A8:35:12:9A:EB:4D ServicesResolved: yes
[liuy]# [liuy]#                    [CHG] Device A8:35:12:9A:EB:4D Paired: yes
[liuy]# [liuy]#                    Authorize service
[liuy]# [liuy]# [agent] Authorize service 0000110d-0000-1000-8000-00805f9b34fb (yes/no): yes
                 [CHG] Device A8:35:12:9A:EB:4D UUIDs: 8ce255c0-200a-11e0-ac64-0800200c9a66
[liuy]# [liuy]#

Check the log output to confirm the MAC address. In this example, the MAC address of the mobile phone is A8:35:12:9A:EB:4D.

❺ Exit bluetoothctl.

1exit

❻ Start Bluetooth audio playback.

1bluealsa-aplay A8:35:12:9A:EB:4D &
Serial terminal output
[liuy]# exit
# bluealsa-aplay A8:35:12:9A:EB:4D &
# bluealsa-aplay: W: Couldn't open ALSA mixer: Mixer element not found
#

After the Bluetooth connection is established, play audio on the phone. The audio should be output from the board.

3.8 IR

IR

❶ Connect the IR receiver.

❷ Enable IR debug logs.

1echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print

❸ Press remote button, key value printed to log.

Serial terminal output
# echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print
# dmesg | grep -Ei "USERCODE|RMC_GETDATA"
[   46.215271] USERCODE=0x1818
[   46.242508] RMC_GETDATA=e6
[   46.629794] USERCODE=0x1818
[   46.656951] RMC_GETDATA=9a
[   47.177519] USERCODE=0x1818
[   47.204731] RMC_GETDATA=9b
[   48.986199] USERCODE=0x1818
[   49.013275] RMC_GETDATA=99
[   49.326217] USERCODE=0x1818
[   49.353353] RMC_GETDATA=99
[   49.667350] USERCODE=0x1818
[   49.694497] RMC_GETDATA=9a
[   49.961815] USERCODE=0x1818
[   49.988972] RMC_GETDATA=98
[   51.210911] USERCODE=0x1818

3.9 RS485

RS485

❶ Connect PC and board with USB-to-RS485 adapter.

RS485 connection

RS485 connection

❷ Open two serial terminal windows. Set the debug serial port baud rate to 1500000, and set the RS485 serial port baud rate to 115200.

_images/IPC_RS485_baudrate.png

❸ Execute command on the terminal serial port of board to test RS485_0.

1com /dev/ttyS5 115200 8 0 1

❹ Input character to test RS485 communication.

_images/IPC_RS485_0_Test.png

❺ Press Ctrl + C to exit RS485_0 testing.

❻ Test RS485_1.

1com /dev/ttyS6 115200 8 0 1
_images/IPC_RS485_1_Test.png

3.10 UART

UART connect

❶ Connect RX and TX of UART.

❷ Execute command and input character to test.

1com /dev/ttyS4 115200 8 0 1
Serial terminal output
# com /dev/ttyS4 115200 8 0 1
port = /dev/ttyS4
baudrate = 115200
cs = 8
parity = 0
stopb = 1
1212121212121
RECV: 1212121212121
opopopopopo
RECV: opopopopopo
yuyuyuyuyu
RECV: yuyuyuyuyu
kklklklkl

3.11 CAN

CAN

❶ Connect PC and board with USB-to-CAN adapter.

CAN connection

CAN connection

❷ Open the CAN application and set the baudrate to 500000 on PC.

_images/IPC_CAN_baudrate.png

❸ Configure and enable the CAN0 on the board with a bitrate of 500000.

1ip link set can0 down
2ip link set can0 type can bitrate 500000
3ip link set can0 up

❹ Configure CAN0 as receiver.

1candump can0
_images/IPC_CAN_receiver.png

❺ Set CAN0 as Transmitter.

1cansend can0 123#DEADBEEFDEADBEEF
_images/IPC_CAN_Transmitter.png

The tests for CAN1 are similar to those for CAN0. Simply replace can0 with can1.

3.12 SPI

SPI

❶ Connect MOSI and MISO of SPI.

❷ SPI loopback test.

1test_spi 1 0
Serial terminal output
# test_spi 1 0
device= /dev/spidev1.0
spi mode: 0
bits per word: 8
max speed: 5000000 Hz (5000 KHz)

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
DE AD BE EF BA AD
F0 0D

3.13 ADC

ADC

Connect the ADC pin to two different voltage levels within 0~1.8V respectively. For each level, after setting the pin to that level, execute the test command.

1cat /sys/bus/iio/devices/iio:\device0/in_voltage1_raw   //test ADC1
Serial terminal output
# cat /sys/bus/iio/devices/iio:\device0/in_voltage1_raw
8
# cat /sys/bus/iio/devices/iio:\device0/in_voltage1_raw
8191

For other ADC read commands, refer to the ADC read command description below.

Single-channel read commands
1cat /sys/bus/iio/devices/iio:\device0/in_voltage1_raw   //ADC1
2cat /sys/bus/iio/devices/iio:\device0/in_voltage2_raw   //ADC2
3cat /sys/bus/iio/devices/iio:\device0/in_voltage3_raw   //ADC3
4cat /sys/bus/iio/devices/iio:\device0/in_voltage4_raw   //ADC4
5cat /sys/bus/iio/devices/iio:\device0/in_voltage5_raw   //ADC5
6cat /sys/bus/iio/devices/iio:\device0/in_voltage6_raw   //ADC6
Read all ADC1–ADC6 raw values
1for i in 1 2 3 4 5 6; do
2    echo -n "ADC$i: "
3    cat /sys/bus/iio/devices/iio:\device0/in_voltage${i}_raw
4done

3.14 RTC

RTC

The RTC on the SBC1126B is powered by a supercapacitor.

❶ Set the system time manually.

1date -s "2026-07-08 16:22:00"

If the network is connected, the system time may be synchronized automatically to the current UTC time.

❷ Set the hardware clock to current system time.

1hwclock -w

❸ Display date and time.

1hwclock
Serial terminal output
# date -s "2026-07-08 16:22:00"
Wed Jul  8 16:22:00 UTC 2026
# hwclock -w
# hwclock
Wed Jul  8 16:22:06 2026  0.000000 seconds
# hwclock
Wed Jul  8 16:22:41 2026  0.000000 seconds
# hwclock
Wed Jul  8 16:23:04 2026  0.000000 seconds

❹ Power off. Wait a while, then reapply power. If the RTC is functioning correctly, the clock should maintain its time and keep running while the board is powered off.

1hwclock
Serial terminal output
# hwclock
Wed Jul  8 16:31:18 2026  0.000000 seconds
# hwclock
Wed Jul  8 16:31:33 2026  0.000000 seconds
# hwclock
Wed Jul  8 16:32:01 2026  0.000000 seconds

3.15 Battery Supply

BAT

❶ Connect the Li-ion battery(7.4V) to the BAT connector, then press and hold the power button to turn on the board.

❷ Read the current battery capacity percentage.

1cat /sys/class/power_supply/cw221X-bat/capacity

❸ Read the current battery voltage.

1cat /sys/class/power_supply/cw221X-bat/voltage_now

3.16 Camera

Camera

The SBC1126B provides six MIPI CSI camera interfaces, including four 2-lane MIPI CSI interfaces and two 4-lane MIPI CSI interfaces.

The 2-lane and 4-lane MIPI CSI camera modes are mutually exclusive and cannot be used simultaneously. Different camera modes require corresponding hardware configurations and firmware images.

The default camera sensors are as follows:

  • 2-lane MIPI CSI camera: SC200AI.

  • 4-lane MIPI CSI camera: IMX415.

To enable 4-lane cameras, remove the following resistors on the back side of the board:

  • Camera0(8 resistors): R5/R10/R11/R21/R22/R26/R31/R37/R39/R46

  • Camera1(8 resistors): R58/R60/R62/R63/R64/R65/R67/R68/R69/R70

3.16.1 2-lane Camera

  • Quad-Camera Preview

    ❶ Check the network status and obtain the Ethernet IP address of the board.

    1ifconfig eth0
    
    Serial terminal output
    # ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr C6:72:C0:7F:A8:3A
              inet addr:192.168.0.66  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::c472:c0ff:fe7f:a83a/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:294 errors:0 dropped:37 overruns:0 frame:0
              TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:26761 (26.1 KiB)  TX bytes:3462 (3.3 KiB)
              Interrupt:91
    

    ❷ Open VLC media player on the PC.

    _images/VLC.webp

    ❸ Select Media -> Open Network Stream…

    _images/VLC_open.png

    ❹ Enter the following RTSP URL to preview the camera stream.

    1rtsp://192.168.0.66:554/live/0
    
    _images/IPC_VLC_RTSP.png
    _images/VLC_RTSP2.webp

    Note

    Replace 192.168.0.66 with the actual Ethernet IP address of the board.

  • Single-Camera Preview

    ❶ Stop the default rkipc service.

    1RkLunch-stop.sh
    

    ❷ Obtain the Ethernet IP address and check the network interface status.

    1udhcpc
    2ifconfig eth0
    
    Serial terminal output
    # udhcpc
    udhcpc: started, v1.36.1
    udhcpc: broadcasting discover
    udhcpc: broadcasting select for 192.168.0.159, server 192.168.0.1
    udhcpc: lease of 192.168.0.159 obtained from 192.168.0.1, lease time 86400
    deleting routers
    adding dns 192.168.0.1
    #
    # ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr E6:D1:34:7F:C1:B2
              inet addr:192.168.0.159  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::e4d1:34ff:fe7f:c1b2/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:653 errors:0 dropped:83 overruns:0 frame:0
              TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:54141 (52.8 KiB)  TX bytes:3322 (3.2 KiB)
              Interrupt:91
    

    ❸ Start the camera demo.

    1sample_demo_four_camera
    

    ❹ Open VLC media player on the PC.

    _images/VLC.webp

    ❺ Select Media -> Open Network Stream…

    _images/VLC_open.png

    ❻ Enter the RTSP URL to Preview the Camera Stream.

    Camera0
    1rtsp://192.168.0.159:554/live/0
    
    _images/IPC_VLC_RTSP1.png
    Camera1
    1rtsp://192.168.0.159:554/live/2
    
    Camera2
    1rtsp://192.168.0.159:554/live/4
    
    Camera3
    1rtsp://192.168.0.159:554/live/6
    

    Note

    Replace 192.168.0.159 with the actual Ethernet IP address of the board.

3.16.2 4-lane Camera

Verify that the resistors on the back of the development board have been removed.

  • Dual-Camera Preview

    ❶ Check the network status and obtain the Ethernet IP address of the board.

    1ifconfig eth0
    
    Serial terminal output
    # ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 02:27:CF:6A:93:00
              inet addr:192.168.0.236  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::27:cfff:fe6a:9300/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:79 errors:0 dropped:9 overruns:0 frame:0
              TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:8394 (8.1 KiB)  TX bytes:4006 (3.9 KiB)
              Interrupt:90
    

    ❷ Open VLC media player on the PC.

    _images/VLC.webp

    ❸ Select Media -> Open Network Stream…

    _images/VLC_open.png

    ❹ Enter the following RTSP URL to preview the camera stream.

    1rtsp://192.168.0.236:554/live/0
    
    _images/IPC_4lane_VLC_RTSP2.webp

    Note

    Replace 192.168.0.236 with the actual Ethernet IP address of the board.

  • Single-Camera Preview

    ❶ Stop the default rkipc service.

    1RkLunch-stop.sh
    

    ❷ Obtain the Ethernet IP address and check the network interface status.

    1udhcpc
    2ifconfig eth0
    
    Serial terminal output
    # udhcpc
    udhcpc: started, v1.36.1
    udhcpc: broadcasting discover
    udhcpc: broadcasting select for 192.168.0.236, server 192.168.0.1
    udhcpc: lease of 192.168.0.236 obtained from 192.168.0.1, lease time 86400
    deleting routers
    adding dns 192.168.0.1
    # ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 02:27:CF:6A:93:00
              inet addr:192.168.0.236  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::27:cfff:fe6a:9300/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:273 errors:0 dropped:34 overruns:0 frame:0
              TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:25252 (24.6 KiB)  TX bytes:4278 (4.1 KiB)
              Interrupt:90
    

    ❸ Start the camera demo.

    1sample_demo_dual_camera -s 0 -W 1920 -H 1080 -w 720 -h 576 -f 30 -r 0 -s 1 -W 1920 -H 1080 -w 720 -h 576 -f 30 -r 0 -n 0 -b 1
    

    ❹ Open VLC media player on the PC.

    _images/VLC.webp

    ❺ Select Media -> Open Network Stream…

    _images/VLC_open.png

    ❻ Enter the RTSP URL to Preview the Camera Stream.

    Camera0
    1rtsp://192.168.0.236:554/live/0
    
    _images/IPC_VLC_RTSP1.png
    Camera1
    1rtsp://192.168.0.236:554/live/2
    
    _images/IPC_camera_VLC_RTSP2-2.webp

    Note

    Replace 192.168.0.236 with the actual Ethernet IP address of the board.

3.17 Video Playback

Video playback can be tested using the simple_vdec_bind_vo command.

1simple_vdec_bind_vo -i /tmp/sda1/testh264.h264
# simple_vdec_bind_vo -i /tmp/sda1/testh264.h264
param list: w = 1920, h = 1080, i = /tmp/sda1/testh264.h264, b = 1
rockit_load start
v4l2_tx probe successv4l2_rx_probe success
rockit_load end
rockit log path (null), log_size = 0
log_file = (nil)
(null)           17:33:44-604 {log_level_init    :209}

 please use echo name=level > /tmp/rt_log_level set log level
        name: all cmpi mb sys vdec venc rgn vpss vgs tde avs wbc vo vi ai ao aenc adec
        log_level: 0 1 2 3 4 5 6

rockit default level 4, can use export rt_log_level=x, x=0,1,2,3,4,5,6 change
(null)           17:33:44-605 {read_log_level    :083} text is all=4
(null)           17:33:44-605 {read_log_level    :085} module is all, log_level is 4
(null)           17:33:44-605 {dump_version      :060} ---------------------------------------------------------
(null)           17:33:44-605 {dump_version      :061} rockit version: git-b85f3c523 Mon Jan 26 09:47:22 2026 +0800
(null)           17:33:44-605 {dump_version      :062} rockit building: built-Chu 2026-01-27 09:45:41
(null)           17:33:44-605 {dump_version      :063} ---------------------------------------------------------
(null)           17:33:44-605 {monitor_log_level :141} #Start monitor_log_level thread, arg:(nil)
vsys dev open 4
load library(librga.so) in releative path
mpp[1041]: mpp_info: mpp version: d7dd00e4f author: Herman Chen  2026-02-13 fix[h265d]: Fix invalid hvcc data crash on seek
mpp[1041]: hal_264d_com: control info: fmt 0, w 1920, h 1080
mpp[1041]: mpp_dec: mpp_dec_proc_cfg found MPP_DEC_SET_FRAME_INFO fmt 0
mpp[1041]: mpp_buf_slot: mismatch h_stride_by_pixel 1984 - 1920
mpp[1041]: mpp_buf_slot: mismatch h_stride_by_byte 1984 - 1920

Command explanation

  • simple_vdec_bind_vo: Video decoding and display test tool.

  • -i: Specifies the input video file.

  • /mnt/udisk/testh264.h264: Input H.264 file path.

Note

This command supports H.264 elementary stream files, such as .h264 files. Standard MP4 files are not supported.