无法获取或应用网络配置

问题

在 Ubuntu 上调用 Zivid::Camera::networkConfiguration()Zivid::Camera::applyNetworkConfiguration() 时,该过程超时并出现错误:

错误

无法获取相机 <serial-number> 的网络配置。此错误可能是由于防火墙阻止了传入的多播包。请参阅 https://support.zivid.com/en/latest/support/timed-out-waiting-for-network-config.html 以获取更多帮助。+ Timed out waiting for NetworkConfig

或者

错误

无法从相机 <serial-number> 获取响应。此错误可能是由于防火墙阻止传入的多播包造成的。请参阅 https://support.zivid.com/en/latest/support/timed-out-waiting-for-network-config.html 以获取更多帮助。+ Timed out waiting for CommandResponse

这可能发生在 Zivid Studio 中以及使用 CLI 工具 ZividNetworkCameraConfigurator 时。

原因

Ubuntu 上的防火墙可能会阻止传入的多播包,这些包用于获取连接相机的网络配置。

解决方案

Ubuntu 上的 firewall 默认是禁用的。要检查正在进行的连接的状态和默认策略,您可以运行:

sudo ufw status verbose

如果防火墙已启用,您可以通过禁用它来允许传入的多播包:

sudo ufw disable

如果您想保持防火墙处于启用状态,您可以通过以下方式允许将相机连接到的特定网络接口上的传入多播包:

sudo ufw allow in on <network-interface>

其中 <network-interface> 是网络接口的 ID。您可以列出所有可用的网络接口以及接口 IP 和子网,并通过以下方式找到您正在使用的网络接口:

ip address show

您还可以针对相机的 IP 地址,仅在相机正在使用的特定端口(端口 52813)上允许传入多播包。例如,如果相机 IP 地址为 172.28.60.5,请运行:

sudo ufw allow proto udp from 172.28.60.5 port 52813

或者针对整个子网 172.28.60.x,运行:

sudo ufw allow proto udp from 172.28.60.0/24 port 52813