Files
Johnathan Corgan ade9690278 Set basic rates on the OpenWrt 802.11s mesh so 24.10 and 25.12 routers peer
802.11s mesh points peer only with neighbours whose basic rates match
their own. fips-mesh-setup set no basic_rate on the mesh interfaces it
created, and OpenWrt 24.10 and 25.12 then join with different ones:
24.10, joining through iw, takes the radio's, by default 6, 12 and 24
Mb/s on 2.4 GHz, while 25.12 passes none to the kernel, which uses 1, 2,
5.5 and 11 Mb/s. A 24.10 router and a 25.12 router heard each other's
beacons and never peered, while each still peered with routers on its
own release.

fips-mesh-setup now sets basic_rate '6000 12000 24000' on every mesh
interface it creates, which matches what 24.10 already used and costs
less airtime than the 802.11b rates. A basic_rate already on the
interface is the operator's and is kept, including when the helper is
run again for the same radio.

A new rates subcommand gives the same value to each mesh interface
fips-mesh-setup made that has none, keeps and names one the operator
set, and leaves every other wifi-iface alone. 90-fips-setup runs it on
install and upgrade, after the mesh zone step, so meshes made by older
packages get the rates too. It saves the wireless configuration with the
same check the firewall save uses, and keeps a copy for a save a full
overlay leaves damaged. It does not reload the radios itself, but the
rates apply at the next reboot or network reload of any kind, including
the one the gateway makes when an upgrade from 0.5.2 starts it, so the
upgrade can drop a router's peerings. The helper's line, the package
README and the mesh how-to say so, and have routers reached over the
mesh upgraded and reloaded one at a time, farthest first. A failed save
ends the setup with status 1, so it runs again at the next boot, and a
later run saves and names rates an earlier run left staged. When a
firewall save earlier in the setup failed, which can mean the overlay is
full, the setup leaves the wireless configuration alone, since a
wireless file cut short takes every radio down at the next reload, and
sets the rates at a later boot.

OpenWrt 22.03 and 23.05 pass no basic rates to a mesh join, so on 2.4
GHz they keep joining with 1, 2, 5.5 and 11 Mb/s whatever is set, and
stop peering with 24.10 and later routers once those are upgraded and
reloaded. The helper's closing message, the package README and the mesh
how-to say so, and give the rates to set on the newer routers to keep
such a router in a 2.4 GHz mesh. A router left on the old package also
stops peering with upgraded ones until it is upgraded and reloaded. The
README and the how-to say which rates the mesh uses, that a basic_rate
on the interface overrides one on the radio, what the upgrade does, and
how to apply the rates by hand after a reinstall.

The firewall scenarios check that an add sets the rates and its closing
message names the 22.03 and 23.05 limit, that an upgrade sets them on
the 0.5.2 helper's meshes without a wifi reload, leaves other
wifi-ifaces alone and keeps an operator's value, that a re-add keeps an
operator's value, that the line says any network reload applies the
rates and gives the upgrade order, that a failed wireless save keeps the
setup and the next boot saves the rates and says so, that a wireless
save a full overlay damages is reported and its copy restores the file,
and that a damaged firewall save leaves the wireless configuration
untouched.
2026-10-15 00:28:52 +00:00
..