版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

代码块
languageshell
titlebash
# 设备A(RK3588)作为主机
# 步骤1:配置串口参数
stty -F /dev/ttyS2 115200 cs8 -cstopb -parenb
stty -F /dev/ttyS2 raw
stty -F /dev/ttyS2 -echo

# 步骤2:发送测试数据
echo "RS485_TEST_FROM_RK3588" > /dev/ttyS2

# 步骤3:接收数据测试(需要另一设备发送)
cat /dev/ttyS2
# 或使用十六进制显示
hexdump -C /dev/ttyS2

...

3.USB接口测试

1. 设备连接状态识别

 通过以下命令确认设备是否接入系统并获取设备节点信息:

...

结果说明lsusb输出中,ID 1d6b:0002对应 USB2.0 控制器,ID 1d6b:0003对应 USB3.0 控制器,可通过设备挂载的总线判断其关联的 USB 版本。

2. 设备配套 USB 版本兼容性

通过设备速度参数精准判断 USB 版本,USB2.0 对应高速(480Mbps),USB3.0 对应超高速(5000Mbps),操作如下:

1.查看设备速度文件


代码块
languageshell
titlebash
# 遍历所有USB设备,输出其传输速度
for device in $(ls /sys/bus/usb/devices/); do
    if [ -f "/sys/bus/usb/devices/$device/speed" ]; then
        speed=$(cat /sys/bus/usb/devices/$device/speed)
        echo "Device: $device, Speed: $speed Mbps"
    fi
done

 2 2.通过详细信息验证

代码块
languageshell
titlebash
# 查看指定USB设备的详细参数,搜索Speed字段
lsusb -v | grep -E "Speed|Device"

 结果说明:输出中Speed: 480Mbit/s对应 USB2.0,Speed: 5000Mbit/s对应 USB3.0。

3.传输性能测试

传输速率是 USB2.0 与 USB3.0 的核心差异点,USB2.0 理论速率 480Mbps,USB3.0 理论速率 5Gbps。以下提供两种常用测试方法,分别适用于存储设备和网络类 USB 设备。

1. 简易测试:dd 命令

dd命令可快速测试读写速率,适合初步验证,测试时需先挂载 USB 设备。

 1.1.挂载 USB 设备:

代码块
languageshell
titlebash
# 假设通过lsblk确认USB设备节点为/dev/sda1,创建挂载点并挂载
mkdir -p /mnt/usb
mount /dev/sda1 /mnt/usb

 2 1.2. 试顺序写速率:

代码块
languageshell
titlebash
# 写入1GB零数据到USB设备,绕过缓存确保结果真实
dd if=/dev/zero of=/mnt/usb/testfile bs=1M count=1024 conv=sync oflag=direct

 3 1.3.测试顺序读速率:

代码块
languageshell
titlebash
# 读取USB设备中的测试文件并丢弃,测试读取速度
dd if=/mnt/usb/testfile of=/dev/null bs=1M iflag=direct

 4 1.4.测试后清理临时文件:

代码块
languageshell
titlebash
rm /mnt/usb/testfile

 结果说明:命令执行完毕后会显示传输时间和速率,USB2.0 实际写速率通常在 10 - 30MB/s,USB3.0 实际写速率通常在 50 - 150MB/s(受设备本身性能影响)。

2. 专业测试:fio 工具

fio工具支持复杂的 IO 场景测试,结果更全面,适合深度性能评估。

 1 2.1.安装 fio:

代码块
languageshell
titlebash
# Ubuntu/Debian
sudo apt install fio -y

 2.2.fio测试命令代码块

代码块
languageshell
titlebash
# 顺序写测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=write -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 顺序读测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=read -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 随机写测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=randwrite -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 随机读测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=randread -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 随机读写混合测试(默认读写比例 50:50)
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=randrw -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

...

四、显示与视频接口测试

1.HDMI/DP输出测试

1.规格说明:

接口核心规格关键限制
HDMI 2.1单接口、支持 8K@30Hz/4K@60Hz、HDCP2.3需 HDMI2.1 认证线缆,最大带宽 48Gbps
DP 1.4a(4Lane)单接口、支持 4K@60Hz、HDCP2.38K 仅支持 30Hz,4K 可满帧 60Hz

2.分辨率验证(含 8K/4K)

1.显示接口及分辨率列表查询

...

代码块
languageshell
titlebash
执行命令:
cat /sys/class/video4linux/video0/name
输出结果: stream_hdmirx
说明: stream_hdmirx 表示这是一个视频流 HDMI 接收设备(hdmirx = HDMI Receiver)

结果分析:

