Commit Graph

452 Commits

Author SHA1 Message Date
Tim Wilkinson e5bd9bc066
Simply the watchdog by fixing various timeouts. (#1038)
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.
2023-12-20 00:25:12 -08:00
Tim Wilkinson 2fe3904f0a
Accidenally created the wireguard devices twice (#1036) 2023-12-19 16:13:26 -08:00
Tim Wilkinson 0899ae7d02
Make watchdog easier to configure and less aggressive (#1034) 2023-12-19 12:07:47 -08:00
Tim Wilkinson bd26116e45
Improve 'wait_for_ticks' handling of system clock changes (#1035) 2023-12-19 12:07:11 -08:00
Tim Wilkinson cd4b99197a
Watchdog support, initial version. (#1030)
* 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.
2023-12-18 23:07:52 -08:00
Tim Wilkinson cc5c7cafd0
Make sure switching wifi modes forces a reboot. (#1027)
Because some hardware doesnt handle this well.
2023-12-17 21:14:38 -08:00
Tim Wilkinson 14494a477f
Add missing Request class to luci.http (#1026)
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.
2023-12-17 16:20:41 -08:00
Tim Wilkinson abd0f8075a
VMWare support (#1024) 2023-12-16 21:32:25 -08:00
Tim Wilkinson 9046357955
Fix wan client no encryption mode (#1023) 2023-12-16 21:26:33 -08:00
Tim Wilkinson 2ba923eaa9
Fix tunnel counts (missing commit) (#1022) 2023-12-16 17:55:18 -08:00
Tim Wilkinson b2fb79d6de
Typo (#1019) 2023-12-13 23:56:38 -08:00
Tim Wilkinson ceb7e973bf
Fix xlink monitoring by lqm (#1018) 2023-12-13 23:34:08 -08:00
Tim Wilkinson 18e17abf97
Fix services and xlinks (#1017) 2023-12-13 22:49:28 -08:00
Tim Wilkinson b702c1cfe7
Reduce packet retries on congested nodes (#1015)
* Experimental retry management

* Limit retries
2023-12-13 15:52:44 -08:00
Tim Wilkinson 4b29cd252d
Remove fixed tunnel limits (#1014)
* Remove need to predefine max number of tunnels

* Improve wireguard device creation
2023-12-13 13:59:54 -08:00
Tim Wilkinson 99a12238c1
Fix server vtun numbering (#1013) 2023-12-12 23:57:36 -08:00
Tim Wilkinson 188719c321
Reduce tunnels in olsrd to minimum (#1012)
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.
2023-12-12 23:26:27 -08:00
Tim Wilkinson 4120914a60
Improve node setup (#996)
* Reworking the node-setup system - less reboots when changing configuration

* Add restart-services to advnet
2023-12-12 20:01:23 -08:00
Tim Wilkinson d697fc0bec
Inprove vlan selection in advanced networking (#1002)
Add the GLiNet B1300
2023-12-10 14:33:49 -08:00
Tim Wilkinson aae5e14655
Add azimuth, elevation and antenna information (#979)
* 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
2023-12-06 12:30:23 -08:00
Tim Wilkinson 6d15dfb869
Extra bad olsr protection (#992)
* Better protection for missing olsrd files
2023-12-06 12:24:43 -08:00
Tim Wilkinson 09ed681311
Support remote syslogging (#971) 2023-12-06 12:19:18 -08:00
Tim Wilkinson 205f6e4ad8
Increase Supernode pollrate (#984)
* Bump the OLSR poll rate on supernodes
2023-12-06 12:14:17 -08:00
Tim Wilkinson 1694e3a6c7
Simplify how we measure link performance (#975)
* Simplify the way we measure link ping times

* Dont ping non-routables
2023-12-06 12:11:11 -08:00
Tim Wilkinson 927bdd1c8f
dd-wrt ubiquiti firmware (#973)
* 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
2023-12-06 11:59:47 -08:00
Tim Wilkinson bf3aa67f78
Wireguard tunnel support (#968)
* 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
2023-12-06 11:39:23 -08:00
Tim Wilkinson 475f371bb8
Initial OpenWRT 23.05.0 merge (#963)
* 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
2023-12-06 10:12:11 -08:00
Tim Wilkinson cdeb1b1d44
Improve dual radio customization support (#961) 2023-10-13 22:38:05 -07:00
Tim Wilkinson 63788ec9b1
Move cron.boot earlier (#955) 2023-10-07 10:52:54 -07:00
Steve 2d9914cb35
change pollrate default to one hour (#954) 2023-10-05 13:38:05 -07:00
Tim Wilkinson 880a4f195a
Improve the way we HUP dnsmasq (#953) 2023-09-29 20:09:53 -07:00
Brett T. Warden a2e9e3054c
Remove vestigial getServicesBy* methods (#952)
* 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 #948
Fixes #949

* Bump API version

Breaking change, removing parameters services=bynode,byservice
2023-09-29 20:09:16 -07:00
Tim Wilkinson 48ee7595ce
Read supernode status from /etc/config.mesh (#946)
Avoids running this twice after initial supernode change
2023-09-26 20:11:48 -07:00
Tim Wilkinson da8520e202
Supernode improvements (#945)
* Supernode tunnels are always "perfect"

* Move Super Mesh button onto mesh page
2023-09-24 20:40:28 -07:00
Tim Wilkinson 57e0d045e9
Supernode fixes (#944)
* 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
2023-09-21 20:13:38 -07:00
Tim Wilkinson a494a8c374
Supernode support (#938)
* 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
2023-09-19 20:06:09 -07:00
Tim Wilkinson eab36f4788
Fixes for subdns (#939)
* Fix display of service names so they support subdomains

* Add dnsmasq data to support dump

* Duplicate

* Check urls using FQDN as some targets care
2023-09-19 20:04:38 -07:00
Tim Wilkinson f6ffa4acb2
Fix dnsmasq directive (#936) 2023-09-18 17:03:34 -07:00
Tim Wilkinson 11f7fe6731
Support wildcard DNS subdomains (#935)
* Support DNS sub-domains

* Support wildcard domains
2023-09-18 16:47:48 -07:00
Tim Wilkinson 9b4d873778
Lqm neighbor improvements (#933)
* Improve detection of valid neighbors via the arp cache.
Was incorrectly excluding some.

* Fixes
2023-09-17 23:12:33 -07:00
Tim Wilkinson 91ab73fe6f
Auto reinstall package improvements (#932)
* Add network detection and retry

* Add message when package reinstall is happening

* Update permenant package list
2023-09-16 18:09:18 -07:00
Tim Wilkinson 1708c4926c
Remember and reinstall packages are firmware upgrade (#930) 2023-09-15 21:16:27 -07:00
Tim Wilkinson 000b40b362
Xlink broadcast (#926)
* Support empty peer (so broadcast on vlan)

* Detect and monitor peerless (broadcast) xlinks
2023-09-04 22:37:59 -07:00
Steve 8ce7c0b27d
fix local message refresh (#908) 2023-08-14 22:53:38 -07:00
Gerard Hickey f4321ff19b
Added support for group alert messages (#890)
* Added support for group alert messages

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>

* Fixed category for AAM group names setting

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>

* Revised aredn_message.sh to handle group messages better

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>

---------

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
2023-07-08 22:09:02 -07:00
Tim Wilkinson be9957183c
Lowercase the keys in radios.json (#895) 2023-07-08 22:04:23 -07:00
Tim Wilkinson bc0bd27bdd
RC: Day 1 fixes (#885)
* Dont compress the admin page so we handle upload timeouts more clearly

* Fix aredn.info.getFreq() so it always takes a radio and not an interface
2023-06-28 23:47:25 -07:00
Tim Wilkinson 0532afdbbf
Fix Mikrotik first install where the radios are not necessarily available. (#882) 2023-06-25 21:10:07 -05:00
Tim Wilkinson 056b60bb4d
Use wifi assoc list when looking for unresponsive nodes. (#881)
The arp cache keeps wifi entries long past them being associated with
the node, so now use wifi assoc list to find nodes, and the arp cache
to get their IPs.
2023-06-24 23:37:48 -07:00
Tim Wilkinson 426abfacfd
Fix MTU failure which broken node-setup (#878) 2023-06-22 19:17:43 -05:00