* 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: revise localhost function
Revise getLocalHosts() so it doesn't report unwanted hosts.
getLocalCnxType() is no longer needed.
* include new iplookup function too
* incorporate Eric r1de values for getCurrentNeighbors
* use alternative for mac2host()
* get actual wlan interface for arp query
* tested on dualband radio
Tested on dualband radios with active clients on both Mesh RF and Wifi
AP.
* add more error checking
* fix iplookup match
It is possible to have 2-digit "mid" prefixes. Fixes match to account
for 2 possible digits.
* tighten up code
* add extra info values for Eric r1de
* 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
* Remove local.mesh suffix from CurrentNeighbor hostname
* Uppercase hostname for consistency
* Make hostname lowercase for consistency with Local Hosts display in newui
* fix: Local Alert File Read All
Read the entire local_message file rather than just the first line.
* fix: Local Alert File Read All
Also fix the issue with empty alert files showing empty newui alert
dialogs.
* Format Uptime as String
Format uptime as a string with values for days, hours, minutes, and
seconds.
* Format uptime as String
Change code to use the secondsToClock function in utils.lua
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
This reduces message forwarding by OLSR. Without this mode
olsr will forward a message backout the same interface it
was received on, presumably due to hidden 802.11n nodes.
fixes#522
tested by: Matthew KB9OIV <Matthew.annen@gmail.com>
tested by: Chris K3ADA <sutehk.cs@gmail.com>
Resolves 2 issues with tunnel iptable rules. A rule needed to be
shifted down by 1 position in chain given upgrade to openwrt 19.07.
Reload of rules was not correctly retaining chain order and creating
duplicate entries, inadvertantly blocking intended traffic.
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>
OLSR has rare symptoms of live lock and stops
updating routing and host information. Suspect cause is
single threaded implementation with plugins continually
called from mutiple sources. Prior fixes to ensure
read/write calls are properly written may not have
fully resolved the causes. This change will reduce calls
to retrieve olsr data.
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
groups with custom rules created in /etc/local/mesh-firewall
for echolink, ampr.net, and other integrations with internet
based appications can preserve rules across a firmware
upgrade by locating the custom rules in this directory
using a file named 59-custom-rules
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.
* config change to make uhttpd listen on port 80 and 8080
* add port 80 to tunnel firewall rules
* add port 80 to tunnel firewall rules in config, update help
* firewall rules for wan + dtdlink
I found a duplicated file in www, only 16k, but every bit matters now.
Removed the duplicate and the replaced the file with a minified version.
Updated www/cgi-bin/scan to use new minified file.
Tested. works fine.
This Device is almost the same as the CPE210 V2.0
Once Support for the TP-LINK CPE210 V3.0 gets added to the OpenWrt code we
will need to drop the patch 001-add_support_for_TP-Link_CPE210_v3.patch
Closes#32
* feature: add node description to status page
* feature: add node description to status page
* scrub for html like tags and correct node description label
* cleanup extra whitespace, comments, and debug stmt
* 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]
* 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.
Once the PR for this is accepted by Openwrt we will need to remove the file
001-add_support_for_TP-Link_CPE510_v2.patch
Removed 001-add_support_for_TP-Link_CPE210_v2.patch as PR #937 has been committed
Updated 99_setup_aredn_include to remove unused Rssi Led configuration
Wan interface settings are not correctly copied
over after an OTA causing node-setup to fail
when using a static WAN ip.
fixes->AREDN🎫226
Change-Id: I494c05bc0047f1db4c1452cbdbd8e236f4fcd945
AirRouter does not have a Status 4 LED.
The Power LED does similar to the Status 4 on the AirRouter.
Changing the text to be more generic removing reference
to LED's and leave the documentation of how to know
a node has booted to be done elsewhere.
fixes AREDN->ticket:208
Change-Id: I8821f86e89e17d25e4a21abfdd94d989619d081a
Due to the removal of odhcpd in
I0897be587cd1f46da758dda3efe65aea32c8a965
uploadctlservices no longer returns successfully.
Remove odhcpd to allow to return correctly.
Change-Id: I8e4bc2ff5846b793e31ce5ffedfba91806df7ed1
Increase space on tmpfs just before launching sysupgrade
when the device has had tmpfs limited to 6.5mb
Change-Id: I5b27e6812017c4cbe5d9cb3f53cb04d09892edf4
olsrd-watchdog can trigger when the olsrd service is restarted
Such as when a tunnel comes up, or when a config change is
made to olsrd.
procd already monitors olsrd and makes sure it remains running.
With procd we no longer need olsrd-watchdog and can remove it.
fixes AREDN->ticket:215
Change-Id: I5067d380a22bd0ab5e597746478ef3e1ba05d72d
The DHCP Name reservation on the ports page would allow
a user to use the name of the mesh node as a hostname
for a reserved host which would mess up the remote display
of hosts on the mesh status screen.
In addition while testing the verification code it was found
that it was case sensitive while dns is case insensitive.
fixes AREDN->ticket:198
Change-Id: Ie51a594f733eca38e8547faeab0260d7b23b8818
It is possible for the system to run out of memory when dealing
with large file uploads and installs.
As part of the upgrade procedure shutdown services that are not
essential for node operations to allow more memory for install
to take place.
Includes changes to linkled to indicate this new state as it will
be shutdown as part of the cleanup process.
Memory gain (approximate)
dropbear 100kb
linkled 200kb
logd 200kb
odhcp 100kb
snmpd 500kb
xinetd 100kb
Total(approximate): 1200kb (around %4 on 32mb devices)
This is somewhat similar to files/usr/local/bin/upgrade_kill_prep
except that it kills only a select group of services
so that the system can handle the file upload while
upgrade_kill_prep does the final system cleanup to run the full
upgrade.
ref AREDN->ticket:204
Change-Id: Ic6d3aa028725064a97c4723f6d9b36e1e51d87a7
If a user tries to upload a file (especially firmware images) while
a tunnel is active the nodes run a high risk of running out of
available RAM.
Change-Id: I6c31a5c641c7266f337aa4b209367ae0491703ad
Correct read_postdata() to only accept files from pages that are
specifically designed to accept files.
This should be limited to authenticated pages only.
SCS-2017-001
Change-Id: Ic40f19a88e543d83a8097abcd4e7254ccea90f49
During creation of the backup file some errors may be masked.
While this isn't confirmed to be the cause of any known report it
is possible users have in the past experienced this and we just
couldn't see it.
Change-Id: I12136b7c53aabfb243445170b91c69928206bb1b
Make supporttool clean up its temporary folder when done
executing.
ref AREDN->ticket:204
ref AREDN->ticket:44
Change-Id: Ibc0bc1205ce8f66d382fad238877c881f2a21e3b
Inside the source files the word "contained" was mispelled
as "conained"
The website currently lists this correctly as "contained"
This was an error in the intial stamping of the source files in
changeset:5c3ee1d0686c6e6f2907fe4fc393d86d6c5a69b5/aredn_ar71xx
Line is part of "Additional Conditions" permitted by GPLv3.
Line does not impact coders prior to the AREDN setup date
as it was added by the AREDN team.
Change-Id: I3bc09aea548100f35c08aebe8686b8d4808d56d8
Signed-off-by: Conrad Lara - KG6JEI <KG6JEI@amsat.org>
Signed-off-by: Joe Ayers <ae6xe@arrl.net>
Signed-off-by: Darryl Quinn <k5dlq@arrl.net>
Signed-off-by: Trevor Paskett - K7FPV <snoopytjp@gmail.com>
Allows the supporttool to generate support files
when run from the shell for times that it may
be required when the web interface is offline.
Change-Id: I696289ea10c2e5b57f3e93d81ec7004469c4bba0
This is at the top of the license header.
It prevents the code from being processed but doesn't
actually impact the license terms in any way.
Change-Id: Ic91f2400f9694056b6f06fa43d1074411d6c6262
Fixes the fact that get_model has done the same as other functions.
This probably always should of been a real model of active device
not just of the hardware type from the begining.
DEV NOTE:
This is in perl, even though we intended to migrate to LUA the
core library that contains this data has yet to be migrated
so we need to add this as a perl program.
Change-Id: Ib8a4ea6dd881c32e6d7660607576aeb5218b1e7a
Remove banner from the files set as it will override the build
version of the banner.
Patch 2 will be in arednbase repo.
Change-Id: Iefb8288985b39b8942419f43925d00aaab53d610
After OTA upgrade the timezone was kept in the system file
but not in the UI so when a user would save the timezone
would be overwritten.
fixes AREDN->ticket:186
Change-Id: I593afab0c3f67ba9d300228e9cbb47d7e3d894d1
Corrects flaws in how the web user interface displays SSID's
picked up by wifi scanning.
In addition remove the defunct (never supported) connect program
since we never use it (no more client mode) and it could have
issues with correctly passing SSID's from the shell.
Change-Id: I0444c1b3226b9bc5c3d3044fd5c9849a0d2bf67d
Adjust power levels to reflect what is in the board.info
This was likely a typo when I put the device in the first time.
In addition adjust naming to match Ubiquiti device rename.
{{{
board.sysid=0xe4e5
board.cpurevision=0x00001122
board.name=PowerBeam M5
board.shortname=P5B
board.subtype=400
board.netmodes=7
board.hwaddr=0418D65EEB39
board.reboot=40
board.upgrade=150
board.phycount=1
board.phy.1.maxmtu=2024
board.phy.2.maxmtu=2024
radio.1.name=
radio.1.shortname=
radio.1.bus=ahb
radio.1.subsystemid=0xe4e5
radio.1.subvendorid=0x0777
radio.1.txpower.max=26
radio.1.txpower.offset=4
radio.1.antennas=2
radio.1.def_antenna=1
radio.1.antenna.1.id=1
radio.1.antenna.1.name=400
radio.1.antenna.1.gain=25
radio.1.antenna.2.id=2
radio.1.antenna.2.name=Feed only
radio.1.antenna.2.gain=3
}}}
ref AREDN->ticket:185
Change-Id: I71d2a944b6abb9e30862d7ada7f46b80df2c731c
Mesh nodes would need a significant amount of configuration
including some operational checks everytime an interface comes up
to be able to handle this.
The more sane method is to only allow a node to be a mesh_gw when
the WAN port is utilized and the node is in DIRECT mode.
This changes the UI to prevent this setup from being allowed.
fixes AREDN->ticket:184
Change-Id: I1a1289bc914a349149f5842812dbebc0a70442f7
User UI login uses http-basic authentication which is just base64 encoded
for transit but not encrypted.
This is a long standing error in documentation.
Change-Id: Ib3e49533b2acb32496e5e2a9b9b93e1436bc5f0d
Provide HTTP header to search engines not to index the page.
Eventually we will likely want to add nofollow and a robots file
but first we need to get this pushed out and into search engine hands
so they delist the entires that may already be cached.
Change-Id: I47a68fcc8fb69c43c3f1bbe2b8a04a3e8d51571a
Correct all shellcheck "errors" and "warnings" for
/usr/local/bin/* shell scripts.
This is necesary to have Jenkins start publishing test results.
All code worked on nodes but pushed to strict posix compliance
as part of the cleanup.
SC1001,SC2002,SC2004,SC2006,SC2034,SC2039,SC2086,SC2155
https://github.com/koalaman/shellcheck/wiki for more info
Change-Id: If1f27381eedae79087e490ea12f5939f8cc525a0
Move httpd.conf to not store password and instead depend on the shadow password file.
Also tag the 40_aredn_migrate-httpdconf script to be +x. Not strictly necessary but wish to have this standard
Change-Id: I018d9a3294e45af2316b3c3947ef2a7d8081268b
KG6JEI COMMENT:
Origonaly this was commit 027d0e6b6c682cbf264912842fb2fb9ce92084c7
This got lost in the repo migration and has been chery-picked back into the repo.
Change-Id: If02ade8efca0520b23abccdeceb9bf0fc4eb73d1
RFC requires that the DHCP server include the default gateway (0.0.0.0/0) route as part the Classless network list.
Moved to node-setup so it can be set dynamically at setup run time.
fixes AREDN->ticket:155
ThroughPut numbers in rate selection table were not based on
expected definition from Minstrel's docs. Rather, was based
on 1200 byte packets and transmit time included SIFS time
inflating #s.
Due to a firewall chain name changes in BB when a node was in NAT mode (instead of recommended direct mode) connections that went out over DTDLink as the first hop would not be masqed and as such would not work.
This changes the beacon rate from once every 100tu's to once every 500tu's
1tu=1024 microseconds
This will decrease the amount of RF time being used by beacon packets.
This is especially important on 900MHz and 2.4GHz using 5MHz wide channels where 10 nodes beaconing 10x a second at ~256kbit/s can use up around 45% of the RF channel in beacons alone.
Other bands and channels and widths are not expected to see as significant an advantage due to the faster data rates.
* 'develop' of ssh://git.aredn.org/aredn_ar71xx:
feature: TxMbps--Added Mesh Status Help Section and minor code enhancements
bugfix: snrlog better handle neighbor references from mac to ip to hostname
hardware: Add testing support for AirRouter HP
Correct services to be correctly lined up.
Note:
It looks like we need to split the two tables eventually on the mesh status page as the services are pushed to the right.
Saving this however to be done in a future release as we may be doing a revamp of this page for sortable fields in the near future and this would fit in with that.
Correct services to be correctly lined up.
Note:
It looks like we need to split the two tables eventually on the mesh status page as the services are pushed to the right.
Saving this however to be done in a future release as we may be doing a revamp of this page for sortable fields in the near future and this would fit in with that.
This adds support for 802.11n data rates on the mesh.
This should improve dataspeeds across the board
MIMO devices like Rocket and NanoStation should be able to use dual chains which allows diverse data transmission on each chain increasing throughput
MCS data rates in theory should cut through noise better than legacy modulation and have higher speeds on each step which should allow overall higher datarate between nodes.
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
Some settings would not copy correctly and would fall back to the config default due to faulty if checks logic when the value was set to 0 ending up in if(0) checks.
All devices that respond to an iw scan will be AP's or ADHOCS.
All adhoc devices need to have the adhoc designator so if we don't see this we know its an AP.
Also resolves the "0" signal strength as nodes that have not been seen in long time show up as a 0 for signal.
This is a regression of the issues seen on the iw scan but in this case applies to station dump which we have not used before.
We don't really need any files in there, and keeping the folder can interfere with the programs that populate /etc/aredn_include on firstboot from uci-default.
This will cause the node to boot up in default mode (with an AP on its interface on the default channels) during its first boot, and than very quickly reboot and come up under the mesh.
Deals with the fact that TPLink has max powers that differ based on frequency and are programed into the chip lower than what the manufacture states in its datasheet.
We want to make sure we don't fry any boards so we honor what the chip programming is set to.
Part of Freesns Cumulus package
https://www.iconfinder.com/icons/183285/help_mark_question_icon#size=16
Free for commerical use
Created by Yannick Lung, 2013
Web: www.yanlu.de
Twitter: @FreecnsUI or @YanluDE
Facebook: www.facebook.com/FreecnsUI
Mail: freecns@yanlu.de
Google+: Freecns
App.net: Freecns
Version 2.0 known as Freecns Cumulus
LICENSE
You are free to use Freecns for commercial and personal purposes without attribution, however a credit for the work would be appreciated. You may not sell or redistribute the icons themselves as icons. Do not claim creative credit.
Mainly relates to TP-Link devices which have a roving power level programmed into the hardware.
The datasheets for the hardware may say higher power but the chip has been programmed to not go above these values.
Regression of changeset:e34b7fcee49c3e2b7eb35aa4fb44b6abdc78b3ad/aredn_ar71xx
Having moved to iw for iwinfo we have a regression previous commit.
Restore fix that if not seen after 10 seconds signal drops from display.
We should of used the freq: field, not sure why I did not use it to begin with.
Corrected and added a small function to convert from frequency to channel.
The code makes the assumption that the connection has not been modified to be encrypted (Standard is not under AREDN V3 protocol) but this may need to be changed in the future.
Early merge of 3.15.1.0 into develop due to a large number of code changes in the release branch.
Will merge again in the future when the branch is closed but want to pull in changes now from release.
Not getting much debug information at moment, would like to put this in uci-defaults but with issues that I can't seem to log at moment (and not having serial cable for this device) I'm going with lets put it in /etc/init.d/local before nvram and similar gets set.
ref AREDN->ticket:115
Due to issues we are pulling the showing of tunnels untill we can better detect them.
We are also pulling dtdlink as all AREDN nodes should have dtdlink enabled.
Old code would set mac on the sub-vlan not the master interface which could cause issues.
Rework to be more functional in the future and to work correctly on vlan interfaces.
ref AREDN->ticket:115
Switch to iw over iwinfo because it handles the new channels better.
Partially reverts changeset:808a8d5019fce4a7ca2c027ea7838d43c6d8cad0/aredn_ar71xx
fixes AREDN->ticket:129
Trying to registry over-write the antenna setting has never been a good idea in the first place.
The hardware fully handles antenna selection without forcing it already.
ref AREDN->ticket:120
To overhaul the system to allow "0" would take a significant re-write of kernel code. At this time its best to pull channel '0' as it is not in any clear RF space (channel 1 overlaps it)
ref AREDN->ticket:114
Firewall rules don't get called because vtund is at /usr/sbin/vtund not /usr/bin/vtund
Also make the check if line posix compatible while we are chaning the path to be sure it works in the future too.
add nodename and tstamp to default filename to reduce chance of submitting wrong file
timestamp may not always be 'real' time if a node does not have ntp access
Remove the chmod step inside of setup.
Came across one time where this didn't trigger.
In addition this saves us from using additional storage space on the node as a +x creates a duplicate file.
When calling uci commit the file gets overwritten and as such the additional file lines are discarded because the active /etc/config/firewall is diffrent than the open file.
Use the uci commit further down in node setup.
All node type's except mesh have been deprecated.
In a future release we will remove them (and the associated code) to streamline the project.
It is recommended to use a dedicated purpose driven device for these modes in the future
wifi detect is called in /etc/init.d/boot before uci_apply_defaults is called.
Because of this if we don't have the data about the radio0path we need to remove the wifi config file first before calling wifi detect.
Needs to be in uci-defaults to be sure these data sets execute BEFORE the OS boots
We also need to get radio0 path because its mandatory for wifi to work.
Needed for sysupgrade from 3.0.2 to latest version.
Allows nodes to default to a common channel that is in the most common bandplan space for Part 97 usage.
Local cordination is still needed by users to make sure the channel matches the local deployment.
Defaults are as follows:
Band : Channel Freq : Bandwidth
900 : 912MHz : 5MHz
2400 : 1 2412MHz : 20MHz
3400 : 3420MHz : 5MHz
5800 : 149 5745MHz : 5MHz
2.4GHz keeps channel 1 at 20MHz because it is the standard deployment.
All other bands are still 'new' and no standard exist so we are creating one.
5MHz chosen because it better fits the emcomm goal. Smaller width should be stronger allowing for better networks.
Local networks can change as they see fit.
Remove setting RF channel on first boot in uci-defaults.
This should allow the node to use standard wifi channels when it boots allowing mesh setup to be run from a laptop or mobile device.
We will later move them to a real mesh channel during the mesh setup page.
Should also resolv issue where nodes were booting up on channel -2 and similar and wifi would refuse to start due to regdomain.
When a node is first setup (unconfigured) the rf channel or when user presses reset button the wifi channel and bandwidth will be set to mesh default even if it does not match the current RF channel.
Spectrum testing proved to work out well. Merge code into mainline so we can better test with the rest of the hardware.
Also extends ability for 3.4 GHz devices (3.38=3.50)
Adds 5MHz spacing options for 5.8Ghz and allows more channels
Adds -2,-1,0 channel support on 2.4GHz
Conflicts:
files/www/cgi-bin/channelmaps.pm
Add the NLQ to the remote neighbors display so users can see both directions of the path from the mesh status screen.
ETX is dependent upon both directions of the path.
Config file is present upon initial start and in mesh mode.
Daemon still starts up in other modes but will not function w/o settings.
Firewall:
Permit access for UDP:161 (SNMPD) on WIFI and DTDLINK
Lan is permitted by default allow rules.
LINK1 LED was based on Ubiquiti file names, changed to determine base on file name instead.
This should open up more device support long term as well as solve the initial issue.
Testing mode for CPE510
Offset needs to be looked into, OS reports a max power of 23dbm need to see if this is kernel, or offset related.
Should provide enough details for the board to be registered in the UI
When a device does not have a subsystem device ID we will fall back to the board_detect routine.
In the case of a TPLink CPE510 the model will be along the lines of "TP-Link CPE510 v1.0"
In the case of TPLink CPE510 this also includes a hardware version so should the hardware be changed in the future we will be able to key off that as well.
Returns the same data for devices as CPUInfo would of returned for previous devices and for new devices like the CPE510 causes the system to list the exact model instead of of the family.
M3 is a 5.8GHz unit with a 2GHz offset transverter.
5MHz width is recomended on these channels.
Send to spectrum analysis for verification that output looks clean.
Stepping stone to working on the wider width of the full 3.4GHz band which has more channels but unlike channels 95-100 (added in this commit) the rest are outside the normal 5.8GHz cal range (but are between two cal points so may be fine)
Makes the nodes advertise using DHCP Options 121 and 249 routes to the mesh (10.0.0.0/8) and the reserved (172.16.0.0/12) address ranges.
This change allows directing systems to prefer the mesh node for mesh ranges unless another network rule is more specific (such as a directly connected network)
This is mostly useful where a PC may have multiple network connections active as it improves the desire for the packets to travel via the mesh network.
Currently the:
10.0.0.0/8 range is used by mesh nodes and dtdlinking of mesh nodes.
172.27.0.0/16 is used for default LAN network on NAT nodes.
172.33.0.0/16 is for ad-hoc tunnels
All others in the advertised range are reserved for future network use.
nvram-setup may be the only script we have to worry about as it may call configs for interfaces that do not exist in the current mode.
By default get_interface will return a static mapping when it can't find an active config entry meaning that eventually get_interface will need an update routine to pull out of local running config
The lack of this update routine should be acceptable for now as we have no GUI for users to change the mapping.
Create get_interface which will lookup in the current uci network config the realname for the logical interface name.
When the interface is not found it will fall back to a hard coded list.
Configure the UI to use the new get_interface function.
Under Barrier Breaker sometimes OLSRD gets started before any interface is up causing OLSRD to shutdown because no interfaces exist.
Forces OLSRD to stay on and wait for the interfaces to come online.
Nodes sometimes show up as a mid1 entry when dtdlink and RF connected.
Sometimes the nodes will get the eth0 ip because wlan0 is not up yet.
Under Barrier Breaker the MainIP option is now supported as part of the uci system which allows us to restore using this setting.
We can now force the IP address that is claimed (wlan0) for the primary IP of the node.
Since a large number of the BBHNDev team has decided to create firmware fully independent of the BBHN Project the decision has been made to rebrand the firmware to differentiate from the origional BBHN work.
We would like to thank all those whom have worked on the BBHN firmware over the years and all those who continue to work on the firmware under AREDN(TM).
Program went GPLv3 last year but license text was never added to files
Default text to give credit to David as he is listed in all commits and to reference the BBHN Austin team at the same time as they were part of the group of HAM's that started this project.
Using the method suggested by Henning Rogge in 2014
{{{
1) remove file
2) wait 2 intervals
3) if file exists, go to 1)
4) restart olsr, then go to 1)
}}}
With the exception that we currently wait more than 2 intervals.
Even if the script hits a collision at the same time the file is being written the file will already exist from one of the previous writes or the current write.
Removing a file in use is safe as once the FD closes the file contents are fully released.
Additional Advantages:
* Should be more efficient to check if file exists instead of reading the file and comparing date stamps.
* Removing the Perl code moves us one step closer to retiring Perl in the future.
Removing the offset and increasing max power so we have full range avaliable to us.
This may not help us figure out the offset but will allow us a wider range of options.
ref BBHN->ticket:71
Reported information and board information do not appear to line up, device will need further testing to verify actual details.
Max Power and Power Offset are of concern.
ref BBHN->ticket:71
When a non mesh-gw node has a route via the WAN interface and through a mesh-gw it will choose the mesh-gw instead of the local WAN connection.and
We change the routing list to prefer the WAN link.
When the WAN is static configured the user will need to disable the WAN interface for the mesh internet to be chosen.
When the WAN is configured to dynamic the loss of a DHCP lease will allow the node to chose the remote mesh internet.
The simple solution would be to change the WAN to disabled and reboot to ensure a remote node is used instead if the local internet fails.
Thanks to Joe AE6XE and Clint AE5CA for pointing out this scenario.
By checking the "Keep Settings" box the node will run sysupgrade instead of mtd. Core settings are stored between installs and the _setup files are updated by pulling in missing items from the _setup.default files.
The olsrd watchdog module truncates and writes the latest timestamp every 5 seconds. The olsrd-watchdog script could catch the file during write causing an instant restart.
Changed to want 3 failures before restarting olsrd reducing the chance of collision based restarts.
fixes BBHN->ticket:68
Using a press of around 5 seconds (3-7) the node will reset the passord to BBHN default and enable dhcp on the lan interface.
A press of around 10 seconds (8-12) will cause the node to reset the node to 'just flashed' status and cause the node to reboot.
Unknown networks are not quoted like known networks are.
This caused a bug where the last network name may be incorrectly used in place of the words 'unknown'
fixes: BBHN->ticket:58
Due to multiple issues that olsrd secure seems to make occur more often (but is not soley caused by OLSR Secure) causing olsr to crash olsr secure is being pulled while we work on the module.
This partialy reverts commit 553c126490.
tag: RequiresProtocolIncrement
Required for 900mhz devices to be supported due to band size.
This can also be useful for allowing more devices to fit into the same amount of RF space as nodes may often not need full 20mhz wide channels.
2.4ghz while using standard BBHN SSID is restricted to 20mhz for compatibility.
ref BBHN->ticket:50
Has been seen with yes, and echo y, etc. Loops do not return.
In order to allow packages that do not need interaction to install we have pulled out 'yes' for now.
Officaly now supporting (XM series only for all the below):
{{{
Rocket M5
Bullet M5
AirGrid M5
NanoBridge M2
AirGrid M2
AirGrid M5 HP
NanoBridge M5
Bullet M2 Titanium
Bullet M5 Titanium
PicoStation M2
NanoStation M5
NanoStation Loco M5
}}}
mid hostname entries are only created on remote nodes and are not created on the local node (by design of nameservice module)
In order to allow links on remote nodes olsr status screens and potentionaly other locations to resolve correctly we must add a hostname for the dtdlink interface into the name service beacons.
In addtion we need to ensure the UI looks at these links instead.
This feature will need to be looked at for long in the mesh status screen to find a better method to display these connections.
ref BBHN->ticket:47
Made adjustmetns to code that calls wifi_txpoweroffset() to ensure we minimize the number of calls that spawn a shell.
Also adjust the setting of $wifi_txpower to handle the fact that iwinfo returns the known offset.
SSID Version increment for
changeset:a4dd9a9bdd798b05d76d71d135d860f57cb83d8d/bbhn_ar71xx and changeset:553c126490790a3d9873741551813a635a439c0b/bbhn_ar71xx
ref BBHN->ticket:28 and BBHN->ticket:37