我正在为我最后一年的项目使用 Openwrt 802.11s 和 Tp-Link wr703n 迷你路由器构建 WiFi 网状网络。OLSR 作为路由协议运行。我正在使用 Linux。
总共4个路由器
LAN IP Adress Mac Mesh IP Adress
Node A 192.168.10.1 AO 192.168.5.1
Node B 192.168.11.1 6E 192.168.5.2
Node C 192.168.12.1 42 192.168.5.3
Node D 192.168.13.1 54 192.168.5.4
上面你可以看到每个路由器的 LAN IP 地址和网状地址。因此客户端 X 通过电缆连接到节点 A,并且为节点分配了 IP 地址 192.168.10.100。客户端 Y 连接到 D 并分配了 IP 地址 192.168.13.50。
当我尝试从 Y ping X 时,我无法让它工作。此外,我也无法从操作系统终端 ping 网状 IP 地址。但是当我通过终端登录到 OpenWrt 时,我可以 ping 网格内的任何 IP 地址。
我已经捕获了一些我要添加到帖子中的 802.11s 信标帧。如果你看最后:
Capability: 0x01 ... .... 0... = Mesh Forwarding: No ...
我觉得这就是问题所在,因为我以前有一篇论文,而完成该项目的学生的设置是Yes
,并且它正在工作。
那么,有人知道吗?
此外,我使用 Wireshark 检查了 OLSR 工作正常,并且可以将 hello 消息传输到消息等。
路由器配置文件之一-- OLSRD ----network---wireless
(除了 IP 地址之外它们都相同):
root@OpenWrt:/etc/config# cat wireless
config wifi-device 'radio0'
option type 'mac80211'
option macaddr '14:cf:92:3c:67:54'
option hwmode '11ng'
option htmode 'HT20'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option country 'IE'
option channel '11'
option txpower '7'
config wifi-iface
option device 'radio0'
option mesh_id 'mesh_OpenWrt'
option mode 'mesh'
option network 'mesh'
option encryption 'none'
root@OpenWrt:/etc/config# cat network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option ifname 'eth0'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option ipaddr '192.168.13.1'
option gateway '192.168.5.4'
config interface 'mesh'
option _orig_ifname 'wlan0'
option _orig_bridge 'false'
option proto 'static'
option ipaddr '192.168.5.4'
option netmask '255.255.255.0'
root@OpenWrt:/etc/config# cat olsrd
config olsrd
option IpVersion '4'
option FIBMetric 'flat'
option LinkQualityLevel '2'
option LinkQualityAlgorithm 'etx_ff'
option OlsrPort '698'
option Willingness '3'
option NatThreshold '1.0'
config LoadPlugin
option library 'olsrd_arprefresh.so.0.1'
config LoadPlugin
option library 'olsrd_dyn_gw.so.0.5'
config LoadPlugin
option library 'olsrd_httpinfo.so.0.1'
option port '1978'
list Net '0.0.0.0 0.0.0.0'
config LoadPlugin
option library 'olsrd_nameservice.so.0.3'
config LoadPlugin
option library 'olsrd_txtinfo.so.0.1'
option accept '0.0.0.0'
config Interface
option ignore '0'
option Mode 'mesh'
option interface 'mesh'
config InterfaceDefaults
option Mode 'mesh'