I'm trying to connect two raspberry pi zero 2 W using a batman-adv mesh running on Ubuntu Server 22.04. I've set up batman both manually and using networkd+wpa_supplicant but to no avail. When using batctl n
, both raspberrys see each other but once I try to ping them with their assigned static IP there's no response.
I've disabled netplan and just left it to use networkd for the config. Here are the files for the bat0.network
interface config file:
[Match]Name=bat0[Address]Address=172.27.0.X # Different one for each pi
and bat0.netdev
:
[NetDev]Name=bat0Kind=batadv[BatmanAdvanced]GatewayMode=offRoutingAlgorithm=batman-iv
and wlan0.network
interface:
[Match]Name=wlan0[Link]MTUBytes=1468[Network]DHCP=noDHCPServer=noLinkLocalAddressing=noLLMNR=noMulticastDNS=no
and this is the wpa_supplicant-wla0.conf
:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=ITp2p_disabled=1network={ ssid="drone-mesh" mode=1 key_mgmt=NONE frequency=2432}
this is the netplan config if it can be of use:
network: version: 2 renderer: networkd
This is the output of iwconfig
:
wlan0 IEEE 802.11 ESSID:"drone-mesh" Mode:Ad-Hoc Frequency:2.432 GHz Cell: E6:7E:A8:1B:81:B8 Tx-Power=31 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:offbat0 no wireless extensions.
and ip addr
:
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bat0 state UP group default qlen 1000 link/ether d8:3a:dd:75:78:1a brd ff:ff:ff:ff:ff:ff inet 169.254.64.24/16 metric 2048 brd 169.254.255.255 scope link wlan0 valid_lft forever preferred_lft forever5: bat0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1468 qdisc noqueue state UNKNOWN group default qlen 1000 link/ether 42:2d:32:94:d2:e8 brd ff:ff:ff:ff:ff:ff inet 172.27.0.4/16 brd 172.27.255.255 scope global bat0 valid_lft forever preferred_lft forever
In the troubleshooting section of the batman wiki they say
Does 'batctl ping' to the other node work?If you can see the other node but can't send any packets through the mesh network, check whether you can ping it with batman-adv's internal echoing packets (see 'batctl ping -h' for usage info). If this works, check your layer 3 settings, in general your routes and IP adresses - don't use the same routes/addresses on different interfaces, don't set any ip-addresses on the mesh-port interfaces. Just use bat0 or the bridge you might have created on top of it.
But I wouldn't know where to start on modifying layer 3 settings