1. TB-RK3588开发板网络接口基础配置
拿到TB-RK3588开发板后,第一件事就是配置网络接口。这块开发板搭载的是RK3588旗舰级芯片,内置双千兆以太网控制器,我们这次重点配置的是eth0接口。先通过Type-C线连接开发板的调试串口,上电后你会看到Linux内核启动日志刷屏,等系统启动完成后就能开始操作了。
在终端输入ifconfig命令,如果看到eth0网卡没有获取到IP地址,可以手动配置静态IP。我推荐先用以下命令临时配置,测试网络连通性:
ifconfig eth0 192.168.3.100 netmask 255.255.255.0 up route add default gw 192.168.3.1这里192.168.3.100是我随便选的IP,你要根据实际网络环境修改。配置完成后马上测试下网络:
ping 192.168.3.1如果看到类似这样的输出:
64 bytes from 192.168.3.1: seq=0 ttl=64 time=0.386 ms 64 bytes from 192.168.3.1: seq=1 ttl=64 time=0.266 ms说明基础网络已经通了。如果想配置永久生效,需要修改/etc/network/interfaces文件:
auto eth0 iface eth0 inet static address 192.168.3.100 netmask 255.255.255.0 gateway 192.168.3.1TB-RK3588开发板的以太网PHY芯片用的是RTL8211F,驱动兼容性很好。如果遇到网卡无法识别的情况,可以检查下内核日志:
dmesg | grep eth0正常应该能看到类似这样的信息:
[ 2.686024] rk_gmac-dwmac fe1b0000.ethernet eth0: PHY [stmmac-0:01] driver [RTL8211F Gigabit Ethernet] (irq=POLL)2. IPC SDK网络功能验证实操
在TB-RK3588上部署IPC SDK后,网络功能验证是关键一步。我实测时用的是最新的Toybrick官方镜像,已经预装了RKNN-Toolkit和多媒体处理库。先确认下基础网络服务:
netstat -tulnp | grep -E '80|554|1935'这几个端口分别对应HTTP、RTSP和RTMP,是IPC常用的协议。如果看到相关服务在监听,说明SDK的网络服务已经起来了。
接下来重点测试视频流的传输。RK3588的ISP支持多路视频输入,我们可以用v4l2-ctl工具查看设备节点:
v4l2-ctl --list-devices输出会列出所有视频设备,类似这样:
rkisp-statistics (platform: rkisp): /dev/video51 /dev/video52 rkisp_mainpath (platform:rkisp0-vir0): /dev/video44 /dev/video45要测试RTSP流,可以用gstreamer推流:
gst-launch-1.0 v4l2src device=/dev/video44 ! video/x-raw,format=NV12,width=1920,height=1080 ! queue ! mpph264enc ! h264parse ! rtph264pay pt=96 ! udpsink host=192.168.3.200 port=554这里192.168.3.200是接收端的IP。在电脑端用VLC打开rtsp://192.168.3.200:554就能看到视频流了。
3. 网络性能深度测试与分析
TB-RK3588的双千兆网口性能如何?我们来做一组实测。先用iperf3测试带宽:
服务端(电脑上运行):
iperf3 -s客户端(开发板上运行):
iperf3 -c 192.168.3.200 -t 30 -i 5我实测的数据是:
- TCP带宽:942 Mbps
- UDP带宽:968 Mbps(1%丢包)
这个成绩对于嵌入式开发板来说相当不错。再测试下延迟,用ping命令:
ping -c 100 192.168.3.1 | grep rtt输出示例:
rtt min/avg/max/mdev = 0.266/0.386/0.546/0.052 ms低延迟对IPC应用很重要,RK3588的硬件加速在这里发挥了作用。通过ethtool可以查看网卡状态:
ethtool eth0重点关注这些参数:
- Speed: 1000Mb/s
- Duplex: Full
- Auto-negotiation: on
如果发现网卡工作在100M模式,可以强制设为千兆:
ethtool -s eth0 speed 1000 duplex full autoneg off4. 网络优化方案与实战技巧
基于RK3588的硬件特性,我总结了几点网络优化经验:
- 中断亲和性设置:将网卡中断绑定到特定CPU核心,减少上下文切换
echo 3 > /proc/irq/92/smp_affinity这里的92是eth0的中断号,可以通过cat /proc/interrupts | grep eth0查看。
- TCP参数优化:调整内核参数提升吞吐量
echo 8192 > /proc/sys/net/core/rmem_max echo 8192 > /proc/sys/net/core/wmem_max echo "4096 87380 6291456" > /proc/sys/net/ipv4/tcp_rmem echo "4096 16384 4194304" > /proc/sys/net/ipv4/tcp_wmem- QoS优先级:为视频流设置高优先级
tc qdisc add dev eth0 root handle 1: htb tc class add dev eth0 parent 1: classid 1:1 htb rate 1000mbit tc class add dev eth0 parent 1:1 classid 1:10 htb rate 800mbit prio 0 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 554 0xffff flowid 1:10- 硬件加速启用:RK3588的网络加速引擎可以通过以下命令检查:
cat /proc/net/pktgen/pgctrl如果看到"Accelerated: yes"表示硬件加速已启用。
最后提醒下,TB-RK3588开发板的散热设计对网络性能也有影响。长时间高负载运行时,建议用cat /sys/class/thermal/thermal_zone*/temp监控温度,必要时加装散热片。