Commit Graph

950 Commits

Author SHA1 Message Date
Paul K3PGM 35316299c1
Deduplicate and sort tag names in Advanced DHCP Options selector. (#1078)
* 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.
2024-01-22 18:27:12 -08:00
Tim Wilkinson 493dd98534
Wrap wireguard ip addresses (#1076) 2024-01-21 17:25:29 -08:00
Paul K3PGM 4e35b2f0c6
First draft of advanced DHCP option specification on Ports tab. (#1073)
* 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.
2024-01-21 17:25:16 -08:00
Tim Wilkinson e08e0feae5
Support dynamic number of ethernet ports on VMs (#1066) 2024-01-16 16:13:34 -08:00
Tim Wilkinson 1bafc35ded
Dont run iwinfo if we have no wifi (#1064) 2024-01-13 23:35:29 -08:00
Tim Wilkinson ca0006164c
Dont scan wifi bitrates when not using mesh wifi (#1062)
* Dont get wifi bitrates when not using mesh wifi

* Remove unused 'prefix'
2024-01-12 23:25:00 -08:00
Tim Wilkinson b64fd8f8e0
Improve mesh display (#1061)
* 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.
2024-01-12 22:26:45 -08:00
Tim Wilkinson bb83a8d1c9
More wireguard fixes (#1059)
* More wireguard fixes

* Fix monitoring bug when finding tunnel address
2024-01-10 00:02:54 -08:00
Tim Wilkinson f1567d662f
Wireguard2 - bug fixes (#1057)
* Fix _add for wireguard

* Fix LQM for wireguard
2024-01-07 21:44:21 -08:00
Tim Wilkinson e486a61cc8
Wireguard support - take 2. (#1056) 2024-01-07 16:17:52 -08:00
Tim Wilkinson 757ec56ada
Add some LQ and NLQ hint text. (#1054)
I can't be the only person who has to keep looking up what this means?
2024-01-05 12:09:55 -08:00
Tim Wilkinson 931bc07c0a
Retry failed firmware version downloads (#1053) 2024-01-03 22:32:41 -08:00
Tim Wilkinson 8b1b973490
Fix tunnel net display truncation on some browsers (#1051) 2024-01-02 15:06:20 -08:00
Tim Wilkinson 56043e0e0b
Reboot needs ip information from active /etc/config not /etc/config.mesh (#1040) 2023-12-21 11:06:03 -08:00
Paul K3PGM 80a4bbb7ae
Set advancednetwork script to be executable again. (#1042) 2023-12-21 11:04:53 -08:00
Paul K3PGM 0b7db7f15c
Add missing table entries in the Acvanced Network tab (#1039)
- Add missing layouts table entry for the GL-B1300.
- Add missing default_configs table entry for VMware Virtual Platform
2023-12-20 20:35:07 -08:00
Tim Wilkinson a388adaa79
Improve the messaging when failing to retrieve firmware versions (#1033) 2023-12-19 12:06:45 -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 8f5e87eb11
Fix display of ntp update when it changes (#1031) 2023-12-18 16:48:02 -08:00
Tim Wilkinson 913e9e9ee1
Fix text alignment on devices without antennas (#1029) 2023-12-17 22:02:05 -08:00
Tim Wilkinson 7e9137417e
Display all the antenna information on the front page (#1028) 2023-12-17 21:33:27 -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 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 68874e1703
Resolve download server ip by hand before download (#1003)
* Resole download server ip by hand before download

* Comment

* Handle hostnames with - char

* Escape . in hostname substitution
2023-12-12 20:01:39 -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 e23348800f
Improve firmwarepath override (#1000)
* Revert accidental feeds change

* If firmware path lacks ../firmware on the end, just use as is.
2023-12-07 16:52:53 -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 da8ef31dd1
Advanced networking wan static fix (#976)
* Fix WAN static setup after using advancednetwork
2023-12-06 12:21:52 -08:00
Tim Wilkinson 09ed681311
Support remote syslogging (#971) 2023-12-06 12:19:18 -08:00
Tim Wilkinson 44f7f43abb
More map fixes (#982)
* Migrate map (again)

* Improve map navigation
2023-12-06 12:17:39 -08:00
Tim Wilkinson 161c5439c1
Show frequency range on status page to help with overlapping channels (#978) 2023-12-06 12:06:34 -08:00
Tim Wilkinson 12120694af
Fix lowmem mesh (#987)
* Fix lowmem route truncation
2023-12-06 11:50:53 -08:00
Tim Wilkinson 2100e45495
Fix missing vlan tag in advance networking (#993)
* Fix missing vlans tags when vlan saved before ports selected
2023-12-06 11:46:38 -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
Steve 944e55eebe
change mesh RF label to mesh (#967) 2023-12-06 11:16:27 -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 d6f6c4b698
Detect if we support firstboot mode (x86 does not) (#965) 2023-10-17 16:35:15 -07:00
Tim Wilkinson a8c6ac90ba
Use frequency list for scan. (#960)
Some hardware doesnt scan all the frequencies we want by default.
Not a fix for the current limited scan problem
2023-10-12 14:46:35 -07:00
Tim Wilkinson 207bbf46e5
Super Mesh -> Cloud Mesh (#957) 2023-10-10 20:57:19 -07:00
Steve 2d9914cb35
change pollrate default to one hour (#954) 2023-10-05 13:38:05 -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
Brett T. Warden 84ea30184c
Implement nodes=1 in sysinfo.json to return number of mesh nodes (#951)
* Implement nodes=1 in sysinfo.json to return number of mesh nodes

Fixes #950

* Bump api_version in sysinfo.json

Introduce new parameter nodes=1
2023-09-29 20:08:49 -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 819812f753
Which to "support" rather than "ignore" supernode to avoid double-negative (#942) 2023-09-20 16:13:34 -07:00
Steve d579a7a5b1
fix tunnel weight UI typo (#940) 2023-09-20 10:05:17 -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 272d53bab5
Set tunnel weight to 1 and provide UI to change it. (#937) 2023-09-19 20:04:54 -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 11f7fe6731
Support wildcard DNS subdomains (#935)
* Support DNS sub-domains

* Support wildcard domains
2023-09-18 16:47:48 -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
Tim Wilkinson 6754330ae6
Correctly set wifi wan mode when depending on the mesh wifi setting (#925) 2023-09-04 22:30:58 -07:00
Tim Wilkinson 7ad310b036
Simpler search (#918)
* Unify mesh status search functionality

* Remove colored titles

* Fix highlight colors

* Removed use of CSS :has(...) operator which Firefox doesnt support

* Make identifying tunnels more general

* Delay search while typing
2023-08-29 20:06:37 -07:00
Steve d02bfc9db3
fix iss749 (#904) 2023-07-21 14:00:58 -07:00
Tim Wilkinson f3af8eee30
Tolerate missing frequency list (#907) 2023-07-21 13:59:15 -07:00
Tim Wilkinson ef17d9bcd1
Allow SSH, WEB and TELNET access to be disabled on WAN (enabled by default) (#903) 2023-07-18 22:52:41 -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 eaa5d2f72b
Allow & in service paths (#889) 2023-07-03 23:19:15 -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 adab218868
Fix x86 upgrades (naming is a little odd) (#883) 2023-06-25 21:09:19 -05:00
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