Hi,
I am running the latest OpenWRT on 6 TP-Link EAP-225 with a BATMAN 5 GHz 802.11s mesh with default BATMAN options if not stated otherwise below.
5 of the devices are sitting in a row in different rooms, all having a stable connection to eachother with -60 to -70 dBm respectively.
With the last static link I am still able to get around 10Mbit/s iperf3 UDP connected to the first link.
The 6th device is setup to be mobile, moving from the first static device to the last static device.
I would like to see that the mobile device connects to device 1, 2, 3, 4 and 5 when moving to get the best iperf3 throughput.
I found the BATMAN IV performance to be bad as the link quality to one of the static devices with a bad RSSI (-80 to -90 dBm) was very high like > 200. Shouldnt the link quality fluctuate way more?
Because of that I am using BATMAN V. For that I set the elp_interval to 50ms to have a fast switch when the connection gets worse since BATMAN is internally using a exponential weighted moving average filter, see https://www.ewsn.org/file-repository/ewsn2024/ewsn2024posters-final14.pdf ...
With that I am theoretically able to switch fast between links. However I have the problem that connections with a bad RSSI like -80 to -90 dBm which the moving device is still connected to, show a "high" phy rate of 45Mbit/s (which seems to be the lowest MCS) even though it should be 0. This causes BATMAN to choose this device instead of the next hop device which has a stronger RSSI and the connection fails.
I am already using a RSSI threshold for joining, but this is obviously only for joining and does not cancel the connection afterwards when the RSSI gets worse.
I do not see a way to manually tell BATMAN to avoid a connection with a bad RSSI and my approach of removing the connection to this device via iw command proved to drop the connection for several seconds before finding a new connection.
Am I doing something wrong and the performance should be way better?
Elsewise I would compile kmod-batman-adv myself and setup a RSSI threshold in the kernel module which avoids connections (set expected throughput to 1mbps) with a RSSI under a defined threshold...
Thank you for any kind of help!