本帖最后由 史逸如 于 2024-11-9 09:58 编辑
无线通信赛道风起云涌,2012年出来的Wi-SUN集成前辈ZigBee、WiFi、Thread的优点,以IEEE802.15.4g为PHY、IEEE802.15.4e为MAC、6LoWPAN为适配层、IPV6为网络层构建数据帧,它的出现让FAN领域又添加一成员。它的长距、抗干扰性能在智慧公共事业受欢迎尤其智慧电力领域。不妨以RK3568B2为基础搭建wisun网关测试ipv6连通性。 一、 wisun网关
由于网关起协议翻译、不同网段转换作用,故外部网络的流量到linux网关都要设成转发模式,具体设置/etc/sysctl.conf文件里:
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
二、wisun协议栈
分Upper和Lower,upper由RK3568B2的wsbrd_cli充当上层由CPC或串口控制Lower射频工作。lower由EFR32FG25或EFR32ZG28烧录wisun_rcp固件完成,此步略去,于是upper环境开始搭建,参考GitHub -SiliconLabs/wisun-br-linux: Silicon Labs Wi-SUN Linux border router referenceimplementation。由于访问github,可按上篇教程的科学上网开启代理加速: 由于需要mbedtls来加密,安装该库,
安装完成,由于EFR23FG25或EFR32ZG28路由节点均设成了868MHz频段,边界路由也要相同配置,而BR由linux upper+rcp lower,修改在linux的example/wsbrd.conf:
wisun_rcp插入RK3568B2,
出现/dev/ttyACM0,输入“wsbrd -Fexamples/wsbrd.conf -u /dev/ttyACM0”开启入网过程,
三、错误深入
在主机搭建好官方推荐的Ubuntu22.04编译环境,其实和RK3568B2的debian11有差异性,主机用aarch64-bulidroot-linux-gnu-gcc12.3.0编译出的程序在RK3568B2无法直接运行,提示GLBC_2.34库不存在,
查看下主机和板子环境,果然不一样分别输入“strings /lib/x86_64-linux-gnu/libc.so.6|grep GLIBC_”和“strings /lib/aarch64-linux-gnu/libc.so.6|grep GLIBC_”,板子版本落后主机:
在Index of /gnu/glibc 下载glibc2.34源码编译安装结果也是报错未解决。第2章的cmake编译“Performing Test CMAKE_HAVE_LIBC_PTHREAD -Failed”错误清空、检查CmakeLists.txt等均未果。