Commit Graph

38 Commits

Author SHA1 Message Date
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 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 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 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 28f25cf951 Allow user to force certain macs to be accepted 2022-06-16 20:34:39 -07:00
Tim Wilkinson b23ab5ee8a
Link Quality Management (#360)
* Link Quality Management experiment (built in)

* Protect LQM pages

* Omit "empty" mac addresses

* Integrate LQM v0.2
Includes proposed UI if this were built-in.
When LQM is enabled (advanced settings) the usual distance inputs are
replaced with "min snr' and "max distance" inputs which are the major
ones you might tweak, as well as a link to the LQM status page.
Other controls are now available (so protected) in advanced settings.

* Improve LQM updating

* Use running snr averages

* Merge app changes

* AREDN-ize the UI

* Improve status language

* Improved DtD detection

* Improve quality reporting

* Link Quality category

* Enable by default

* Better intergration

* Link => Neighbor

* Formatting

* Make sure initial page is populated without extra fetch

* Handle empty lqm.info

* Update with latest experiment algorithm changes

* Validate LQM settings before applying them

* Algorithm updates

* Improve quality reporting

* %% -> %

* Default max distance now 50 miles

* Get actual noise if radio will provide it

* low_snr => min_snr

* Dont print node description if we dont have one

* Remove properties duplicated from setup page

* Localize max distance. Miles in GB and US, Kilometers everywhere else.

* Ping link quality testing

* UDP 'ping' for quality check

* Change Active Settings title

* Expand ping test

* Improve messaging

* Add a ping penalty for neighbors which cannot be contacted in a timely manner.

* Remove user_blocks config option. No one needs to use this anymore.

* Localize distances on lqm page

* Improve status reporting

* First run emergency node setup.
When a node first runs LQM, if the default settings fail to connect to
a node we will now adjust them so that at least one node is viable.

* Restore blocking of mac addresses

* LQM now off by default
fixed #47
2022-05-18 12:49:00 -05:00
Tim Wilkinson 321e58bd37
Include tunnels by default (#302)
* Include tunnels by default

* Tunnels are always installed so no longer need this flag
2022-03-17 20:57:48 -05:00
Eric 87ea92da2a
aredn: update the API version numbers (#132) 2021-07-13 21:29:32 -05:00
Steve AB7PA 6cc379d647
bug: fix nill typo (#88)
* bug: fix nill typo

Fix typo (nill to nil) in pidfile test.

* bug: fix nill typo

Fix typo (nill to nil).
2021-04-06 21:15:50 -05:00
dman776 38b5e01fee
feature: add mesh gateway setting to sysinfo.json (#77) 2021-03-15 09:39:27 -05:00
Eric 6e199947ff cleanup: remove the `meshmap=1` option from sysinfo.json. (#454)
It is no longer needed and never actually was.
You learn something new every day. :)

Every bit saved is a bit earned for somethnig else.
2019-09-26 14:40:13 -05:00
Eric 0300874d99 New sysinfo json changes (#405)
* sysinfo.json additions
lua library additions

Dependent on #389 and #391
Replaces #387

* additional check for nil needed
tested on a node with several very marginal RF links (IP, no host name) and it is working, so far.
also removed the decimal point on the n/lq values, we didn't need 10 places of accuracy. :)

* a couple more small changes

* changed neighborLinkInfo() function in aredn.info to show *all* links, not just RF.
Adds additional info for each RF link (tx/rx_rate, noise, signal)

* Removed redundant function.
Removed functions no longer needed.
Reworked getCurrentNeighbor function to add in the additional RF link info if requested.
2019-04-29 22:43:37 -05:00
Raymond Suelzer 664f2ee629 Some LUA Code Clean Up, API (#327)
* Refactor API

* work in progress

* lua clean up
2019-01-21 15:41:31 -06:00
Joe Ayers 6728fba06b bugfix: aredn sysinfo.json fails with mesh rf off
added json meshrf->status->on/off
fixes:  #317
2018-12-22 10:14:58 -08:00
dman776 89682289c1
modify sysinfo.json structure for node,lat,lon values (#193) 2018-09-17 13:41:29 -05:00
dman776 c2894f8df9
rework sysinfo.json to improve structure (#185)
* rework sysinfo.json to improve structure
re-organize "info" functions into their own lib

* change egrep to grep -E to eliminate shellcheck warning
2018-09-10 13:37:50 -05:00
dman776 8db653302a
bugfix: sysinfo.json not returning chanbw on hapACLite (#174) 2018-09-05 09:46:01 -05:00
Joe AE6XE 0bd057ed40 aredn: phase 1 support for Mikrotik rb952Ui-5ac2nD
Add support for the hAP lite model rb952UI-5ac2nD equivilent to
the UBNT AirRouter.  The 5Ghz interface will be configured in a
2nd phase.  This hAP lite model has double the RAM and Flash
of the AR.  the 2Ghz is MIMO (5Ghz is single antenna).
2018-09-03 23:26:56 -07:00
Eric 4997cb47d2 aredn: Node description enhancement (#156)
* aredn: Node Description Enhancements

Node Description entry on setup page is now multiline.
Fixes #91

Node Description display on status page is now a table cell,
allowing for background color addition and word-wrapping.
Fixes #90

Description background color added to CSS files with colors appropriate to each theme.
Other CSS additions for the description input field on the setup page.

Updated onboard help file about the node description field (and fixed a typo)

* move some of the character filtering "higher up the chain" in perl.

javascript still will replace any new lines with a space in case the user hit's enter in the description entry box.
tested with curl and I can't find any problems yet.

* removed some commented lines that were not needed

* actually fix the typo I saw in help.html file.
2018-08-26 13:03:26 -05:00
Eric 282f4a170b Added the Nodes locally hosted service listing to sysinfo.json (#78)
* Added the Nodes locally hosted service listing to sysinfo.json

Added the Nodes locally hosted service listing to sysinfo.json file.

* Forgot to change api_version

* Change info[] section to be services_local to keep in line with the function is called

was info[local_services] now info[services_local]
2018-07-18 16:48:31 -05:00
Eric 5ad1a14022 Added Uptime and Load Averages to the sysinfo.json file. (#61)
* Added Uptime and Load Averages to the sysinfo.json file.

All code copied from Darryl, dman776.

* Updated Api Version number to 1.2.

Updated Api Version Number to 1.2.
2018-07-13 23:44:28 -05:00
Darryl Quinn be514ffb5d bugfix: sysinfo.json not returning all services properly
Change-Id: I2b796a9ae03ef979d0776a9c2285354c60fb49f7
2017-09-14 14:22:18 +00:00
Darryl Quinn d3a93925e2 bugfix: sysinfo.json errors when tunnel interfaces are installed
Change-Id: Ib9b343b47e8147ad61e3d7a98105de467df16b0f
2016-12-30 22:47:56 -06:00
Darryl Quinn 39ebd6b45e bugfix: force sysinfo.json mac addresses to uppercase
Change-Id: Ib62e758a30b8d68064e76e4a0e61b01c37820f49
2016-12-19 18:36:56 -06:00
Darryl Quinn a1e55b3679 migrate sysinfo.json to lua
Change-Id: I9b092f496d660185e0db9318700c17e0349c7b81
2016-12-03 20:18:44 +00:00
Darryl Quinn 5eb457b11a enhancement: add services to sysinfo.json api
Change-Id: I09769ef110a6210513efc4bc23908be9ac7ddf6a
2016-09-05 19:23:54 +00:00
Darryl Quinn d45bbb9dea fixes AREDN->ticket:172
Change-Id: I0db2dbc14283c2458a55b4e75ca25ce95d867b5b
2016-06-14 14:18:52 -05:00
Darryl Quinn aa6dbe41d6 minor adjustment to interfaces and hosts (change to array) 2015-12-12 17:33:54 -06:00
Conrad Lara - KG6JEI 48cb37bd05 Merge branch 'release-3.15.1.0' into develop
Merging in latest release-3.15.1.0 changes into develop to provide a foundation with recent release fixes for the develop branch.

This should be 3.15.1.0b03 code.

Conflicts:
	files/etc/crontabs/root
	files/usr/local/bin/wscan
	files/www/cgi-bin/sysinfo.json
2015-11-15 19:28:56 -08:00
Darryl Quinn 0669217984 check for 3Ghz band channels and report freq instead 2015-08-28 20:09:33 -05:00
Darryl Quinn 14d7163666 add wifi channel number 2015-08-18 21:39:30 -05:00
Darryl Quinn 912afe3713 added channel bandwidth 2015-07-21 12:19:41 -05:00
Darryl Quinn cb09c22275 feature: changed version element name, added grid square 2015-07-16 19:21:41 -07:00
Darryl Quinn 2a63226ad3 feature: added board_id to output 2015-07-16 19:21:41 -07:00
Darryl Quinn 0cd0db2d0d feature: add sysinfo.json for programmatic lightweight management interface 2015-07-16 19:21:41 -07:00
Darryl Quinn 3c86ff9ec8 feature: changed version element name, added grid square 2015-07-13 20:32:17 -05:00
Darryl Quinn e8333f76ea feature: added board_id to output 2015-07-13 11:18:53 -05:00
Darryl Quinn 8e1da4766a feature: add sysinfo.json for programmatic lightweight management interface 2015-07-10 21:51:18 -05:00