* Simplify the OLSR watchdog
* Dont pull the routing table into LQM for supernodes.
LQM tracks routes on nodes to help keep leaf nodes connected even
when circumstances would probably prevent this. However on supernodes
the routing table is massive and pulling this into LQM will frequently
crash OLSRD. As we dont need this for supernode just dont do it for them.
- The "Always" checkbox now works for options with an explicit tag, and
is disabled for untagged options; the latter cannot be supported because
of a limitation in the OpwnWRT configuration language.
- Tagging by host name has been removed; it didn't work before and isn't
particularly useful in the AREDN context.
- Tagging by Agent Circuit ID, Agent Remote ID, and Subscriber-ID are
now supported so that a DHCP Relay Agent can be used to extend the LAN
across multiple subnets.
- Small improvements were made to error handling and hints.
* Cache the last wifi scan and update it when a re-scan is requested.
This change was suggested as a way of handling Ubiquiti AC devices
which disconnect while scanning and making retrieving the results
problematic if that was your connection. Now we scan and store the
results so they can be retrieved later. In fact we no longer scan when
navigating to this page but require an explicity scan button push.
This make the page generally more responsive when initially navigated
to.
* Reboot/reflash progress bar, time remaining in MM:SS
When rebooting or reflashing the node, display a progress bar as
well as the estimated time remaining. Also show the time remaining
in MM:SS format.
* Fix indentation error.
* Minor changes to improve browser compatibility.
Experimental wifi research reports that increased retries (rather than decreased as I originally
thought) improves tcp throughput on multi-hop wifi networks.
On some devices the hardware MAC for the WLAN and ETH are the
same so the 10.DTD and 10.WLAN addresses are identical. If we
detect this, bump the DTD address.
Commonly seen on TP-Link devices (but there are others)
Too many retries appears to cause network congestion issues slowing down
links with multiple hops, but reducing this to 1 then caused single links
to have poor performance. Try a rety of 2 as a better compromise.
* Revert hAP AC Lite xlink support
* Support CIDR (e.g. /24, /16, etc) on a xlink
Xlink had originally been envisaged as a point-to-point connection
leaving the "how" of that to other software. However, there's a use case
where the non-AREDN radios in the xlink need to be accessed, and allocating
addresses within the xlink's address range is a good way to do that.
By supporting a a subnet on a xlink we can enable this.
This is a workaround for a bug where iperf3 will just block
randomly and no longer send data. It may effect the absolute
performance measurements compared to the default buffer value
although I didnt see that in my testing
* Deduplicate and sort tag names in Advanced DHCP Options selector.
* Only build the deduplicated list of tag names once.
* Build DHCP option tag table more efficiently.
* First draft of advanced DHCP option specification on Ports tab.
Allows the node administrator to specify additional DHCP options that
will be supplied to LAN clients in specific circumstances. This change
adds two tables to the Ports configuration tab.
The "Tags for Advanced DHCP Options" table allows the administrator to
specify DHCP tags that will be assigned to clients that identify
themselves with specific values for properties such as Vendor Class or
MAC address.
The "Advanced DHCP Options" table allows the administrator to specify
arbitrary DHCP options to send to any client, or only to clients with a
specific tag. Option numbers can be entered directly or chosen from a
list of well-known options. Option values are manually entered by the
administrator.
In-browser validation is implemented for all input fields with easily
recognizable content such as host names, MAC addresses, and port and
option numbers. Placeholders are also supplied for input fields, such as
MAC addresses with wildcard matching, that might otherwise be difficult
to describe.
Issues with the current version:
- Sending DHCP options not requested by the client is implemented using
the dhcp_option_force UCI configuration option, but does not currently
work.
- Tagging by client host name is supported by dnsmasq, but not yet by
UCI.
- DHCP option values must be entered manually by the administrator, but
are not currently validated.
* Better validation, placeholders, and hints for existing input fields.
* Remove junk accidentally inserted in comment.
* Preserve Advanced DHCP options across updates.
* Improve tunnel and xlink display information
* Also weight nlq.
This is assumed both ends of a tunnel are equally weighted as we
have no way to get this information directly.
Unfortunately there doesnt appear to be much flexibility in the various
hardware watchdogs on radios, so setting the watchdog > 60 seconds mostly
doesnt work. So rework the settings to allow for this and that our watchdog
tests must be frequent and quick.
* Watchdog support, initial version.
The watchdog monitors three things:
1. A set of important system daemons.
2. A set of pingable ip addresses.
3. A time the node should reboot everyday.
This was removed in the latest OpenWRT but we still use it.
Original plan was to just provide the old http (as ohttp) along
side but too many third-party apps also need this.
Had attempt to optimize restarting olsrd by putting more tunnel devices
in the config file by default. Unfortunately, olsrd can't cope with too
many and performs poorly.
Added a comment at the top of /etc/config.mesh/network to inform node
admins how to override the network configuration for unusual and unique
network configurations. See issue #995 for explanation of when overrides
may be useful.
Relates-to: #995
Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
* Support antenna selection and allow heading to be specified
* More antennas
* Heading -> Azimuth
* Ubiquiti's catalog
* Add Mikrotik builtin antennas
* Some Ubiquiti builtins
* JP Performance Antennas
* Added Altelix
* More Altelix
* More radios
* Add elevation
* Add generic omnis, sectors and dishes
* Improve selection
* Improve display for non-wireless devices
* Improve omni and builtin setup
* mode -> model typo in antennas.json
* Typos
* Fix bad gateway when saving
* Add antenna height above ground level.
Fix more bad gateways
* Update antennas.json
* More radio antennas
* More antennas
* Enable dd-wrt firmware for Ubiquiti devices
* Dont include the wifi monitoring interface by default
We dont use it for anything
* Remove package which clashes with new firmware
* Disable chatty warning message
* Missed patch
* Wireguard tunnel support
* Fix wireguard firewall rules
* Add Wireguard tunnels to LQM
* Filter vlans on main bridge
* If you paste a tunnel config into any field, it will auto-populate all fields correctly
* Fix bad password keyword
* Fix bad feeds change
* Fix bad merge
* Initial OpenWRT 23.05.0 merge
* Fix get_rfchannels for new iwinfo format
* Fix initial wlan name
* Move patches to 5.15 from 5.10
* Fix flash write problem on Ubiquiti devices
* Use new ssl patch
* Reduce binary sizes
* Have to have hostapd installed now, even on tiny builds
* Simplify device support
* Revert Mikrotik NAND sysupgrade system.
OpenWRT doesnt really support Mikrotik NAND devices after 2019 and the
new support appeared broken. So reverted to the 2022 mechanism which does
work and avoid upgrade problems.
* Fixes for tiny builds
* More tiny shrinking
* Fix newly added firewall rules
* Update permanent packages
* Update permanent packages
* Support for Nanobeam 2AC (2.4GHz) device. 20MHz channels only.
* Update support
* Add GL.iNet B1300
* Add to radios.json
* Update supported devices
* Dont force the LAN DHCP to run
* Revert CURL SSL test
* Fix radio count when there are no radios
* Switch the lan ports on the gl-b1300
* Add support for GL.iNET Beryl MT1300
* Fix visual lat/lon setting bug
* Make the setup "Save Changes" button also save the location data
* Fix location/map system with geo location fallback
* Recolor
* Fix default bandwidth selection
* Support multi-band radios
* Generic mechanism to set compat version to 1.1
* Switch ethernet ports
* 20 MHz channels only
* Update docs
* Add ham channels to Mediatek chips (20MHz only)
* Automatically update the permpkg list when we upgrade
* Fix 10MHz mode for Ubiquiti AC devices
* Fix tiny builds
* Bump the watch timeout for restarting olsrd
olsrd is reliable these days, and very occasionally this
was restarting it unnecessarily
* Remove vestigial getServicesBy* methods
getServicesByNode is only a dummy method.
getServicesByService doesn't even exist.
Remove the last remaining references to them from cgi-bin/api, and remove the last traces of getServicesByNode from aredn/olsr.lua
Fixes#948Fixes#949
* Bump API version
Breaking change, removing parameters services=bynode,byservice
* Subdomain check too slow for realtime
so now do it in the namecheck service instead.
* Dont commit to VPN address until we set the DNS name
helps supernode setup
* Supernode option
* Change supernode 10/8 route injection.
Identify supernode in sysinfo.json
* Supernode tunnels use port 5526
* Advertise supernode-ness
* Update DNS if supernodes are available
* Open up supernodes DNS service to incoming mesh requests
* Simply nameserver update
* Support supernodes on hap ac2
* Improve supernode nameserver update reliability
* Rework how supernode nameservers are managed
* Improve supernode dns advertising
* Add super mesh button
* User supernode name not ip in advert
* Less intustive way to identify supernode dns
* Add supernode ignore options
Change supernode enabled -> enable
* Improve DNS updates
* Remove tunnels when switching to/from supernode mode
* Blackhole any unknown routes on the supernode to avoid recursing packets
* Add explicit reverse lookup rule for supernode when available
* Just use dnsmasq changes for both forward and reverse names
* Improve supernode detection
So it doesnt keep writing to flash
* Add reverse tunnel ip lookup to supernode
* enabled => enable
* Supernode tunnels start 172.30
* Remove supernode switch
* Simplify supernode check
* Fix nav test