Feedback from Joe and others to adjust the noise floor (which is lower
for subchannels). Label with SNR because that's easier to compare to the
SNR values people are already familiar with.
* Tidy LQM status
Remove TX Estimate which was duplicating information on the mesh page and
confusing folk.
Sort by name to stop the display jumping around.
* Split out ping and tx qualities and use average of both.
* Improve keeping re-discovered nodes in pending
* Remove .local.mesh from hostname (they're there sometimes)
* Identify why poor quality traffic is blocked
* 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
* Dont display previous neighbors with empty hostnames
* Use IP address when name missing
* Fix bug where missing names became ever growing string of whitespace
* Improve the firmware upgrade process
The old firmware upgrade process attempted to free up RAM by reusing
the 'upgrade_kill_prep' script which is later used by '/sbin/sysupgrade'.
Unfortuantely this doesn't work as intented. While the script will go about
killing various services, 'procd' just goes and starts them up again using
quite a bit more memory in the process. Instead this script just kills
the various daemons 'no questions asked' and then runs the associated
'/etc/init.d/xxx stop' script to instruct 'procd' not the start them up again.
This gets us to the place the original script was trying to go.
+ A syntax fix in '007' patch (need spaces around the [ .. ])
* Inline the style for the firmware page to avoid sleep before flash
* Minor reliability improvements
* Clear away services even earlier
* Final bits of perl replaced by lua
* Use iwinfo during first boot (api I was using fails this early)
* Retry getting phy device (it can fail as the node is booting up)
* Lua vpn server and client pages
* Lua vpn server and client pages
* Fix reporting of daemon restart errors
* Lua olsrd-config
* Fix reversed client/server ip assignments
* Fix patterns for finding active tunnels
/etc/config.mesh/aredn sometimes gets truncated, although reproducing it is difficult. This
is one of the few places this file is mindlessly written to, so instead use cursors to update it.
* Lua Services
* Lua versions of user page (non-admin)
* Support multiple antenna chains
* Improved led detection
* Fix logging
* Add manager.log files to support tool
* Lua versions of user page (non-admin)
* Dont count default route
* Fix board id for older nodes
* Handle missing node.history
* Check /tmp/snrlog exists
* Per discussion, make the Lua pages the defaults and Perl the backups
* Migrate /etc/config/dmz-mode to /etc/dmz-mode
* Migrate dmz_mode into /etc/config/aredn
* Use cmd append
* Changes should be in /etc/config.mesh
* Add commit
* add uci migration script
* removed debug lines
* added newline to end
* include gridsquare values
* migrate lat/lon/gridsquare to uci format
* remove from sysupgrade kept files list
* Memory and cpu performance improvements
* Fix bandwidth reporting
* Discard large arrays once we're done with them
* Fixup whitespace
* Improve string constructions
* Use available mem
* Print the Remote Nodes as we go (can be big)
* Local variables
* Stop re-reading arp/mac files
* Reduce calls to system 'cat'
* Simply lat/lon read
* Only read route30 once
* Whitespace
* Make meshstatus limits configurable
* and => &&, or => ||
* gzip content if we can
fixes#155
* api: add RF IP for non-RF links
Add the RF IP address for non-RF linked devices. This allows the
services to be displayed for non-RF Current Neighbors.
* remove case manipulation
Update the alert banner background color to distinguish it from the
"supported hardware" messages. This makes it look more like a standard
sticky note.
Aliases in NAT mode allows the node admin to create alias names for hosts on the LAN and then use those for creating port forwarding rules. The aliases DO NOT effect the rest of the mesh network and are not propagated via OLSR.
NAT Mode aliases are only usable on the local LAN where the IP addresses are known and routable only on the subnet. Since the NAT hides these IP addresses or the node masquerades, other mesh nodes and devices by definition only know about the node’s hostname. Thus aliases on the LAN in NAT mode are not propagated by OLSR across the mesh. You _CANNOT_ use an alias name in a service listing.
You _will_ be able to set an alternate hostname for any host on the nodes' LAN however.
A host named `CBY45-DELLLAPTOP` can also be known as `wxc-shack-laptop`. It may make remembering which host is which a bit easier.
Since OLSR does not propagate the alias, the "Do Not Propagate" checkbox while in NAT Mode is hidden.
* enhancement: show the "non propagated" hosts as a grey color in the mesh list on the localnode.
This allows for the node admin to see, at a glance, which of the hosts are "hidden" or not.
* changed colors a little bit for the black background styles.
also assed in the aliases so now they will show up as a different color too.
this only effects the mesh listing on the localnode to where the aliases and/or non propagated hosts are.
the rest of the network does not see this.
* add a tooltip to the aliased/non propagated hostnames to help explain what they mean
Allows for aliased hostnames on the mesh. One IP/Host can be assigned to multiple hostnames.
This is useful for many things including virtual hosts, virtual machines, virtual email addresses, etc.
The possibilities are actually _endless_.
Fixes#516
Allows for the node admin to choose to have DHCP leased hostnames/IP's propagated over the rest of the mesh network or not.
Defaults to allowing the hostname/IP to propagate.
The hostname/IP will *still* be resolvable from the localnode and will show up in the list of hosts on the localnode only.
This allows for selected local mesh devices to be not available over the rest of the mesh network.
ie: switches, routers, cameras, etc.
This will work immediately for *new* DHCP leases when the checkbox is selected.
For *existing* DHCP leases, it may take a while for the network to update, if ever.
To speed up the process of full network OLSR "DNS" updating, reboot all the nearest neighbor device(s) to the node you made these changes to.
That seems to get the changes "out" to the rest of the network faster than normal.
Fixes#508
Change the Advanced Configuration warning banner: slightly wider to
distinguish from Alerts banner, add WARNING and make text color pure
white for contrast.
In the US, part 97 ham radio lower band edge is 5650.
Channel 131 @ 10MHz channel width is the lowest channel
setting that stays within allocation.
fixes#550
in the past nodes could be configured uniquely for
a given mode: ap, wifi client, mesh. Current behavior
in basic setup no longer has unique modes, rather wireless
cards can be configured in different modes in basic setup
and devices with multiple wireless interfaces can
be setup to use multiple modes at the same time.
fixes#533fixes#535
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP:
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254
catch the tunnel comment field in perlfunc's read_post_data function where certain characters are changed to the html character entity in order to not interfere with the config files.
Tested with all kinds of crazy charcters such as: zdsfkh? <!@#$%^&*()> "quote"
Fixes#515
Specifications:
* SoC: Qualcomm Atheros AR9344 (560 MHz)
* RAM: 64MB
* Storage: 8 MB
* Wireless: 2.4GHz N based built into SoC 2x2
* Ethernet: 2x 100/10 Mbps, integrated into SoC, 24V POE IN
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP:
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254
TP-Link CPE610-v2 is an outdoor wireless CPE for 5 GHz with
one Ethernet port based on Atheros AR9344
Specifications:
Based on the same underlying hardware as the TP-Link CPE510
Power, LAN0, WLAN green LEDs
23dBi high-gain directional 2×2 MIMO antenna and a dedicated metal reflector
Flashing instructions:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
Signed-off-by: Andrew Cameron apcameron@softhome.net
* enhancement: added contact info/comment field for each tunnel connection.
Allows for a short comment or an email address so you can remember who to contact for each tunnel.
The field is optional and does not need to be filled out to get a tunnel connection up.
Also cleaned up some of the layout on the tunnel pages and hopefully made it a bit easier to tell what is what.
Fixes#457
* added `maxlength='50'` to the comment/contact field.
50 characters should be enough for an email address or a short comment.
* Allow for spaces in the Tunnel contact/comment field
This adds support for a popular low-cost 5GHz N based AP
Specifications:
- SoC: Atheros AR9344
- RAM: 64MB
- Storage: 8 MB SPI NOR
- Wireless: 5GHz 300 Mbps, 2x RP-SMA connector, 27 dBm TX power
- Ethernet: 1x 10/100 Mbps with 24V POE IN, 1x 10/100 Mbps
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
Signed-off-by: Andrew Cameron <apcameron@softhome.net>
Mesh status will show service entries of a remote mesh
node at the top with 0 ETX value. The owning mesh hostname
displays blank across the mesh network.
The root cause is OLSR not propagating the node's hostname due
to the admin assigning a conflicting/duplicate hostname. These
services will no longer show in mesh status.
* Add experimental support for the GL.iNet GL-AR150 - https://openwrt.org/toh/gl.inet/gl-ar150
Mesh networking and tunneling have been confirmed working.
This device has been confirmed capable of operating on channel -1, but /etc/config/wireless has to be manually edited to select this channel.
* www/cgi-bin/perlfunc.pm patched to add UI support for the GL.iNet GL-AR150
* www/cgi-bin/perlfunc.pm patched to add UI support for the GL.iNet GL-AR150 - seems like only 18 dBm TX power is possible
* Remove Experimental comments and designate as stable
* Configure Ethernet ports & VLANs for GL-AR150, and update README.md
* Fix misunderstanding re README.md
* Patch Upstream OpenWRT GL-AR150 LAN & WAN LED mapping, configure WLAN LED as mesh linked indicator.
* 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.
10MHz channel width is most commonly used. This default
will minimize how many new users are unable to connect
to a local mesh on first try. In 2GHz use ch -2
as only clear part 97 10MHz channel available and
predominently used.
* wscan can output results as json
* added a page for displaying scan results as json
* updated file permissions with +x
* added endpoint for wifi scan
* Revert "updated file permissions with +x"
This reverts commit 6f0a038334fbacc3f585f0a86fb7d9986a47b7d2.
* Revert "added a page for displaying scan results as json"
This reverts commit 4806ad01b6b717e2e02f248309a0257bb390af23.
* Revert "wscan can output results as json"
This reverts commit 75454e7e790a0457a0846182b0a8a44205772368.
* removed hardcoded device name
* exposed freqlist through the api
* moved signal.json code into the api
* old signal page uses /api?page=chart
* removed signal.json
* chart has targets for realtime and archive
* updated old signal page to use new api
* wscan can output results as json
* added a page for displaying scan results as json
* updated file permissions with +x
* added endpoint for wifi scan
* Revert "updated file permissions with +x"
This reverts commit 6f0a038334fbacc3f585f0a86fb7d9986a47b7d2.
* Revert "added a page for displaying scan results as json"
This reverts commit 4806ad01b6b717e2e02f248309a0257bb390af23.
* Revert "wscan can output results as json"
This reverts commit 75454e7e790a0457a0846182b0a8a44205772368.
* removed hardcoded device name
* exposed freqlist through the api
This reverts commit d5be7814b3.
Auto Distance is not ready for a release and will be
reintroduced afterwards. Added logic to reset '0' distance
to 60km so tower nodes will continue to respond after
upgrade if running the experimental auto distance
Add option for hap ac lite to select which band to
use for LAN AP option, 2GHz or 5GHz. Also, ensure
all wireless cards are defined when disabled to
prevent default wireless config options.
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
Installation:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
enable passwords with virtually any character, enable SSIDs
with virtually any character. ensure ap is always
encrypted to give operator control of client access and
license compliance. Remove (week) WEP encryption option.
* aredn: hAP ac lite enable 5GHz LAN Access Point
enable ability to bridge LAN physical ports with wireless
LAN Access Point capability. On dual band hAP ac lite,
used in parallel with mesh RF on 2GHz. Enables future
features on single band devices to turn off mesh RF and
repurposed for mesh LAN Access Point.
closes: #215
Also removed the description block from the mesh page if the description has not been set.
(there was a small grey area before, even with no description set)
* bugfix: Check for existing hostnames on the network in DHCP reservations
fixes#216
*additional check for existing hostname when creating new DHCP lease.
checks hosts_olsr file if entered hostname already exists or not on the connected network(s).
outputs info saying such and gives advice to prefix hostname with callsign.
* change to use =~ /\s$host\S/i
* Reworded warning message
* moved the position of the hostname check to only when you click "add" on the DHCP leases page.
this stops it checking all the previously entered hostnames.
* initial commit
* feature: advanced configuration page
fixes#230
* add help page updates
* added menu links to perlfunc.pm
* add default value for serverpath
* move "Reset to Firstboot" button from setup page to advancedconfig page
* secure page
minor ui changes
* center the help icon
* implement callback capabilities pre/post
* hardening uci calls to prevent command injection attacks
* moved settings to custom aredn uci file
* resolve shellcheck warnings
* feature: Provide firmware file advice for uploading firmware files
also reduces page size by removing unnecessary style info on option tags.
fixes#206
* update for Mikrotik filename exceptions
* correct download .list file name
* add support for cpe devices
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).
* aredn: node description on mesh page, lat/lon on both status and mesh, olsr entries
Added node description to mesh status page
Fixes#161
Added Lat/Lon (if available) to status and mesh pages.
It is diplayed above the description and under the node name.
Fixes#145
Added OLSR Routing tables entries to status page just under the memory area
Also added this same info just above the buttons on the mesh status page
Fixes#160
* aredn: OLSR routing table entries
Small addition to the displayed info
* aredn: corrections
move lat lon if statement farther up
changed system command lines to have () around them...
* aredn: added comments for new lines
* aredn: more corrections
back to using backticks on system commands per short discussion with ae6xe
* aredn: updated some lines so they will not toss warnings in the syntax tests
* 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.
with low memory conditions, typically on 32Mb RAM, the
device would become unresponsive in hours to days. The
symptoms only occured when no RF links. iw processes
would hang in Zombie state. Updates to use iwinfo where
possible and avoid using both iw and iwinfo. crontab
script is implemented to detect Zombie processes and free
up resources in the reduced chance the symptoms are still
occuring.