2026年7月

本指南将带你完成 ArenaSDK 在 Linux 环境下的完整部署流程,包括软件安装、网卡性能优化以及网络通信配置。

第一阶段:解压与安装

  1. 解压 SDK 压缩包

    tar -xzf ArenaSDK_Linux_x64.tar.gz
  2. 进入 SDK 目录

    cd ArenaSDK_Linux_x64
  3. 赋予安装脚本执行权限

    chmod +x Arena_SDK_Linux_x64_AVMP.conf
  4. 运行安装脚本

    ./Arena_SDK_Linux_x64_AVMP.conf
    操作提示:运行后根据终端提示输入 sudo 密码,并在系统询问是否安装 conda 时,输入 y 确认安装。

第二阶段:网卡性能与系统内核配置 (GigE 相机优化)

  1. 配置网卡 Ring Buffer 和 MTU(巨型帧)
    创建一个 systemd 服务,确保每次开机自动优化 eno1 网卡性能:

    sudo sh -c 'cat > /etc/systemd/system/ring-buffer-eno1.service << EOF
    [Unit]
    Description=Set eno1 ring buffer and MTU
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/sbin/ethtool -G eno1 rx 4096 tx 4096
    ExecStart=/sbin/ip link set eno1 mtu 9000
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    EOF'
    
    sudo systemctl daemon-reload
    sudo systemctl enable ring-buffer-eno1.service
    sudo systemctl restart ring-buffer-eno1.service

    配置验证

    1. 输入 sudo ethtool -g eno1,应看到 RX: 4096TX: 4096
    2. 输入 ip link show eno1 | grep mtu,应看到 mtu 9000
  2. 扩大系统网络接收缓冲区大小

    sudo sh -c "echo 'net.core.rmem_default=33554432' >> /etc/sysctl.conf"
    sudo sh -c "echo 'net.core.rmem_max=33554432' >> /etc/sysctl.conf"
    sudo sysctl -p
  3. 关闭反向路由过滤 (rp_filter)
    编辑系统网络安全配置文件:

    sudo nano /etc/sysctl.d/10-network-security.conf
    操作提示:找到下面这两行代码,并在行首添加 # 将其注释掉,保存后退出:
    #net.ipv4.conf.default.rp_filter=1
    #net.ipv4.conf.all.rp_filter=1

第三阶段:IP 配置与相机绑定

  1. 为本地网卡分配 LLA 静态 IP

    sudo ip addr add 169.254.0.1/16 dev eno1
  2. 持久化配置相机 IP 地址
    使用 SDK 附带的 IP 配置工具,通过 MAC 地址绑定相机 IP:

    cd <arena_sdk_root_path>/Utilities/
    sudo ./IpConfigUtility /persist -m <your_mac> -p true -a <ip_that_you_want> -s 255.255.255.0 -g 0.0.0.0

    参数说明

    • <arena_sdk_root_path>:替换为你的实际 SDK 根目录路径。
    • <your_mac>:替换为相机的物理 MAC 地址。
    • <ip_that_you_want>:替换为你希望分配的相机 IP(需与 eno1 在同一网段,例如 169.254.0.100)。

第四阶段:运行与测试

  1. 进入软件目录

    cd <arena_sdk_root_path>/OutputDirectory/Linux/x64Release
  2. 运行Viewer

    sh avmp_run.sh

恭喜:) 至此,你已经完成了 ArenaSDK 在 Linux 上的部署!