5. IPC Application
In the IPC version, the rkipc service starts automatically after system boot. Before testing other functions, stop the rkipc service first.
1killall rkipc
1rkipc &
5.1 Serial Terminal
Connect the board and PC with USB Serial cable, then power on, the terminal will output boot information. The default baudrate is 1500000.
5.2 Display(MIPI)
In the IPC version, the system does not display a desktop by default after startup. If two cameras are connected before power-on, the system will automatically start the camera preview after booting. The display output shows the preview image from.
5.3 USB
5.3.1 USB OTG
The USB OTG port of Idea1126B-P is configured as host mode by default at startup.
echo device > /sys/kernel/debug/usb/21500000.usb/mode
usbdevice start
echo host > /sys/kernel/debug/usb/21500000.usb/mode
5.3.2 USB Host
The USB2.0 Host can connect peripherals such as mouse, keyboards, and flash drives.
When a USB flash drive is inserted, the system will automatically mount it.
1df -h
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 33.9M 33.9M 0 100% /
devtmpfs 60.1M 0 60.1M 0% /dev
tmpfs 966.7M 0 966.7M 0% /dev/shm
tmpfs 966.7M 16.0K 966.6M 0% /tmp
tmpfs 966.7M 420.0K 966.3M 0% /run
/dev/block/by-name/oem
237.9M 86.1M 135.9M 39% /oem
/dev/block/by-name/userdata
5.8G 320.0K 5.7G 0% /userdata
/dev/sda1 58.0G 37.5G 20.4G 65% /tmp/sda1
5.4 Audio
❶ Connect the Speaker to the connector (2-pin/2.0mm pitch).
❷ Stop the rkipc service.
1killall rkipc
# killall rkipc
[rkipc.c][sig_proc]:received signo 15
# [server.c][rkipc_server_deinit]:rkipc_server_deinit failed
[audio.c][save_aenc_thread]:exit
[video.c][rk_video_deinit]:rk_video_deinit
cmpi 00:00:24-241 {ivs_chn_getResults:1051} get result timeout
[video.c][rkipc_ivs_get_results]:get chn 0 fail -1609203698
[osd.c][osd_time_server]:exit
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:Destory handle:0 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:Destory handle:1 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [2] failed with 0xa0038005
[video.c][rkipc_osd_bmp_destroy]:Destory handle:2 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [3] failed with 0xa0038005
[video.c][rkipc_osd_bmp_destroy]:Destory handle:3 success
[video.c][rkipc_osd_cover_destroy]:rkipc_osd_cover_destroy
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFrmChn (4) to vi/vpss failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFromChn to vi/vpss success
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_Destroy [4] failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:Destory handle:4 success
[video.c][rkipc_osd_cover_destroy]:rkipc_osd_cover_destroy
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFrmChn (5) to vi/vpss failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFromChn to vi/vpss success
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_Destroy [5] failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:Destory handle:5 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [6] failed with 0xa0038005
[video.c][rkipc_osd_bmp_destroy]:Destory handle:6 success
[video.c][rkipc_pipe_jpeg_deinit]:RK_MPI_VENC_DestroyChn success
CAMHW:K:camId:0, _notify_isp_stream_status off
[DEBUG rtsp_demo.c:642:rtsp_del_session] del session path: /live/0
[DEBUG rtsp_demo.c:642:rtsp_del_session] del session path: /live/1
[DEBUG rtsp_demo.c:642:rtsp_del_session] del session path: /live/2
vsys_release, 4
vi_release 8
(null) 00:00:25-645 {monitor_log_level :191} monitor_log_level quit
[isp.c][rk_isp_deinit]:cam_id is 0
[isp.c][rk_isp_deinit]:rk_aiq_uapi2_sysctl_stop enter
CAMHW:K:munmap success
XCORE:K:cid[0] rk_aiq_uapi2_sysctl_stop success.
[isp.c][rk_isp_deinit]:rk_aiq_uapi2_sysctl_deinit enter
AF:E:E:quit PdafStreamHelperThd!
IPCSERVER:K:message_receiver_deinit free
XCORE:K:cid[0] rk_aiq_uapi2_sysctl_deinit_locked success.
[isp.c][rk_isp_deinit]:rk_aiq_uapi2_sysctl_deinit exit
[rockiva.c][rkipc_rockiva_deinit]:begin
[rockiva.c][rkipc_rockiva_deinit]:ROCKIVA_BA_Release over
[rockiva.c][rkipc_rockiva_deinit]:end
[param.c][rk_param_deinit]:rk_param_deinit
[rkipc.c][main]:rkipc deinit over
❸ Record audio through the Digital MEMS MIC.
1rk_mpi_ai_test --device_rate 44100 --device_ch 2 --out_rate 44100 --out_ch 2 -o /tmp --sound_card_name hw:0,0
❹ Play audio through the Speaker.
Configure the speaker output path and volume.
1rk_mpi_amix_test -C 1 --control 'Power Amplifier' --value 'on'
2rk_mpi_amix_test -C 1 --control 'Speaker Switch' --value 'on'
3rk_mpi_amix_test -C 1 --control 'DAC Digital Volume' --value '300,300'
Play the recorded audio file.
1rk_mpi_ao_test -i /tmp/cap_out.pcm --input_ch 2 --input_rate 44100 --device_rate 44100 --device_ch 2 --sound_card_name hw:1,0
5.5 Ethernet
❶ Connect the board to the router via Ethernet.
# dmesg | grep -Ei "link|100Mbps"
[ 0.314970] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.891817] mpp_rkvdec2 22140100.rkvdec: link mode probe finish
[ 0.895194] can: netlink gateway - max_hops=1
[ 2.022032] rk_gmac-dwmac 21c70000.ethernet eth0: configuring for phy/rgmii link mode
[ 5.115388] rk_gmac-dwmac 21c70000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
❷ Check the network interface information.
1ifconfig eth0
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:D1:6F:D5:92:41
inet addr:192.168.0.33 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:584 errors:0 dropped:65 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:64711 (63.1 KiB) TX bytes:1158 (1.1 KiB)
Interrupt:84
❸ Ping URL to test Network.
1ping -I eth0 www.armdesigner.com
# ping -I eth0 www.armdesigner.com
PING www.armdesigner.com (3.174.46.111): 56 data bytes
64 bytes from 3.174.46.111: seq=0 ttl=246 time=188.774 ms
64 bytes from 3.174.46.111: seq=1 ttl=246 time=187.959 ms
64 bytes from 3.174.46.111: seq=2 ttl=246 time=188.376 ms
64 bytes from 3.174.46.111: seq=3 ttl=246 time=188.358 ms
64 bytes from 3.174.46.111: seq=4 ttl=246 time=190.400 ms
^C
--- www.armdesigner.com ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 187.959/188.773/190.400 ms
5.6 SD Card
Insert the SD card into the development board, and it will be automatically mounted. Run the command to check the mount path of the SD card.
1df -h
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 33.9M 33.9M 0 100% /
devtmpfs 60.1M 0 60.1M 0% /dev
tmpfs 966.7M 0 966.7M 0% /dev/shm
tmpfs 966.7M 16.0K 966.6M 0% /tmp
tmpfs 966.7M 428.0K 966.2M 0% /run
/dev/block/by-name/oem
237.9M 86.1M 135.9M 39% /oem
/dev/block/by-name/userdata
5.8G 328.0K 5.7G 0% /userdata
/dev/sda1 58.0G 37.5G 20.4G 65% /tmp/sda1
/dev/mmcblk1p1 59.5G 12.1G 47.4G 20% /mnt/sdcard
5.7 WiFi & Bluetooth
5.7.1 WiFi
❶ Connect the WiFi antenna.
❷ Check the Wi-Fi device information.
1ifconfig wlan0
# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 84:FC:14:8A:A6:45
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)
❸ Search for available WiFi hotspots.
1wpa_cli -i wlan0 scan
2wpa_cli -i wlan0 scan_results
# wpa_cli -i wlan0 scan
OK
# [network.c][rk_network_get_cable_state]:read Cable state
[network.c][rk_network_get_cable_state]:
[wlan0] link down
# wpa_cli -i wlan0 scan_results
bssid / frequency / signal level / flags / ssid
c8:3a:35:51:1e:98 2442 -70 [WPA-PSK-CCMP][ESS] Tenda_511E98
b4:f1:8c:6d:d1:29 2462 -75 [WPA2-PSK-CCMP][ESS]
b4:f1:8c:fd:d1:29 2462 -75 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] Boardcon_Wi-Fi5
b4:f1:8c:6d:d1:24 2462 -76 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS] Boardcon
b2:22:7a:5a:b6:4a 2462 -79 [WPA2-PSK-CCMP][ESS][P2P] DIRECT-4A-HP Laser 136w
7c:7d:21:2c:95:34 2442 -85 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] Ly-2.4g
b4:f1:8c:6d:d1:25 2462 -76 [ESS]
❹ Connect to the WiFi hotspot.
1rkwifi_server connect SSID PSK //'SSID': user SSID, 'PSK': password
After connected, ping URL/IP at terminal to test network.
1ifconfig wlan0
2ping -I wlan0 www.armdesigner.com
# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 84:FC:14:8A:A6:45
inet addr:192.168.0.160 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:218 errors:0 dropped:43 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25926 (25.3 KiB) TX bytes:6774 (6.6 KiB)
# ping -I wlan0 www.armdesigner.com
PING www.armdesigner.com (108.138.246.71): 56 data bytes
64 bytes from 108.138.246.71: seq=0 ttl=246 time=168.595 ms
64 bytes from 108.138.246.71: seq=1 ttl=246 time=192.715 ms
64 bytes from 108.138.246.71: seq=2 ttl=246 time=176.407 ms
64 bytes from 108.138.246.71: seq=3 ttl=246 time=164.359 ms
64 bytes from 108.138.246.71: seq=4 ttl=246 time=965.979 ms
64 bytes from 108.138.246.71: seq=5 ttl=246 time=182.931 ms
^C
--- www.armdesigner.com ping statistics ---
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 164.359/308.497/965.979 ms
5.7.2 Bluetooth
Bluetooth is configured to work as a Bluetooth speaker by default.
❶ Start the BlueALSA A2DP sink service.
1bluealsa -p a2dp-sink &
# bluealsa -p a2dp-sink &
# bluealsa: [2851] D: storage.c:84: Initializing persistent storage: /var/lib/bluealsa
bluealsa: [2851] W: storage.c:87: Couldn't create storage directory: Read-only file system
bluealsa: [2851] D: main.c:604: Starting main dispatching loop
bluealsa: [2851] E: main.c:133: 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
❸ Enable Bluetooth and set it to discoverable mode.
1power on
2discoverable on
[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 84:FC:14:8A:A6:46 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.
If a pairing confirmation message appears, confirm it on both the phone and the board.
[bluetooth]# [bluetooth]# bluealsa: [624] D: bluez.c:1199: Signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded()
[NEW] Device A8:35:12:9A:EB:4D liuy
[bluetooth]# [bluetooth]# [liuy]# Request confirmation
[liuy]# [liuy]# [agent] Confirm passkey 421651 (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 Bonded: yes
[liuy]# [liuy]# bluealsa: [624] D: bluez.c:1199: Signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded()
[CHG] Device A8:35:12:9A:EB:4D Modalias: bluetooth:v010Fp107Ed1436
[liuy]# [liuy]# [bluetooth]# [CHG] Device A8:35:12:9A:EB:4D Connected: no
[bluetooth]# [bluetooth]# hci0 A8:35:12:9A:EB:4D type BR/EDR connected eir_len 11
[bluetooth]# [bluetooth]# [liuy]# [CHG] Device A8:35:12:9A:EB:4D Connected: yes
[liuy]# [liuy]# Authorize service
[liuy]# [liuy]# [agent] Authorize service 0000110d-0000-1000-8000-00805f9b34fb (yes/no): yes
[liuy]# [liuy]# bluealsa: [624] D: bluez.c:1199: Signal: org.freedesktop.DBus.ObjectManager.InterfacesAdded()
bluealsa: [624] D: dbus.c:47: Called: org.bluez.MediaEndpoint1.SetConfiguration() on /org/bluez/hci0/A2DP/SBC/sink/1
bluealsa: [624] D: a2dp.c:383: Selected A2DP SBC bit-pool range: [2, 53]
bluealsa: [624] D: storage.c:117: Loading storage: /var/lib/bluealsa/A8:35:12:9A:EB:4D
[NEW] Transport /org/bluez/hci0/dev_A8_35_12_9A_EB_4D/fd0
[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 -D plughw:1,0 A8:35:12:9A:EB:4D &
[liuy]# exit
[liuy]# [liuy]# #
# bluealsa-aplay -D plughw:1,0 A8:35:12:9A:EB:4D &
# bluealsa-aplay: [2826] D: aplay.c:846: Creating IO worker A8:35:12:9A:EB:4D
bluealsa-aplay: [2826] D: aplay.c:1194: Starting main loop
bluealsa-aplay: [2827] D: aplay.c:514: Opening BlueALSA source PCM: /org/bluealsa/hci0/dev_A8_35_12_9A_EB_4D/a2dpsnk/source
bluealsa: [2828] D: dbus.c:47: Called: org.bluealsa.PCM1.Open() on /org/bluealsa/hci0/dev_A8_35_12_9A_EB_4D/a2dpsnk/source
bluealsa-aplay: [2827] E: aplay.c:517: Couldn't open BlueALSA source PCM: Device or resource busy
bluealsa-aplay: [2827] D: aplay.c:490: Exiting IO worker A8:35:12:9A:EB:4D
After the Bluetooth connection is established, play audio on the phone. The audio should be output from the board.
5.8 IR LED
❶ Turn on the IR LED.
1echo 1 > /sys/class/leds/ir_led/brightness
❷ Turn off the IR LED.
1echo 0 > /sys/class/leds/ir_led/brightness
5.9 PIR
The PIR sensor is used to detect human motion by sensing changes in infrared radiation.
Test the PIR sensor:
1pir_test.sh
When human motion is detected, the output is 1. When no motion is detected, the output is 0.
# pir_test.sh
0
0
1
1
0
0
1
1
1
1
5.10 Photoresistor
The photoresistor is used to detect ambient light intensity.
Read the raw ADC value.
1cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
2319
# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
860
# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
629
# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
1969
# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
1923
The output value changes with the ambient light intensity.
5.11 Relay
The relay has three terminals: NO, NC, and COM. By default, the relay is energized after power-on, and NO is connected to COM.
Release the relay:
1echo 1 > /sys/class/leds/raley_power/brightness
After execution, the relay is released, and NC is connected to COM.
To energize the relay again:
1echo 0 > /sys/class/leds/raley_power/brightness
After execution, NO is connected to COM again.
5.12 RF315(Deferred)
Deferred due to ongoing software debugging.
5.13 Wiegand
The Wiegand interface is commonly used for access control devices, such as card readers and keypads.
The board provides two Wiegand interfaces: Wieg_OUT and Wieg_IN. A loopback test can be performed by connecting Wieg_OUT to Wieg_IN.
❶ Connect the Wiegand pins.
❷ Open a terminal through the serial port, run the Wiegand output test program.
1wg_out_test
# wg_out_test
####Setup Wiegand output 26bit or 34bit.####
[1] Wiegand output 26bit
[2] Wiegand output 34bit
Select: 1
Enter HID (0-255):
❸ Open another terminal through ADB and run the Wiegand input test program.
1wg_input_test
❹ After entering the HID and PID values in wg_out_test, check whether the HID and PID received by wg_input_test are consistent with the sent values.
In this example, HID=0x64 and PID=0x03e8 correspond to HID=100 and PID=1000, so the Wiegand input/output test is successful.
- Parameter Description:
The following uses the 26-bit Wiegand data HID: 6f PID: 8b5c Raw=0x2df16b8 as an example to describe the meaning of each parameter.
Wiegand 26bit: HID=0x64 PID=0x03E8 Raw=0x02C807D1
(1)Bit Grouping Structure:
1 | 01100100 | 0000001111101000 | 1
^
Facility Card Number ^
(2)Breakdown:
P1 (Leading parity bit):1
HID / Facility Code:01100100 = 0x64 = 100
PID / Card Number: 0000001111101000 = 0x03E8 = 1000
P2 (Trailing parity bit):1
Raw Data: 0b10110010000000011111010001 = 0x02C807D1
5.14 RS485
❶ Connect PC and board with USB-to-RS485 adapter.
RS485 connection
❷ Open the Serial Terminal and set baud rate for the board and RS485 adapter respectively.
Baud rate: board - 1500000; RS485 adapter - 115200
❸ Execute a command through the terminal serial port of the board.
1com /dev/ttyS4 115200 8 0 1
❹ Input character to test RS485 communication.
5.15 UART
❶ Connect RX and TX of UART.
❷ Execute command and input character to test.
1com /dev/ttyS5 115200 8 0 1
# com /dev/ttyS5 115200 8 0 1
port = /dev/ttyS5
baudrate = 115200
cs = 8
parity = 0
stopb = 1
hhhhhhhhhhhhhhh
RECV: hhhhhhhhhhhhhhh
5.16 CAN
❶ Connect PC and board with USB-to-CAN adapter.
CAN connection
❷ Open the CAN application and set the baudrate to 500000 on PC.
❸ Configure and enable the CAN0 interface on the board with a bitrate of 500000.
1ip link set can0 down
2ip link set can0 type can bitrate 500000 dbitrate 500000 fd on
3ip link set can0 up
❹ Configure the CAN test tool as the sender, and configure CAN0 on the board as the receiver.
1candump can0
❺ Configure the CAN test tool as the receiver, and configure CAN0 as the Transmitter.
1cansend can0 123#11223344556677
5.17 SPI
❶ Connect MOSI and MISO of SPI.
❷ SPI loopback test.
1spidev-test -D /dev/spidev1.0 -v
# spidev-test -D /dev/spidev1.0 -v
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.18 White LED
The board provides user LEDs for function testing. The LED can be controlled by writing values to the brightness node.
❶ Turn on the LED.
1echo 1 > /sys/class/leds/user_led/brightness
❷ Turn on the LED.
1echo 0 > /sys/class/leds/user_led/brightness
5.19 Camera
❶ Connect the cameras to the board and power on.
❷ Check the network status and obtain the Ethernet IP address of the board.
1ifconfig eth0
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 3A:24:5D:E4:A0:51
inet addr:192.168.0.128 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26497 errors:0 dropped:3153 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2549876 (2.4 MiB) TX bytes:1266 (1.2 KiB)
Interrupt:84
❸ Stop the default rkipc service.
1killall rkipc
# killall rkipc
[rkipc.c][sig_proc]:received signo 15
# [server.c][rkipc_server_deinit]:rkipc_server_deinit failed
[audio.c][save_aenc_thread]:exit
[video.c][rk_video_deinit]:rk_video_deinit
[osd.c][osd_time_server]:exit
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:Destory handle:0 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:Destory handle:1 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [2] failed with 0xa0038005
[video.c][rkipc_osd_bmp_destroy]:Destory handle:2 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [3] failed with 0xa0038005
[video.c][rkipc_osd_bmp_destroy]:Destory handle:3 success
[video.c][rkipc_osd_cover_destroy]:rkipc_osd_cover_destroy
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFrmChn (4) to vi/vpss failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFromChn to vi/vpss success
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_Destroy [4] failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:Destory handle:4 success
[video.c][rkipc_osd_cover_destroy]:rkipc_osd_cover_destroy
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFrmChn (5) to vi/vpss failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_DetachFromChn to vi/vpss success
[video.c][rkipc_osd_cover_destroy]:RK_MPI_RGN_Destroy [5] failed with 0xa0038005
[video.c][rkipc_osd_cover_destroy]:Destory handle:5 success
[video.c][rkipc_osd_bmp_destroy]:rkipc_osd_bmp_destroy
[video.c][rkipc_osd_bmp_destroy]:RK_MPI_RGN_Destroy [6] failed with 0xa0038005
[video.c][rkipc_osd_bmp_destroy]:Destory handle:6 success
[video.c][rkipc_pipe_jpeg_deinit]:RK_MPI_VENC_DestroyChn success
CAMHW:K:camId:0, _notify_isp_stream_status off
[DEBUG rtsp_demo.c:642:rtsp_del_session] del session path: /live/0
[DEBUG rtsp_demo.c:642:rtsp_del_session] del session path: /live/1
[DEBUG rtsp_demo.c:642:rtsp_del_session] del session path: /live/2
vsys_release, 4
vi_release 8
(null) 17:59:04-863 {monitor_log_level :191} monitor_log_level quit
[isp.c][rk_isp_deinit]:cam_id is 0
[isp.c][rk_isp_deinit]:rk_aiq_uapi2_sysctl_stop enter
CAMHW:K:munmap success
XCORE:K:cid[0] rk_aiq_uapi2_sysctl_stop success.
[isp.c][rk_isp_deinit]:rk_aiq_uapi2_sysctl_deinit enter
AF:E:E:quit PdafStreamHelperThd!
IPCSERVER:K:message_receiver_deinit free
XCORE:K:cid[0] rk_aiq_uapi2_sysctl_deinit_locked success.
[isp.c][rk_isp_deinit]:rk_aiq_uapi2_sysctl_deinit exit
[rockiva.c][rkipc_rockiva_deinit]:begin
[rockiva.c][rkipc_rockiva_deinit]:ROCKIVA_BA_Release over
[rockiva.c][rkipc_rockiva_deinit]:end
❹ 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
# sample_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
sensor 0: main:1920*1080, sub:720*576
sensor 1: main:1920*1080, sub:720*576
#CodecName:H265
#IQ Path: /oem/usr/share/iqfiles
#Rkaiq XML DirPath: /oem/usr/share/iqfiles
#bMultictx: 1
rkaiq log level ff1
XCORE:K:rk_aiq_init_lib, ISP HW ver: 35
************************** VERSION INFOS **************************
version release date: 2026-01-09
AIQ: AIQ v6.0x32.1
git logs:
7ed63f87 uapi2_c: fix aiq crash of tuingtool in camgroup mode
9502ee46 iqfiles: isp35: common: fix wrong aibnr en in imx464
b47b562b iqfiles: add imx766 iqfile for 1126B UVC
52163955 iqfiles: add imx464 iqfile for RV1126B AVS
b54d0b87 hwi: fix enh max row for isp33
************************ VERSION INFOS END ************************
ID: 0, sensor_name is m00_b_imx415 5-0036, iqfiles is /oem/usr/share/iqfiles
XCORE:K:rk_aiq_uapi2_sysctl_preInit_scene: main_scene: normal, sub_scene: day
XCORE:K:m00_b_imx415 5-0036: create preinitCfg success !
❺ Preview the camera stream on the PC.
Open VLC media player on the PC, select Media -> Open Network Stream… and enter one of the following RTSP URLs.
Camera0
1rtsp://192.168.0.128:554/live/0![]()
![]()
Camera1
1rtsp://192.168.0.128:554/live/2![]()
![]()
Note
Replace 192.168.0.128 with the actual Ethernet IP address of the board.
5.20 Video Playback
❶ Stop the default rkipc service.
1killall rkipc
❷ Video playback.
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) 18:06:19-914 {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) 18:06:19-915 {read_log_level :083} text is all=4
(null) 18:06:19-915 {read_log_level :085} module is all, log_level is 4
(null) 18:06:19-915 {dump_version :060} ---------------------------------------------------------
(null) 18:06:19-915 {dump_version :061} rockit version: git-b85f3c523 Mon Jan 26 09:47:22 2026 +0800
(null) 18:06:19-915 {dump_version :062} rockit building: built-Chu 2026-01-27 09:45:41
(null) 18:06:19-915 {dump_version :063} ---------------------------------------------------------
(null) 18:06:19-915 {monitor_log_level :141} #Start monitor_log_level thread, arg:(nil)
vsys dev open 4
load library(librga.so) in releative path
mpp[2990]: mpp_info: mpp version: d7dd00e4 author: Herman Chen 2026-02-13 fix[h265d]: Fix invalid hvcc data crash on seek
mpp[2990]: hal_264d_com: control info: fmt 0, w 1920, h 1080
mpp[2990]: mpp_dec: mpp_dec_proc_cfg found MPP_DEC_SET_FRAME_INFO fmt 0
mpp[2990]: mpp_buf_slot: mismatch h_stride_by_pixel 1984 - 1920
mpp[2990]: mpp_buf_slot: mismatch h_stride_by_byte 1984 - 1920
mpp[2990]: mpp_buf_slot: mismatch size_total 3237888 - 4177920
mpp[2990]: mpp_buf_slot: set frame info: w 1920 h 1080 hor 1920 ver 1088
mpp[2990]: mpp_dec: setting default w 1920 h 1080 h_str 1920 v_str 1088
Layer 0 is successfully bound to device 0.
get a hdl = 0x40082890
get a hdl = 0x400951e0
mpp[2990]: mpp_buf_slot: mismatch h_stride_by_pixel 960 - 800
mpp[2990]: mpp_buf_slot: mismatch h_stride_by_byte 960 - 800
mpp[2990]: mpp_buf_slot: mismatch size_total 1843200 - 2048000
get a hdl = 0x40095a30
load library(librga.so) in releative path
rga_api version 1.10.5_[11]
Command explanation:
simple_vdec_bind_voVideo decoding and display test tool.
-iSpecifies the input video file.
/tmp/sda1/testh264.h264Input H.264 file path.
Note
This command supports H.264 elementary stream files, such as .h264 files. Standard MP4 files are not supported.