设备节点设备类型功能说明权限 / 设备号
/dev/video0字符设备(c 开头)HDMI 输入视频采集设备(核心)root/video 组可读写;主设备号 81,次设备号 0
/dev/video-dec0普通文件系统视频解码设备root/video 组可读写
/dev/video-enc0普通文件系统视频编码设备root/video 组可读写

3.查询设备驱动信息:
代码块
languageshell
titlebash
readlink -f /sys/class/video4linux/video0/device/driver

...

开发板连接的显示屏弹出视频播放窗口,窗口内实时显示 HDMI 信号源输出的画面(如笔记本桌面、摄像头画面等),画面无花屏、卡顿、黑屏即为测试通过。

4.异常排查说明


异常现象可能原因排查方法
终端提示 “No such device”/dev/video0 节点不存在

1.检查 HDMI IN 驱动是否加载:lsmod grep rk_hdmirx

2.若无输出,重新加载驱动:sudo modprobe rk_hdmirx`
3.重新插拔 HDMI 线,确保接口接触良好

显示屏无播放窗口DISPLAY 环境变量配置错误执行 echo $DISPLAY 确认值为 :0.0,或切换到本地终端执行命令
画面卡顿 / 花屏信号源分辨率不兼容将 HDMI 信号源输出分辨率调整为 1080P@60Hz 后重新测试

五、无线通信测试

...





3.

...

视频硬解码性能测试

MMP视频解码器规格:

1.硬件规格符合性

WiFi 型号:AP6275P,支持 WiFi6(IEEE 802.11a/b/g/n/ac/ax MIMO),双发双收。

2.基础连接稳定性

1.启动NetworkManager服务

代码块
languageshell
titlebash
sudo systemctl start NetworkManager

...

插件名称:mppvideodec
插件版本:1.14.4
插件路径:/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrockchipmpp.so
支持编码:HEVC/H.265, AVC/H.264, VP8, VP9
解码类型:硬件加速解码
技术架构:基于Rockchip MPP(Media Process Platform)框架
最大解码能力:8K 10-bits 视频解码,支持 8K 60HZ 视频输出
测试步骤:
1.准备测试视频:
代码块
languageshell
titlebash
sudo nmcli dev wifi rescan                 # 重新扫描WiFi网络
sudo nmcli dev wifi list                   # 查看可用WiFi列表(可选)
sudo nmcli dev wifi connect "WiFi名称" password "WiFi密码" ifname wlan1

...

#假设视频路径:
C:\Users\Administrator\Desktop\test_video\4K_60fps.mp4

# 将视频文件推送到开发板的/tmp目录
adb push "C:\Users\Administrator\Desktop\boot\4K_60fps.mp4" /tmp/


执行硬解码测试:
代码块
languageshell
titlebash
ping# www.baidu.com验证硬解码功能(以H.264格式视频为例)
gst-launch-1.0 filesrc location=/tmp/4K_60fps.mp4 ! \
qtdemux ! \
h264parse ! \
mppvideodec ! \
videoconvert ! \
autovideosink

执行命令后显示屏会出现解码视频:

Image Added

开启第二个终端进行cpu占用率监控4.示例命令

代码块
languageshell
titlebash
sudo# nmcli窗口2:查看整体系统状态
adb devshell wifi connect "Hitop nova-bn1 9| Pro" password "12345678" ifname wlan1

3.Wi-Fi 网络 TCP/UDP 协议性能测试

1.环境准备:

两台测试设备(如开发板 + PC),确保处于同一网络(WiFi / 以太网);

...

head -20"


系统整体状态:

Image Added

代码块
languageshell
titlebash
# Debian/Ubuntu
sudo apt install iperf3

2.角色定义:

服务端(Server):接收数据的设备;

客户端(Client):发送数据的设备。

3.TCP 带宽测试(常用)

步骤 1:启动服务端

代码块
languageshell
titlebash
# 服务端默认监听5201端口
iperf3 -s

步骤 2:客户端发起测试

代码块
languageshell
titlebash
# 测试TCP带宽(持续10秒,默认)
iperf3 -c [服务端IP]

扩展命令(自定义参数)

代码块
languageshell
titlebash
# 测试30秒,每2秒输出一次实时数据
iperf3 -c [服务端IP] -t 30 -i 2
# 测试双向带宽(服务端/客户端互传)
iperf3 -c [服务端IP] -d

4.UDP 丢包 / 延迟测试

步骤 1:启动服务端

代码块
languageshell
titlebash
iperf3 -s

...

CPU使用率:用户态5.0% + 系统态5.0% = 总10%,空闲89.9%
内存:8GB总内存,仅使用731MB,空闲6GB
硬件解码工作正常:CPU占用率仅5.9%,远低软件解码
性能优秀:系统整体很空闲,解码4K视频无压力
内存使用低:仅占用26MB内存,硬件解码不占用大量内存

测试结果:视频能流畅播放,无卡顿、花屏现象,CPU 占用率低(硬件加速生效


七、音频接口测试

本测试针对设备的音频输出接口(含板载 Codec、HDMI),明确各接口的硬件映射关系:

card编号

设备名称

硬件接口

功能说明

0

rockchiphdmi0

HDMI0

第一个HDMI接口音频输出

1

rockchipdp0

DisplayPort0

第 1 路 DP 接口(仅支持视频输出,不支持音频

2

rockchipdp1

DisplayPort1

第 2 路 DP 接口(仅支持视频输出,不支持音频

4

rockchipes8388

ES8388 Codec

板载音频接口(3.5mm 4 节接口,支持:耳机输出、扬声器输出、MIC 输入)

1.测试准备

1.1 工具 / 文件:

  • 测试音频文件:test.wav(推荐格式:16bit、44.1kHz、立体声)

  • 调试工具:

    • 电脑端:adb(需配置环境变量)

    • 设备端:aplay(已预装)

1.2 硬件连接:

  • 测试 HDMI 音频:将 HDMI 线连接至设备的 HDMI 接口与支持音频输出的显示设备(如带音箱的显示器)

  • 测试板载音频:将 3.5mm 耳机插入板载音频接口

1.音频输出功能验证

代码块
languageshell
titlebash
# 步骤1:通过adb连接设备(确保设备已开启调试模式)
adb shell

# 测试UDP(指定带宽100Mbps)
iperf3 -c [服务端IP] -u -b 100M

5.结果解读(示例)

TCP 测试结果

代码块
languageshell
titlebash
[  5] local 192.168.1.10 port 5001 connected to 192.168.1.20 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec  # 实际带宽:943Mbps

UDP测试结果

步骤2:推送测试音频文件到设备(电脑端执行)
adb push C:\Users\Administrator\Desktop\test.wav /test.wav

# 步骤3:查看设备音频输出列表(确认card编号对应关系)
aplay -l

# 步骤4:HDMI0音频输出测试
aplay -D plughw:0,0 /test.wav
# 预期现象:HDMI连接的显示设备播放音频

# 步骤5:板载音频(耳机)输出测试
aplay -D plughw:4,0 /test.wav
# 预期现象:3.5mm耳机播放音频

# 步骤6:硬件功能验证(正弦波测试,排除文件本身问题)
speaker-test -D hw:4,0 -t sine -f 1000 -c 2 -l 2
# 预期现象:耳机输出1000Hz双声道正弦蜂鸣声

测试结果记录

测试项

操作命令

预期结果

HDMI0 音频输出

aplay -D plughw:0,0 /test.wav

显示设备正常播放音频

板载耳机输出

aplay -D plughw:4,0 /test.wav

耳机正常播放音频

硬件正弦波测试

speaker-test -D hw:4,0 -t sine -f 1000 -c 2 -l 2

耳机输出蜂鸣声

2.音频输入功能验证

1.列出所有音频采集设备

代码块
languageshell
titlebash
[#  5] local 192.168.1.10 port 5001 connected to 192.168.1.20 port 5201
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  119 MBytes   100 Mbits/sec  0.035 ms  0/85000 (0%)  # 丢包率:0%

 6.常见场景测试
 

测试目标命令示例
长连接稳定性(1 小时)iperf3 -c [IP] -t 3600
多线程并发测试iperf3 -c [IP] -P 4(4 线程)
限制带宽测试iperf3 -c [IP] -b 500M(限制为 500Mbps)

2.蓝牙连接测试

1.硬件说明

默认适配 AP6275P 蓝牙模块(支持蓝牙 5.2)

2.进入蓝牙命令模式

代码块
languageshell
titlebash
# 通过adb连接设备
adb shell
# 启动蓝牙控制工具
sudo bluetoothctl
查看系统音频设备列表(重点关注“Capture”(输入)设备)
arecord -l

2.典型输出示例

代码块
languageshell
titlebash
**** List of CAPTURE Hardware Devices ****
card 3: rockchiphdmiin [rockchip,hdmiin], device 0: rockchip,hdmiin i2s-hifi-0 [rockchip,hdmiin i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8323.3-0010-0 [dailink-multicodecs ES8323.3-0010-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

3.结果解析

设备类型关键信息 & 用途状态说明
card 3: rockchiphdmiin
 device 0
HDMI-IN 音频采集卡对应 Rockchip 芯片的 HDMI 输入音频通道
 用于采集 HDMI 信号中的音频流
正常识别(Subdevices: 1/1)
card 4: rockchipes8388
 device 0
板载音频编解码芯片ES8388/ES8323 是低功耗音频 Codec
 用于板载麦克风 / 扬声器的音频采集 / 播放
正常识别(Subdevices: 1/1)

4.录音测试(实时采集+播放)3.扫描并连接蓝牙设备

代码块
languageshell
titlebash
scan on   # 功能:实时采集音频输入(hw:4,0)并输出到音频输出(hw:0,0)
# 参数说明:
# - arecord端:
#   -D hw:4,0:指定音频输入设备(需根据实际`arecord -l`结果调整)
#   -r  48000:采样率48000Hz(适配多数音频设备)
#   -c 2:立体声采集(若MIC为单声道,可改为-c 1)
#   -f s16_le:16位小端音频格式(通用兼容格式)
# 开启蓝牙扫描(按Ctrl+C停止扫描)
trust [设备MAC地址] -t raw:以原始格式传输(避免文件编码开销)
# - aplay端:
#      # 信任目标设备
pair [设备MAC地址]           # 配对目标设备
connect [设备MAC地址]        # 连接目标设备

4.操作示例

代码块
languageshell
titlebash
# 扫描后,对MAC为7C:B4:37:11:5B:83的设备执行操作
trust 7C:B4:37:11:5B:83
pair 7C:B4:37:11:5B:83
connect 7C:B4:37:11:5B:83

5.测试结果判定

执行connect后,终端输出[CONN] Device 7C:B4:37:11:5B:83 Connected: yes,表示蓝牙连接成功。

、存储接口测试

1.M.2接口测试

1.硬件信息完整性

  • 接口类型:M.2 Key M PCIe3.0(兼容 B&M Key 扩展卡,支持 PCIe 4x + USB3.0)
  • 硬件安装:将 M.2 SSD 插入开发板 M.2 插槽

2.基础连接有效性

1.设备识别验证

代码块
languageshell
titlebash
# 查看系统是否识别到M.2 SSD
lsblk

预期结果:输出中显示 SSD 对应的磁盘设备(如nvme0n1)。

2.磁盘信息读取

代码块
languageshell
titlebash
# 查看M.2 SSD的详细信息(如容量、接口协议)
sudo fdisk -l

预期结果:显示 SSD 的容量、分区表类型(如 GPT),接口协议为PCIe 3.0 x4

3.读写性能测试

代码块
languageshell
titlebash
# 安装测试工具
sudo apt install hdparm fio

# 测试读取性能
sudo hdparm -tT /dev/nvme0n1  # 替换为实际SSD设备名

# 测试随机读写性能(示例:1GB数据)
fio --name=ssd-test --filename=/dev/nvme0n1 --size=1G --rw=randrw --bs=4k --numjobs=4 --iodepth=64 --runtime=30 --time_based

3.结果判定标准

  • 设备识别:lsblk显示 SSD 设备→识别成功;
  • 接口协议:fdisk -l显示PCIe 3.0 x4→接口匹配;
  • 性能达标:读取速度≥1000MB/s(PCIe3.0 SSD 典型值)→性能正常。

2.SATA接口测试

1.硬件连接说明

通过标准 7Pin SATA3.0 接口连接硬盘,SATA 电源支持 5V 2A 输出

2.硬盘识别与健康状态检测

代码块
languageshell
titlebash
# 查看硬盘信息及SMART健康状态
fdisk -l

#更新软件源(可选,避免安装失败)
apt update
# 若提示权限不足,先提权(已 root 可跳过)
# sudo apt update

#安装 smartmontools
apt install -y smartmontools

# 注:/dev/sda为实际识别的SATA设备节点,需根据系统显示调整
 smartctl -a /dev/sda  

测试结果验证

1.设备识别状态fdisk -l 输出中需显示 SATA 硬盘的容量、分区等信息;

2.SMART 健康状态smartctl -a 输出中SMART overall-health self-assessment test result项需显示为PASSED(如图中红框标注项)。

七、4G模块测试

测试目标

验证 4G 模块对应的quectel.service服务的启动、自启配置及网络连通性。

1.检查初始状态

操作步骤

代码块
languageshell
titlebash
# 查看服务当前状态
systemctl status quectel.service

# 检查开机自启配置
systemctl is-enabled quectel.service

预期结果

服务未运行,开机自启未设置

2.启动服务

测试步骤

代码块
languageshell
titlebash
# 启动quectel服务
systemctl start quectel.service

# 验证服务状态
systemctl status quectel.service

预期结果

务状态显示为 active (running)

3.设置开机自启

-D hw:0,0:指定音频输出设备(如HDMI/板载扬声器)
#   - 其余参数与arecord保持一致(确保格式匹配)
# - &:后台运行(避免终端阻塞)

arecord -D hw:4,0 -r 48000 -c 2 -f s16_le -t raw | aplay -D hw:0,0 -r 48000 -c 2 -f s16_le -t raw &

测试操作与结果验证

  1. 执行命令:在终端输入上述命令并回车;
  2. 触发音频输入:对着 MIC 说话 / 播放声音;
  3. 验证效果:从音频输出设备(扬声器 / 耳机)能实时听到采集的声音,无杂音、卡顿、延迟(<200ms)即为测试通过;
  4. 停止测试:执行kill %1(后台任务编号)终止实时采集。

*注意事项

  • 若执行报错Device or resource busy:先执行killall arecord aplay关闭占用音频设备的进程,再重新测试;
  • 若无声音:检查-D参数的设备编号(通过arecord -l/aplay -l确认正确的输入 / 输出设备);
  • 若杂音较大:将-c 2改为-c 1(单声道),或调整采样率为44100
  • 系统音频输入通道配置:打开系统声音设置,切换到「Input Devices」(输入设备)标签页,在设备对应的「Port」下拉选项中,选择「Internal Microphone」(内置麦克风),确保音频输入通道已正确启用。

Image Added


、存储接口测试

1.M.2接口测试

1.硬件信息完整性

  • 接口类型:M.2 Key M PCIe3.0(兼容 B&M Key 扩展卡,支持 PCIe 4x + USB3.0)
  • 硬件安装:将 M.2 SSD 插入开发板 M.2 插槽

2.基础连接有效性

1.设备识别验证

代码块
languageshell
titlebash
# 查看系统是否识别到M.2 SSD
lsblk

预期结果:输出中显示 SSD 对应的磁盘设备(如nvme0n1)。

2.磁盘信息读取

代码块
languageshell
titlebash
# 查看M.2 SSD的详细信息(如容量、接口协议)
sudo fdisk -l

预期结果:显示 SSD 的容量、分区表类型(如 GPT),接口协议为PCIe 3.0 x4

3.读写性能测试

代码块
languageshell
titlebash
# 安装测试工具
sudo apt install hdparm fio

# 测试读取性能
sudo hdparm -tT /dev/nvme0n1  # 替换为实际SSD设备名

# 测试随机读写性能(示例:1GB数据)
fio --name=ssd-test --filename=/dev/nvme0n1 --size=1G --rw=randrw --bs=4k --numjobs=4 --iodepth=64 --runtime=30 --time_based

3.结果判定标准

  • 设备识别:lsblk显示 SSD 设备→识别成功;
  • 接口协议:fdisk -l显示PCIe 3.0 x4→接口匹配;
  • 性能达标:读取速度≥1000MB/s(PCIe3.0 SSD 典型值)→性能正常。

2.SATA接口测试

1.硬件连接说明

通过标准 7Pin SATA3.0 接口连接硬盘,SATA 电源支持 5V 2A 输出

2.硬盘识别与健康状态检测测试步骤

代码块
languageshell
titlebash
# 查看硬盘信息及SMART健康状态
fdisk -l

#更新软件源(可选,避免安装失败)
apt update
# 若提示权限不足,先提权(已 root 可跳过)
# 配置服务开机自启
systemctl enable quectel.service sudo apt update

#安装 smartmontools
apt install -y smartmontools

# 验证自启配置
systemctl is-enabled quectel.service

预期结果

自启配置返回 enabled

4.重启验证

测试步骤

代码块
languageshell
titlebash
# 重启设备
reboot

# 重启后检查服务状态
systemctl status quectel.service

预期结果

设备重启后,服务自动运行,状态显示为 active (running)

5.网络连通性测试

注:/dev/sda为实际识别的SATA设备节点,需根据系统显示调整
 smartctl -a /dev/sda  

测试结果验证

1.设备识别状态fdisk -l 输出中需显示 SATA 硬盘的容量、分区等信息;

2.SMART 健康状态smartctl -a 输出中SMART overall-health self-assessment test result项需显示为PASSED(如图中红框标注项)。



六、无线通信测试

1.WIFI测试

1.硬件规格符合性

WiFi 型号:AP6275P,支持 WiFi6(IEEE 802.11a/b/g/n/ac/ax MIMO),双发双收。

2.基础连接稳定性

1.启动NetworkManager服务测试步骤

代码块
languageshell
titlebash
# 检查4G模块网络接口(以eth0为例,实际需根据模块接口调整)
ifconfig -a

# 测试网络连通性(ping公网地址)
ping -c 5 8.8.8.8

预期结果

4G网络接口正常获取 IP;

bash
sudo systemctl start NetworkManager

2.扫描并连接WiFi网络ping 测试成功,返回类似如下结果(无丢包):

代码块
languageshell
titlebash
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=60 ms

6.SIM卡功能

1.测试准备

硬件:已完成测试的 4G 模块、插入目标 4G SIM 卡的设备;

系统:确保quectel.service服务处于active (running)状态。

...

sudo nmcli dev wifi rescan                 # 重新扫描WiFi网络
sudo nmcli dev wifi list                   # 查看可用WiFi列表(可选)
sudo nmcli dev wifi connect "WiFi名称" password "WiFi密码" ifname wlan1

3.网络连通性测试

代码块
languageshell
titlebash
ping www.baidu.com

4.示例命令

代码块
languageshell
titlebash
sudo nmcli dev wifi connect "Hi nova 9 Pro" password "12345678" ifname wlan1

3.Wi-Fi 网络 TCP/UDP 协议性能测试

1.环境准备:

两台测试设备(如开发板 + PC),确保处于同一网络(WiFi / 以太网);

安装 Iperf3


代码块
languageshell
titlebash
# (以Quectel模块为例)通过AT指令查询SIM卡状态
# 进入模块AT指令交互终端(需根据模块串口调整设备节点,如/dev/ttyUSB2)
minicom -D /dev/ttyUSB2

# 在终端中执行AT指令
AT+CPIN?  # 检查SIM卡是否就绪
AT+CREG?  # 检查网络注册状态
AT+CGREG? # 检查分组域(数据业务)注册状态

八、音频接口测试

1.测试对象

1.本测试针对设备的音频输出接口(含板载 Codec、HDMI),明确各接口的硬件映射关系:

...

card编号

...

设备名称

...

硬件接口

...

功能说明

...

0

...

rockchiphdmi0

...

HDMI0

...

第一个HDMI接口音频输出

...

rockchipdp0

...

DisplayPort0

...

第 1 路 DP 接口(仅支持视频输出,不支持音频

...

rockchipdp1

...

DisplayPort1

...

第 2 路 DP 接口(仅支持视频输出,不支持音频

...

rockchipes8388

...

ES8388 Codec

...

板载音频接口(3.5mm 4 节接口,支持:耳机输出、扬声器输出、MIC 输入)

Debian/Ubuntu
sudo apt install iperf3

2.角色定义:

服务端(Server):接收数据的设备;

客户端(Client):发送数据的设备。

3.TCP 带宽测试(常用)

步骤 1:启动服务端

代码块
languageshell
titlebash
# 服务端默认监听5201端口
iperf3 -s

步骤 2:客户端发起测试

代码块
languageshell
titlebash
# 测试TCP带宽(持续10秒,默认)
iperf3 -c [服务端IP]

扩展命令(自定义参数)

代码块
languageshell
titlebash
# 测试30秒,每2秒输出一次实时数据
iperf3 -c [服务端IP] -t 30 -i 2
# 测试双向带宽(服务端/客户端互传)
iperf3 -c [服务端IP] -d

4.UDP 丢包 / 延迟测试

步骤 1:启动服务端

代码块
languageshell
titlebash
iperf3 -s

步骤 2:客户端发起测试

2.测试准备

2.1 工具 / 文件:

  • 测试音频文件:test.wav(推荐格式:16bit、44.1kHz、立体声)

  • 调试工具:

    • 电脑端:adb(需配置环境变量)

    • 设备端:aplay(已预装)

2.2 硬件连接:

  • 测试 HDMI 音频:将 HDMI 线连接至设备的 HDMI 接口与支持音频输出的显示设备(如带音箱的显示器)

  • 测试板载音频:将 3.5mm 耳机插入板载音频接口

...

代码块
languageshell
titlebash
# 步骤1:通过adb连接设备(确保设备已开启调试模式)
adb shell

# 步骤2:推送测试音频文件到设备(电脑端执行)
adb push C:\Users\Administrator\Desktop\test.wav /test.wav

# 步骤3:查看设备音频输出列表(确认card编号对应关系)
aplay -l

# 步骤4:HDMI0音频输出测试
aplay -D plughw:0,0 /test.wav
# 预期现象:HDMI连接的显示设备播放音频

# 步骤5:板载音频(耳机)输出测试
aplay -D plughw:4,0 /test.wav
# 预期现象:3.5mm耳机播放音频

# 步骤6:硬件功能验证(正弦波测试,排除文件本身问题)
speaker-test -D hw:4,0 -t sine -f 1000 -c 2 -l 2
# 预期现象:耳机输出1000Hz双声道正弦蜂鸣声

测试结果记录

...

测试项

...

操作命令

...

预期结果

...

HDMI0 音频输出

...

aplay -D plughw:0,0 /test.wav

...

显示设备正常播放音频

...

aplay -D plughw:4,0 /test.wav

...

耳机正常播放音频

...

speaker-test -D hw:4,0 -t sine -f 1000 -c 2 -l 2

...

耳机输出蜂鸣声

测试UDP(指定带宽100Mbps)
iperf3 -c [服务端IP] -u -b 100M

5.结果解读(示例)

TCP 测试结果

代码块
languageshell
titlebash
[  5] local 192.168.1.10 port 5001 connected to 192.168.1.20 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec  # 实际带宽:943Mbps

UDP测试结果

3.音频输入

1.列出所有音频采集设备

代码块
languageshell
titlebash
# 查看系统音频设备列表(重点关注“Capture”(输入)设备)
arecord -l

...

代码块
languageshell
titlebash
**** List of CAPTURE Hardware Devices ****
card 3: rockchiphdmiin [rockchip,hdmiin], device 0: rockchip,hdmiin i2s-hifi-0 [rockchip,hdmiin i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8323.3-0010-0 [dailink-multicodecs ES8323.3-0010-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

3.结果解析

设备类型关键信息 & 用途状态说明
card 3: rockchiphdmiin
 device 0
HDMI-IN 音频采集卡对应 Rockchip 芯片的 HDMI 输入音频通道
 用于采集 HDMI 信号中的音频流
正常识别(Subdevices: 1/1)
card 4: rockchipes8388
 device 0
板载音频编解码芯片ES8388/ES8323 是低功耗音频 Codec
 用于板载麦克风 / 扬声器的音频采集 / 播放
正常识别(Subdevices: 1/1)

4.录音测试(实时采集+播放)

代码块
languageshell
titlebash
# 功能:实时采集音频输入(hw:4,0)并输出到音频输出(hw:0,0)
# 参数说明:
# - arecord端:
#   -D hw:4,0:指定音频输入设备(需根据实际`arecord -l`结果调整)
#   -r 48000:采样率48000Hz(适配多数音频设备)
#   -c 2:立体声采集(若MIC为单声道,可改为-c 1)
#   -f s16_le:16位小端音频格式(通用兼容格式)
#   -t raw:以原始格式传输(避免文件编码开销)
# - aplay端:
#   -D hw:0,0:指定音频输出设备(如HDMI/板载扬声器)
#   - 其余参数与arecord保持一致(确保格式匹配)
# - &:后台运行(避免终端阻塞)

arecord -D hw:4,0 -r 48000 -c 2 -f s16_le -t raw | aplay -D hw:0,0 -r 48000 -c 2 -f s16_le -t raw &

测试操作与结果验证

  1. 执行命令:在终端输入上述命令并回车;
  2. 触发音频输入:对着 MIC 说话 / 播放声音;
  3. 验证效果:从音频输出设备(扬声器 / 耳机)能实时听到采集的声音,无杂音、卡顿、延迟(<200ms)即为测试通过;
  4. 停止测试:执行kill %1(后台任务编号)终止实时采集。

*注意事项

  • 若执行报错Device or resource busy:先执行killall arecord aplay关闭占用音频设备的进程,再重新测试;
  • 若无声音:检查-D参数的设备编号(通过arecord -l/aplay -l确认正确的输入 / 输出设备);
  • 若杂音较大:将-c 2改为-c 1(单声道),或调整采样率为44100
  • 系统音频输入通道配置:打开系统声音设置,切换到「Input Devices」(输入设备)标签页,在设备对应的「Port」下拉选项中,选择「Internal Microphone」(内置麦克风),确保音频输入通道已正确启用。

Image Removed

九、视频硬解码测试

[  5] local 192.168.1.10 port 5001 connected to 192.168.1.20 port 5201
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  119 MBytes   100 Mbits/sec  0.035 ms  0/85000 (0%)  # 丢包率:0%

 6.常见场景测试
 

测试目标命令示例
长连接稳定性(1 小时)iperf3 -c [IP] -t 3600
多线程并发测试iperf3 -c [IP] -P 4(4 线程)
限制带宽测试iperf3 -c [IP] -b 500M(限制为 500Mbps)

2.蓝牙连接测试

1.硬件说明

默认适配 AP6275P 蓝牙模块(支持蓝牙 5.2)


2.进入蓝牙命令模式

代码块
languageshell
titlebash
# 通过adb连接设备
adb shell
# 启动蓝牙控制工具
sudo bluetoothctl

3.扫描并连接蓝牙设备

代码块
languageshell
titlebash
scan on                      # 开启蓝牙扫描(按Ctrl+C停止扫描)
trust [设备MAC地址]          # 信任目标设备
pair [设备MAC地址]           # 配对目标设备
connect [设备MAC地址]        # 连接目标设备

4.操作示例

代码块
languageshell
titlebash
# 扫描后,对MAC为7C:B4:37:11:5B:83的设备执行操作
trust 7C:B4:37:11:5B:83
pair 7C:B4:37:11:5B:83
connect 7C:B4:37:11:5B:83

5.测试结果判定

执行connect后,终端输出[CONN] Device 7C:B4:37:11:5B:83 Connected: yes,表示蓝牙连接成功。

3.4G模块测试

验证 4G 模块对应的quectel.service服务的启动、自启配置及网络连通性。

1.检查初始状态

代码块
languageshell
titlebash
# 查看服务当前状态
systemctl status quectel.service

# 检查开机自启配置
systemctl is-enabled quectel.service

预期结果

服务未运行,开机自启未设置

2.启动服务

代码块
languageshell
titlebash
# 启动quectel服务
systemctl start quectel.service

# 验证服务状态
systemctl status quectel.service

预期结果

务状态显示为 active (running)

3.设置开机自启

代码块
languageshell
titlebash
# 配置服务开机自启
systemctl enable quectel.service

# 验证自启配置
systemctl is-enabled quectel.service

预期结果

自启配置返回 enabled

4.重启验证

代码块
languageshell
titlebash
# 重启设备
reboot

# 重启后检查服务状态
systemctl status quectel.service

预期结果

设备重启后,服务自动运行,状态显示为 active (running)


5.网络连通性测试

代码块
languageshell
titlebash
# 检查4G模块网络接口(以eth0为例,实际需根据模块接口调整)
ifconfig -a

# 测试网络连通性(ping公网地址)
ping -c 5 8.8.8.8

预期结果

4G网络接口正常获取 IP;

ping 测试成功,返回类似如下结果(无丢包):MMP视频解码器规格:

代码块
languageshell
titlebash
插件名称:mppvideodec
插件版本:1.14.4
插件路径:/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrockchipmpp.so
支持编码:HEVC/H.265, AVC/H.264, VP8, VP9
解码类型:硬件加速解码
技术架构:基于Rockchip MPP(Media Process Platform)框架
最大解码能力:8K 10-bits 视频解码,支持 8K 60HZ 视频输出
测试步骤:
1.准备测试视频:
代码块
languageshell
titlebash
#假设视频路径:
C:\Users\Administrator\Desktop\test_video\4K_60fps.mp4

# 将视频文件推送到开发板的/tmp目录
adb push "C:\Users\Administrator\Desktop\boot\4K_60fps.mp4" /tmp/

...

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=60 ms

4.SIM卡功能验证

1.测试准备

硬件:已完成测试的 4G 模块、插入目标 4G SIM 卡的设备;

系统:确保quectel.service服务处于active (running)状态。

2.SIM卡状态查询

代码块
languageshell
titlebash
# 验证硬解码功能(以H.264格式视频为例)
gst-launch-1.0 filesrc location=/tmp/4K_60fps.mp4 ! \
qtdemux ! \
h264parse ! \
mppvideodec ! \
videoconvert ! \
autovideosink

执行命令后显示屏会出现解码视频:

Image Removed

开启第二个终端进行cpu占用率监控

代码块
languageshell
titlebash
# 窗口2:查看整体系统状态
adb shell "top -bn1 | head -20"

系统整体状态:

Image Removed

代码块
languageshell
titlebash
CPU使用率:用户态5.0% + 系统态5.0% = 总10%,空闲89.9%
内存:8GB总内存,仅使用731MB,空闲6GB
硬件解码工作正常:CPU占用率仅5.9%,远低软件解码
性能优秀:系统整体很空闲,解码4K视频无压力
内存使用低:仅占用26MB内存,硬件解码不占用大量内存

...

# (以Quectel模块为例)通过AT指令查询SIM卡状态
# 进入模块AT指令交互终端(需根据模块串口调整设备节点,如/dev/ttyUSB2)
minicom -D /dev/ttyUSB2

# 在终端中执行AT指令
AT+CPIN?  # 检查SIM卡是否就绪
AT+CREG?  # 检查网络注册状态
AT+CGREG? # 检查分组域(数据业务)注册状态