Commit Graph

883 Commits

Author SHA1 Message Date
Tim Wilkinson 15c78a4369
Allow MTU on wifi interface to be modified. (#877) 2023-06-21 23:07:21 -05:00
Tim Wilkinson 8c4d9edd99
Merge all the station monitoring and mitigation into a single service. (#874)
This is an attempt to unify all the station monitoring and make it work
better as one. We're trying to square a circle here somewhat, with taking
steps to kick nodes when problems are detected, but not kick them too quickly
or often in case we're mis-identifing issues.
We've seen these issue manifest themselves which nodes messing VoIP services
as well as resets causing nodes to get into unrecoverable states when there
was no real problems in the first place.
This will probably need to evolve before the next release, but would be good
to get some milage on the new code.
2023-06-20 01:27:23 -07:00
Tim Wilkinson 8c4369e966
Remove subnet restrictions for xlinks (#870)
Xlink endpoints can now be arbitrary IP addresses
2023-06-11 23:20:24 -07:00
Tim Wilkinson 8287742822
Fix bug when editing xlinks on single port devices (#866) 2023-06-06 21:54:08 -07:00
Tim Wilkinson da7b894c39
Support xlinks on x86 (#865) 2023-06-06 00:38:45 -07:00
Tim Wilkinson 60a2627989
More multi-radio support (#860)
* Multi-radio: Support different powers for different radios
* Use arrays for powers
* Update APIs to take wifi interface
2023-06-02 18:47:34 -07:00
Tim Wilkinson 225773cf06
Fix lua converting empty port object to empty array. (#858)
Lua confuses empty objects and empty arrays when converting to JSON.
2023-06-01 18:47:50 -07:00
Tim Wilkinson 0890ab210f
Fix API nil pointer when mac lookup fails (#855) 2023-05-29 21:12:37 -07:00
Tim Wilkinson df77276075
Disable WAN access to node by default. (#854) 2023-05-29 11:22:09 -05:00
Tim Wilkinson ab541c3d35
Fix disabled mesh on multi-wifi devices (#852) 2023-05-27 17:58:10 -07:00
Tim Wilkinson 4e621baf0b
Support switching mesh radio on multi-radio devices (#847) 2023-05-25 21:27:59 -07:00
Tim Wilkinson 65dab4cda1
UI improvements from Steve (#843) 2023-05-17 17:49:04 -07:00
Tim Wilkinson f9b032aca1
Advanced networking tab (#834)
* Advanced networking tab

* Add page protection

* Disable WAN VLAN option in advanced config when advanced networking available
2023-05-16 21:29:20 -05:00
Tim Wilkinson eb90661eac
Fix wifi setup for multi-radio devices (#827)
Disable/enabling mesh wifi on multi-radio devices could confuse the
allocation of the radios to specific tasks
2023-05-08 22:31:10 -07:00
Tim Wilkinson c991ea4ea1
Feedback when pressing upload/download buttons (#819) 2023-05-03 19:22:30 -05:00
Tim Wilkinson 8f572af4c7
Fix upgrade typo (#818) 2023-05-03 19:21:52 -05:00
Tim Wilkinson e6f29214f2
Fix channel display for 5GHz nodes (#811) 2023-04-29 00:10:59 -07:00
Tim Wilkinson 3863207c5a
Virtualized X86 support (#807) - 4/28/2023
* x86 configs

* Update for new update system

* Build support

* Handle nowifi on status page
2023-04-28 11:01:58 -07:00
Tim Wilkinson 794d6caa89
Tidy up the formatting and fix column widths (#809) 2023-04-27 22:12:57 -05:00
Tim Wilkinson deeacc2cc2
Restructure, modularize and tidy the navigation buttons and menus (#805)
* Make admin and user bar menus pluggable

* Realign header block to stop is moving around

* Remove ref

* Use modular nav to disable ineligable options during initial install

* Dont offer tunnel menus options when no tunnel daemon installed.
This is for low-memory devices

* Simplify

* Improve messaging when running ram image

* Disable rather than hide vpn menu items on tiny memory devices

* Move menu navs
2023-04-25 20:07:19 -07:00
Tim Wilkinson be969b1e63
Fix frequency range reporting and display for 900MHz devices (#803) 2023-04-23 20:00:53 -05:00
Tim Wilkinson 8711afa9ca
Remove hardwired frequency tables and use information from the hardware (#801)
* Remove hard coded channel tables
* Reduce radios.json to only what's needed
* Update radios
* Improve unsupported device handling
2023-04-22 03:24:20 -10:00
Tim Wilkinson 59ed665f3d
General station monitor logging service. (#767)
* General station monitor service.
It turns out this station bug is not limited to the ath10k driver, so
make this monitor service wifi generic.
(I've now seen this at both ends of the Mikrotik AC <-> Rocket pair)
* New logs
* Just monitor for now
2023-03-30 11:36:31 -07:00
Tim Wilkinson 5657bfcdf8 Dont let services uses hostname which are not propagated.
OLSR doesnt allow this.
2023-03-26 22:37:43 -04:00
Tim Wilkinson 51878e2b32 Stop RETURN from refreshing the mesh page
When people are using the filters on the mesh page, they sometimes
hit RETURN. This submit the page (which is a form) causing the page
to reload, lossing the filter, and as a side effect, setting the page
to auto-refresh.
2023-03-16 16:08:55 -04:00
Tim Wilkinson dd0cc3ba2e
Validate state of services over a period of time before disabling advertisements (#751)
* Track validation state of hosts and services. Only remove a host/service if it fails multiple times in a row.
* Let new addresses/services be valid for a while regardless
* Initially unknown addresses will be valid for a while
* Reset validation state when services updated
2023-03-16 16:02:08 -04:00
Tim Wilkinson 21115f732d
Support forced upgrades (#745)
* Support force upgrades
* update UI with warning for unsafe upgrades
* Ignore the device check when in dangerous mode
2023-03-10 15:39:23 -08:00
Tim Wilkinson 692fc8e8c9 Improve error reporting when server is busy/disabled 2023-03-07 07:57:26 -08:00
Tim Wilkinson 95f3cfe75a Fix service alignments 2023-02-21 17:49:10 -08:00
Tim Wilkinson e284ff98e2 Move the unconfigued setup earlier
Fixes bad band label display on first boot
2023-02-21 17:46:43 -08:00
Tim Wilkinson 4763c4d149 Fix AP mode selection when turning mesh back on. 2023-02-20 12:05:39 -08:00
Tim Wilkinson e728e30aaf Handle system upgrade files of type "nand-sysupgrade" 2023-02-20 12:03:01 -08:00
ab7pa 072c3da550 remove WAN Wifi Client key lower limit 2023-02-20 09:25:35 -08:00
Tim Wilkinson 68f242512b More fixes for AP mode
AP radio isn't always phy1 so handle these cases.
Add in some labels to RF and AP for which bands are in use.
2023-02-19 08:18:32 -08:00
Tim Wilkinson 741becfefa
Improve AP band selection. (#718) 2023-02-17 20:58:51 -08:00
Tim Wilkinson 111858eaba
Mesh Status TxMbps calculation consistency (#713)
* Fix the bandwidth reporting for ath10k devices
* Use 'iw' for all TxMbps reporting.
       As we cannot account for error rates in the ath10k driver, to be consistent
       we now use the same system to retrieve tx rates for both ath9k and ath10k.
* Remove unused rate tables
2023-02-15 20:49:33 -08:00
Tim Wilkinson dd00c7b1c3 Fix the bandwidth reporting for ath10k devices 2023-02-15 20:14:53 -08:00
ab7pa b4df8bd893 add help text for LAN AP channel selection 2023-02-14 21:44:39 -08:00
ab7pa 89500f6c2d add extended channels to LAN AP list 2023-02-14 21:44:39 -08:00
Tim Wilkinson 571dbf6251
Disable RTS by default in ath10k devices 02/11/2023 (#706) 2023-02-11 13:44:10 -06:00
Tim Wilkinson 062ffb3521
Normalize the case of the macs and node names (#700) 2023-02-11 13:42:03 -06:00
Tim Wilkinson e515ed7ec6 Provide a timeout on the iperf client.
This cryptic bit of shell script adds a maximum timeout for the iperf client
to run as it appears it can get stuck occasionally. The server has a built-in
timeout (not available in client mode)
2023-02-03 08:17:49 -10:00
Tim Wilkinson fdb9270617
Improve firmware failure error recovery (#683) 2023-01-29 21:21:03 -06:00
Tim Wilkinson f733592438
Make sure we never pass 'nil' to the json parser (#685) 2023-01-28 21:58:46 -06:00
Tim Wilkinson d6a6261a46
Remove fw blocker we no longer need (#679) 2023-01-27 22:08:22 -06:00
Steve 0dc5651690
add hidden and exposed to help file (#676) 2023-01-26 13:39:31 -06:00
Tim Wilkinson e6eef45de7 New firmware selector
Uses the same information as the firmware selector UI
2023-01-25 23:42:06 -08:00
Tim Wilkinson 4894f42efd Make sure we look for packages with the correct architecture 2023-01-24 23:29:06 -08:00
Tim Wilkinson 5cf089e96c
Iperf improvements (#668) 2023-01-21 22:38:32 -06:00
Tim Wilkinson 78b8578a06
Automatically enable RTS when hidden nodes detected (#659) 2023-01-19 13:11:30 -06:00
Tim Wilkinson 252b1dc8b7
Exposed node detection (#644) 2023-01-12 19:58:27 -08:00
Tim Wilkinson 5fcd373e65 Block older versions of the firwmare once we upgrade 2023-01-12 14:56:07 -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
Steve a90fbae271
fix mesh status typos (#632) 2023-01-09 16:16:53 -06:00
Tim Wilkinson 6dac4c6b41 Fix WAN VLAN detection on hAP (name change) 2023-01-08 17:05:44 -08:00
Tim Wilkinson 5214d35fcd Provide better error feedback when upgrades fail 2023-01-05 19:13:01 -08:00
Tim Wilkinson 8a3bc2d09c
Improve the quality of the scan output (#609) 2022-12-31 21:20:12 -06:00
Tim Wilkinson 9da5d7b8cc
Add client/server at top of data for easier understanding (#602) 2022-12-28 10:47:02 -06:00
Tim Wilkinson 9293de42a7
Improve meshref conflict check which could be triggered even when no wifi is enabled (#599) 2022-12-27 20:06:30 -06:00
Tim Wilkinson 47d8a5bb29
New opkg reports missing dependencies differently (#597) 2022-12-27 10:46:47 -06:00
Steve 909e4fb765
Display Charts button even when no RF links (#593)
* display charts button even if no RF links

* adjust spacing
2022-12-26 18:31:33 -06:00
Tim Wilkinson 6fba065d2d
Ignore unexpected output causing bad gateway error (#591) 2022-12-25 07:13:04 -06:00
Tim Wilkinson 0414ec7fac
Handle generic to specific name changes when upgrading (#585) 2022-12-24 23:17:53 -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
VA2XJM Jean-Michel 74810d01b4
Fix port range not working (#569)
* Fix for port ranges

Fix port range validation.

* Update CONTRIBUTORS

added myself

* Update files/usr/lib/lua/aredn/utils.lua

Reverting to whitespace protection plus escaping hyppen.

Co-authored-by: Tim Wilkinson <tim.wilkinson@me.com>

* Update ports

added %s* infront of the port range input in case a whitespace has been inserted.

Co-authored-by: Tim Wilkinson <tim.wilkinson@me.com>
2022-12-22 10:31:41 -06:00
Steve 29d1251831
fix local mesh status bug (#573) 2022-12-21 12:30:37 -06:00
Tim Wilkinson e9acf4928b
Check /etc/config/vtun exists (#561) 2022-12-10 08:51:26 -06:00
Steve 73ca16b17d
update vtun name when changing nodename (#557)
* update vtun name when changing nodename

* Update files/www/cgi-bin/setup

Co-authored-by: Tim Wilkinson <tim.wilkinson@me.com>

* Update files/www/cgi-bin/setup

Co-authored-by: Tim Wilkinson <tim.wilkinson@me.com>

Co-authored-by: Tim Wilkinson <tim.wilkinson@me.com>
2022-12-06 14:24:44 -06:00
Steve 8fc9b51559
fix status page not rendering (#559)
* fix status page not rendering

* account for "none" value
2022-12-06 14:23:47 -06:00
Tim Wilkinson 93f71d31ad
Fix Bad Gateway error when trying to update with the wrong firmware (#556) 2022-12-01 14:55:27 -06:00
Steve ed77cec3b9
display both types of gateway on Status page (#554)
* display both types of gateway on Status page

* underline section labels

* add LAN AP SSID if exists

* add gateway node label
2022-11-30 16:04:41 -06:00
Steve 46a23f8e26
add WAN wifi ssid and SNR to Status page (#552)
When WAN connects via wifi to an AP, show SSID and SNR.  Added workaround to intermittent bad value strength retuned from iw, when positive value.  Assume absolute value is correct and add back a negative sign.
2022-11-24 11:07:22 -08:00
Steve cf2497b346
group Mesh RF info if wifi_enabled (#551) 2022-11-19 11:38:30 -06:00
Steve aff1cad02d
remove reference to nodes reducing power (#548) 2022-11-15 18:37:28 -06:00
Tim Wilkinson 41b5040102
Improve xlink integration (#545) 2022-11-14 22:45:58 -06:00
Tim Wilkinson 5cbd83cb24
Make sure c6 always has a value (#550) 2022-11-14 22:44:21 -06:00
Steve 9ff499cdcc
add kernel MemAvailable to Status page (#536)
add larger of kernel MemAvailable or MemFree to Status page. 
This will show a value to be at least the size of unused RAM and
can be larger if RAM can instantly be freed up to start a new process.
2022-11-10 20:43:00 -08:00
Steve cd661106a8
fix mesh search rows (#546) 2022-11-09 21:15:25 -06:00
Steve eb631e4819
set min field widths on ports page (#544) 2022-11-04 21:54:04 -05:00
Steve 80a6da9276
give cleaner lines to the scan table (#543) 2022-11-01 09:49:47 -05:00
Steve 644ec1d595
give cleaner lines to adv config table (#542) 2022-11-01 09:49:14 -05:00
Steve 133ab928b5
give cleaner lines to the setup table (#541) 2022-11-01 09:48:48 -05:00
Steve ff20a9932f
fix current neighbor service search and add new search fields 11/01/2022 (#538) 2022-11-01 09:47:52 -05:00
Tim Wilkinson 4b305db099
Line up the columns on the mesh display (#534) 2022-10-26 20:55:36 -05:00
Steve 0b4ec4f1af
fix description alignment (#532) 2022-10-23 14:49:03 -05:00
Tim Wilkinson f7909823ec
Handle names missing .local.mesh (#528) 2022-10-20 15:43:55 -05:00
Steve 27115894ab
add search capability to Mesh Status page (#527)
* add search capability to Mesh Status page

* put filters in column header
2022-10-18 21:37:34 -05:00
Steve b5acf18bcf
clarify Host Entries counts (#524) 2022-10-14 15:32:56 -05:00
Steve 4e02cd5044
add warnings to 32mb nodes (#521) 2022-10-14 15:32:22 -05:00
Tim Wilkinson caaafc3831
Protect against missing hosts_olsr.stable (#523) 2022-10-14 15:31:09 -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 1a0d51ff59
Fix limiting nr of route shows with low memory (#518) 2022-10-11 22:22:11 -05:00
Tim Wilkinson c7538884ca
Display and correct from olsr_hosts totals rather than olsr json (#520)
* Display hosts totals rather than olsr totals
* Don't count hostname beginning mid<nr>.
2022-10-11 16:46:39 -07:00
Steve 10bedbaf48
fix retrieval of ntp_period (#517) 2022-10-11 09:14:46 -05:00
Steve 7f4342ffb7
add help link to pages missing it (#513) 2022-10-03 20:49:26 -05:00
Steve 72572034be
add ntp update period to basic setup page (#510)
* add ntp update period to basic setup page

* ensure current value as selected

* include case where reverts to daily after upgrade

* persist ntp_period across upgrades
2022-10-02 18:46:57 -05:00
Tim Wilkinson 808f4b1aa1
Remove an old "Lua version" display tag (#509) 2022-09-20 18:26:44 -05:00
Steve f9a63a3f25
update help file for new adv config format (#504) 2022-09-12 16:09:57 -05:00
Steve e37708641e
simplify AdvConfig display (#501) 2022-09-09 09:41:52 -05:00