Commit Graph

312 Commits

Author SHA1 Message Date
Tim Wilkinson 773c69d171
Fix netmask on br-nomesh device (for when RF mesh is disabled) (#670) 2023-01-24 19:17:35 -06:00
Tim Wilkinson 701b2afa3c Refresh LQM's hostname periodically 2023-01-23 11:30:36 -08:00
Tim Wilkinson aa76c06b6a
Ignore non-routable when calculating hidden nodes (#665)
* Exclude neighbor's neighbors which are non-routable.
If a neighbor node's neighbor is non-routable, then no traffic will
flow from it, so it's not hidden

* Use routable flag for exposed node detection
2023-01-20 21:39:54 -06:00
Tim Wilkinson 78b8578a06
Automatically enable RTS when hidden nodes detected (#659) 2023-01-19 13:11:30 -06:00
Tim Wilkinson 45ac6c583f
Generalize node-setup variable expansion (#653)
* Turn variable expansion into a function so we can reuse it

* Fix not including missing include
2023-01-15 21:50:39 -08:00
Tim Wilkinson fdeda7d0cc
New network configuration code (#650)
* Migrate wired network building into node-setup
* Rework network setup
* Fixes for various alt wireless modes
* Commit to new vlan model
2023-01-14 23:07:22 -08:00
Tim Wilkinson 21c3b80e59 An node with a single RF link cant have exposed nodes 2023-01-14 22:54:00 -08:00
Tim Wilkinson b26017c2d1 Rework DTD blocking detection 2023-01-14 21:22:07 -08:00
Tim Wilkinson e0498ca856 Handle missing ip and more general RF/DTD identification 2023-01-13 14:08:36 -08:00
Tim Wilkinson 252b1dc8b7
Exposed node detection (#644) 2023-01-12 19:58:27 -08:00
Tim Wilkinson d2ac62e775 Bug fixes + distance information 2023-01-12 14:54:35 -08:00
Tim Wilkinson 72cc6c8a06
Hidden node detection (and optional mitigation) (#635)
* Enable RTS/CTS when we detect hidden nodes
* Only change rts setting when we need to
* RTS advanced config option
* Include neighbors blocked neighbors (they still transmit)
* Bump default RTS threashold
* Report list of hidden node rather than yes/no
* Canonical hostnames
* When we enable RTS, enable it for all traffic by default
* Show hidden neighbors in display
* Default RTS threshold to -1 (always off)
2023-01-12 10:31:28 -08:00
Tim Wilkinson 8b3551b539 Add a maximum timeout for service checks.
The connec timeout did not include DNS looksup, and if DNS is broken this can hang forever. Add
a maxmimum timeout so this call will eventually terminate regardless.
2023-01-08 17:03:43 -08:00
Tim Wilkinson fb6060cf3a Fix idle tunnel quality check
When a tunnel is idle, binding to the tun* device fails; so remove it.
As we have a direct tunnel route in the routing table (not OLSR table 30)
created by vtun, we will still correctly route the quality testing traffic.
2023-01-07 20:32:42 -08:00
Tim Wilkinson b082f56fee Remove LQM first run code
This was used during the transition to using LQM and is no longer needed.
2023-01-07 07:43:23 -08:00
Tim Wilkinson 9acdc231dd BAD TYPO - stops firmware being upgraded 2023-01-06 20:42:03 -08:00
Tim Wilkinson 5214d35fcd Provide better error feedback when upgrades fail 2023-01-05 19:13:01 -08:00
Tim Wilkinson fce9629249 Switch from wget to curl for better control of timeouts 2023-01-04 22:43:14 -08:00
Tim Wilkinson bea7fb6723
Fix tunnel quality measurement (#617) 2023-01-04 15:16:13 -06:00
Tim Wilkinson bc77ff8b5b
Enable ac neg channels (#615) 2023-01-03 21:25:22 -08:00
Tim Wilkinson 599819c73c
Dont kill hostapd at start of upgrade process. (#604) 2022-12-28 16:00:29 -06:00
Tim Wilkinson fa898ccb4f
Fix tonumber parsing when value is actually an error value (#580) 2022-12-23 23:01:07 -06:00
Tim Wilkinson 0992c62755
Terminate monitors when nothing to monitor (#577) 2022-12-22 23:35:01 -06:00
Tim Wilkinson 6950479bf1
Update AREDN to OpenWRT 22.3.2 (Major Upgrade) (#574)
* Update to Openwrt 21.02 and add support for the CPE710 v1
Update scripts to change references to ifname to device due to a change in Openwrt naming
reverse-wpad-basic-wolfssl and disable SSL on Curl

NOTE: The compile host must have python3-distutils installed for gpsd to build

* aredn: initial working upgrade to openwrt 21.02.1

* aredn: update 1 to working upgrade to openwrt 21.02.1

* aredn: add cpe710v1 to build config

* Andrew's patches

* Remove duplicates + display perl

* Temp disable wifi extension patch

* ifname/ports support

* Add spectrum patch back in

* Generic function to extra interfaces

* New api to get wifi ifname

* Disables jails

* Style link

* aredn: partial upgrade to openwrt 22.0.3.0

added AC device images and partial migration to 22.0.3.0
firewall upgrade pending

* aredn:  update mesh-release and revert config.mk

* Unused

* NFT firewall rewrite

* Common-isze configs

* Fix network layout for hap2

* Use local packages dev (new firewall rules)

* Add HAP2

* Add pause after network restart to let bridge reinitialize

* Various lua fixes for new lua version

* Tweak config

* Re-fix networking (lost patch change)

* Add new radio names

* Tolerate missing wifi

* Fix hap-lite switch setup

* More devices

* New radio id

* Build Rocket 5AC lite

* Remove need for luci.sys

* Remove need for luci.sys

* Explicitly name wlan interfaces

* Handle different compatibility verisoning

* Update networking for switches

* ipref version bump

* Extra flag for curl

* Better compat_version fix

* Remove wolfssl

* Fix dns server

* Fix device name

* Unused

* Remove things we dont need

* Remove unused packages

* Generic macaddr overrides

* Fix uci commit

* Fix luci.template.parser to avoid luci.http loading the real thing

* Rocket-M build

* Add search-domain dhcp option

* Turn of ipv6

* No IPV6 in dnsmasq

* Override mac addresses if devices all  the same

* Working from master (for now)

* Put back hostap

* Disable old ethmac fixup

* Tweak configs

* Move back to v22.03.2
Leave ipq4019 builds to master

* Need IPV6 to compile nft firewall

* Rocket-M fixes

* Before we start

* WIP

* Working snapshot

* Cleaned patches

* Merged patch

* Single patch to support HAP2

* Fix typo

* Add nanostation-m

* 5/10Mhz patch

* 5+10MHz patch for ath10k-ct driver

* Extend 2Ghz channel check to include -4 to -1

* Add chanbw setup for ath10k (like ath9k)

* Added TP-Link CPE710 v1

* Override firmwares

* Missing patch

* Dropbear config like 3.22.8.0

* Add Ubiquiti Rocket 5AC Lite

* Fix c6

* Update

* Need more scan channels

* Remove IPV6

* Improve mac fixups

* Put back missing nft app

* IPv6 removed so dont have to disable it

* Fix rocket-m flash bug

* Fix nanostation-m

* Nanobridge is tiny

* Fix wifi order for ar750

* Rocket M5 XW support

* New rates

* Fix firewall4 so we don't need IPv6

* Allow channel width to be restricted

* Move channel list into library

* Fix naming

* Mechanism to block specific channels on specific radios

* Refresh buttons

* routerboard-sxt-5nd

* CPE605 v1.0

* Improve rocket m xw

* tpink

* Update patch

* Update to remove disable

* Remove BW restrictions on cpe710

* Restrict to what has been tested

* Remove test BW restrictions

* sxtsq-5-ac

* Update

* Update

* powerbeam-m5-300 support

* Fix

* Fix hap2

* Tidy unused patches

* Remove limit

* Add ubnt_bullet-m-ar7241

* Added ubnt_nanobeam-ac-gen2

* Fix typo

* Tolerate missing dtd ip

* Explicitly gix hap2 mac addresses

* Fix some broken patches

* Hap2 wont work at 5MHz

* Ubiquiti LiteBeam 5AC Gen2

* Fix compat_version for sxt 5ac

* Update patch

* Unused

* Fix lan configuration for some devices

* Rolling average of noise level

* Unused

* Split out the ath10k rssi monitor (its very simple at the moment)

* Ignore .DS_Store

* Reboot if ethernet doesnt come up (but only once!)

* reboot returns - add exit

* Add some logging info

* Fix ]

* Check all possibly ethernet bridges

* Improve mac fixing

* Remove HostAP on small memory devices

* Reduce dropbear footprint

* Add setsid

* Kill hostap when upgrading to save memory

* Different way to detect hostapd unavailable

* New build steps

* Improve manager logging

* Fix name conflict for the two monitors

* Try to improve test mesh name resolve problem

* Migrate tiny to generic (tiny doesnt work properly)

* Typo

* Another attempt to fix macs for Mikrotik

* Protect against missing trackers

* Fix wpad for ipq40xx

* Remove old tunnel check code

* Enable ZRAM swap to aid low memory devices

* ath10k noise can something be out of range - protect against that

* Updated with current devices and status

* Update firmware which has been tested

* Updated with more builds

* More binary/README

* Fix css error

* Start noise at sensible base level

* Unfix the css so it looks how it use to.

* Save as much memory as we can on lowmem nodes

* Hide some options on low memory devices

* Add "eol" to 32MB devices

* Restart network rather than reboot node if it seems to be broken

* Fixes

* Revert network reset

* Fix ar750 networking

* Continue to trim tiny configs

* More devices

* Dump IW output messages

* Fix Rocket 5AC intermittent ethernet issue

* Ethernet fix for PowerBeam 5AC 500

* More tiny size reduction

* More support data

* Fixed POE and USB power features

* Add Ubiquiti NanoBeam AC (gen1)

* NanoStation (not NanoBeam)

* Add mii-tool package

* Device updates

* Bump update time to 5 minutes

* Fix ethernet negotiation for rocker-5ac and nanobeam

* Fix iplookup

* Config changes based on call feedback

* Radio listing fixes

* Update with more untested builds

* Fallback TxMbps extracted from iw station dump

* Fix tunnel detection for low memory nodes

* Remove unused feed packages

* snapshot build

* Update stability info

* Add powerbeam-5ac-500

* Typo

* Add missing 3.22.1.0

* Add MikroTik LHG 5 AC

* Fix permissions

* Fix permissions

* AirGrid's take Bullet builds

* Mikrotik AC3

* Improve supportdata structure a little to make it easier to find things

* Restore WAN VLAN overrides

* Fix vlan regex for hap2 and hap3

* Support old and new style poe controls

* hap-ac3 is version 1.1

* Handle typo in some openwrt config files

* Fix HAP AC3 install

* Update hap ac3 status

* Support user overrides for network ports (non-swconfig devices)

* LHG 5AC support

* Remove -nand

* Remove non-working platform.sh change

* tunnel weight override

* Omit LinkQualityMult when value is 1

* Add mANTBox 19s and 15s

* Support ath79 mikrotik devices which require ath10k in the initramfs

Co-authored-by: apcameron <apcameron@softhome.net>
Co-authored-by: Joe AE6XE <ae6xe@arrl.net>
Co-authored-by: Joe Ayers <joe@arrl.net>
2022-12-22 14:22:49 -06:00
Tim Wilkinson 41b5040102
Improve xlink integration (#545) 2022-11-14 22:45:58 -06:00
Tim Wilkinson 580bbc79fe
Fix for when dtd distance hasn't been found (#549) 2022-11-14 21:45:08 -06:00
Tim Wilkinson 277610bf27
Fix new mac extraction code in LQM was breaking for tunnels (#525) 2022-10-14 15:29:40 -05:00
Tim Wilkinson 93ad1f5ee7
Strip out as many dependncies from Lua Manager as possible to save memory (#522) 2022-10-13 12:07:36 -05:00
Tim Wilkinson 8fb2869881
Force a GC before the lua manager sleeps (#516) 2022-10-08 15:30:39 -05:00
Tim Wilkinson fe2122eae6 Merge vtun and xlink into one meshrouting hotplug script 2022-10-04 22:06:04 -07:00
Tim Wilkinson 64e4c1e3cd Support adding extra network links to OLSR
This is useful for non-AREDN backbone links, etc.
2022-10-04 22:06:04 -07:00
Steve bf105adf84
fix recoverymode script (#512) 2022-09-27 22:03:55 -05:00
Tim Wilkinson c341bba378
Switch to more active wifi reset (#508) 2022-09-20 18:29:03 -05:00
Tim Wilkinson b8fe2578a3
Add more 3XX redirects + 401 authentication (#506)
* Add more 3XX directs

* Allow pages which require user authentication
2022-09-12 16:09:19 -05:00
Tim Wilkinson 5efd0276fe Add a wifi scan trigger for when the nodes detected becomes zero 2022-09-10 12:39:44 -07:00
Tim Wilkinson 238d0fcd70
Stop node's LQM neighbors including itself (#502) 2022-09-09 08:50:39 -05:00
Tim Wilkinson 6ba17b8e5a
Snapshot hostnames after updates so we have a consistent copy to display (#488) 2022-09-06 09:58:18 -05:00
Tim Wilkinson 0cd4fd3edc
If redirect ends at an https link assume it is valid (we cannot check it) (#491) 2022-08-29 10:31:03 -05:00
Tim Wilkinson 9daf640c85 Optionally include static routes (and preserve them across upgrades) 2022-08-28 08:17:35 -07:00
Tim Wilkinson 1824b945c8 Dont validate hostname in NAT mode.
Hostname is always valid for NAT but not in the valid_hosts table.
2022-08-22 08:04:15 -07:00
Tim Wilkinson 46f48a92f2 Remove 172.16.0.0/12 route 2022-08-15 11:16:24 -07:00
Tim Wilkinson e1ddbabb85 Migrate LAN-to-WAN options to advance configuration 2022-08-15 11:16:24 -07:00
Tim Wilkinson d16e9e4f90 If address ping fails, also try an arping in case local device blocks pings 2022-07-26 23:48:24 -07:00
Tim Wilkinson 12e33e3d21 Layer-3 test (both tcp and udp) of non-http services 2022-07-21 15:16:45 -07:00
Tim Wilkinson 6eb4f64d23 Run an hourly check on the services we publish and disable any that
are not reachable
2022-07-21 15:16:45 -07:00
Tim Wilkinson dd590a6102
Handle dtd bridge device (#431) 2022-07-13 16:19:56 -05:00
Tim Wilkinson 7887497cb3 Allow auto-distance to be overridden when LQM cannot determine the
distance to other nodes
2022-06-27 15:29:39 -07:00
Tim Wilkinson f8d71b6552 Never block short DtD links regardless of quality.
Ignore invalid mac from arp table when building lookup table.
 This avoids a problem where a mac can be in the table twice,
 once valid and once invalid with an old ip address.
2022-06-22 11:57:29 -07:00
Tim Wilkinson a65e09e2ad Remove #NOPROP from /etc/ethers where it was being incorectly parsed.
The AREDN code now cross references entries in /etc/ethers with those in
/etc/hosts to determine if an IP is #NOPROP.
2022-06-21 08:32:48 -07:00
Tim Wilkinson bdb46624f0 DtD links have to be close by 2022-06-16 20:34:39 -07:00