Beaglebone Black通过USB Host端口联网 同时保证以太网端口正常运行
第一步:切换ZTE Dongle工作模式
ZTE系列USB Dongle默认会以U盘存储模式挂载,需要切换到网卡/调制解调器模式,先安装模式切换工具:apt update && apt install usb-modeswitch -y
安装完成后重新插拔Dongle,执行ip a确认是否出现新的网络接口(通常命名为wwan0或usb0)。第二步:配置以太网口(eth0)参数
以太网口仅用于对接BACnet IP的BMS内网,禁止配置默认网关,避免和USB Dongle的公网路由冲突。
以Beaglebone官方默认的Debian系列系统为例,修改/etc/network/interfaces配置文件,参考配置如下:
auto eth0 iface eth0 inet static address 192.168.1.10 # 替换为BMS网段内可用的静态IP netmask 255.255.255.0 # 替换为BMS网段对应的子网掩码 # 不要添加gateway配置项
执行systemctl restart networking让配置生效。
第三步:配置USB Dongle联网
如果是免拨号的4G Dongle,系统会自动通过DHCP获取IP、网关、DNS信息,执行ip route show确认默认路由指向USB Dongle对应的接口即可。
如果需要拨号,安装拨号工具:apt install ppp wvdial -y
根据运营商信息修改/etc/wvdial.conf配置完成后执行wvdial启动拨号,确认拨号成功后检查默认路由。
如果默认路由未指向USB接口,手动添加默认公网路由:ip route add default via <USB接口网关IP> dev wwan0
将上述命令中参数替换为实际的网关IP和接口名,如果原eth0存在默认路由,执行删除:ip route del default dev eth0第四步:配置BMS网段静态路由
为保证BMS内网访问流量走以太网口,添加静态路由:ip route add <BMS内网网段,示例为192.168.1.0/24> dev eth0
要让路由永久生效,可以把上述命令添加到/etc/rc.local开机自启文件中,或者写入network配置的post-up参数中。第五步:连通性验证
- 执行
ping <BMS系统IP>确认内网访问正常 - 执行
ping 114.114.114.114确认公网连通正常 - 执行
ping www.baidu.com确认DNS解析正常,如果解析失败,可以在/etc/resolv.conf中添加nameserver 8.8.8.8
内容的提问来源于stack exchange,提问作者Prasanna Sahasrabudhe

