-
+ {{_H("Low SNR results in higher latency, lower bandwidth and high retranmissions. Setting a minimum SNR allows links with
+ these characteristics to be ignored.")}}
+
+
+
Maximum Distance
+
Maximum distance allowed to other nodes in {{units.distanceUnit()}}
+
+
+
+
+ {{_H("Distance beyond which neighbor node connections will be ignored. Longer distances to nodes can result in poor performance.
+ This will effect all neighbors, not just the distant ones, so it often makes sense to keep this distance to a minimum.")}}
+
+
+
Minimum Quality
+
Minimum connection quaility percentage
+
+
+
+
+
+ {{_H("The node management system maintains an estimate of how well each neighbor link performs. This link quality is used
+ to determine which links to use. Lowering the minimum quality can impact performance, but may also be necessary under specific
+ circumstances.")}}
- {{_H("Low SNR results in higher latency, lower bandwidth and high retranmissions. Setting a minimum SNR allows links with
- these characteristics to be ignored.")}}
-
-
-
Maximum Distance
-
Maximum distance allowed to other nodes in {{units.distanceUnit()}}
-
-
-
-
-
- {{_H("Distance beyond which neighbor node connections will be ignored. Longer distances to nodes can result in poor performance.
- This will effect all neighbors, not just the distant ones, so it often makes sense to keep this distance to a minimum.")}}
-
-
-
Minimum Quality
-
Minimum connection quaility percentage
-
-
-
-
-
- {{_H("The node management system maintains an estimate of how well each neighbor link performs. This link quality is used
- to determine which links to use. Lowering the minimum quality can impact performance, but may also be necessary under specific
- circumstances.")}}
- {% } %}
1 ? "style='padding-left:10px'" : ""}}>
{{_H("In LAN Hotpot mode, the WiFi acts as a wireless hotspot. Any device connecting will appear as a LAN device attached to the node.")}}
@@ -473,92 +473,90 @@ if (request.env.REQUEST_METHOD === "DELETE") {
{{_R("dialog-advanced")}}
+ {{_H("Link Quality Management (LQM) is an automatic management system which monitors the efficiency of each neighbor link
+ and optimizes their use for best performance. When disabled, it still gathers data on each link, but this information is
+ not used to effect operation.")}}
+
+ {% if (hasradios) { %}
-
LQM enable
-
Enable Link Quality Management
+
Minimum Distance
+
Minimum distance to other nodes in {{units.distanceUnit()}}
- {{_H("Link Quality Management (LQM) is an automatic management system which monitors the efficiency of each neighbor link
- and optimizes their use for best performance. When disabled, it still gathers data on each link, but this information is
- not used to effect operation.")}}
-
- {% if (hasradios) { %}
-
-
-
Minimum Distance
-
Minimum distance to other nodes in {{units.distanceUnit()}}
-
-
-
-
+ {{_H("Exclude nodes which are too close to this node.")}}
+
+
+
RTS Threshold
+
RTS Threshold in bytes before using RTS/CTS when hidden nodes are detected
- {{_H("Exclude nodes which are too close to this node.")}}
-
-
-
RTS Threshold
-
RTS Threshold in bytes before using RTS/CTS when hidden nodes are detected
-
-
-
-
+
+
- {{_H("When hidden nodes are detected, the RTS/CTS protocol is automatically enabled to improve performance. By default this is used for all packets
- being sent, but this can be optimized to only packets over a specific size (between 1 and 2347 bytes). Setting the value to
- 2347 disables the protocol.")}}
-
-
-
Max Packet Size
-
Maximum packet size in bytes sent over WiFi
-
-
-
-
+
+ {{_H("When hidden nodes are detected, the RTS/CTS protocol is automatically enabled to improve performance. By default this is used for all packets
+ being sent, but this can be optimized to only packets over a specific size (between 1 and 2347 bytes). Setting the value to
+ 2347 disables the protocol.")}}
+
+
+
Max Packet Size
+
Maximum packet size in bytes sent over WiFi
- {{_H("By default, WiFi uses the same packet size (1500 bytes) as Ethernet. However, in some noisy environment performance can be
- improved by reducing the packet size. A value must be between 256 and 1500.")}}
-
-
-
SNR Margin
-
SNR Margin in dB above Min SNR a signal must reach to be re-activated
-
-
-
-
+
+
- {{_H("The SNR margin avoids a link switching quickly between blocked and unblocked when the SNR is the same as the minimum SNR. Once
- a link falls below the minimum SNR, it must move above minimum SNR + SNR margin to become active again.")}}
- {% } %}
-
-
-
Quality Margin
-
Quality Margin percentage increase before neighbor can be re-activated
-
-
-
-
+
+ {{_H("By default, WiFi uses the same packet size (1500 bytes) as Ethernet. However, in some noisy environment performance can be
+ improved by reducing the packet size. A value must be between 256 and 1500.")}}
+
+
+
SNR Margin
+
SNR Margin in dB above Min SNR a signal must reach to be re-activated
-
-
-
Ping Penalty
-
Ping Penalty quality percentage to add when neighbor cannot be pinged
-
-
-
-
+
+
-
-
-
Minimum Routes
-
Minimum number of routes on a link required to disable blocking
-
-
-
-
+
+ {{_H("The SNR margin avoids a link switching quickly between blocked and unblocked when the SNR is the same as the minimum SNR. Once
+ a link falls below the minimum SNR, it must move above minimum SNR + SNR margin to become active again.")}}
+ {% } %}
+
+
+
Quality Margin
+
Quality Margin percentage increase before neighbor can be re-activated
+
+
+
+
+
+
+
+
Ping Penalty
+
Ping Penalty quality percentage to add when neighbor cannot be pinged
+
+
+
+
+
+
+
+
Minimum Routes
+
Minimum number of routes on a link required to disable blocking
+
+
+
diff --git a/files/app/partial/hideable-switch-g.ut b/files/app/partial/hideable-switch-g.ut
new file mode 100755
index 00000000..c4864dc0
--- /dev/null
+++ b/files/app/partial/hideable-switch-g.ut
@@ -0,0 +1,37 @@
+{%
+/*
+ * Part of AREDN® -- Used for creating Amateur Radio Emergency Data Networks
+ * Copyright (C) 2024 Tim Wilkinson
+ * See Contributors file for additional contributors
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Additional Terms:
+ *
+ * Additional use restrictions exist on the AREDN® trademark and logo.
+ * See AREDNLicense.txt for more info.
+ *
+ * Attributions to the AREDN® Project must be retained in the source code.
+ * If importing this code into a new or existing project attribution
+ * to the AREDN® project must be added to the source code.
+ *
+ * You must not misrepresent the origin of the material contained within.
+ *
+ * Modified versions must be modified to attribute to the original source
+ * and be marked in reasonable ways as differentiate it from the original
+ * version
+ */
+%}
+
diff --git a/files/app/resource/css/admin.css b/files/app/resource/css/admin.css
index d292174c..cb5c7b3c 100755
--- a/files/app/resource/css/admin.css
+++ b/files/app/resource/css/admin.css
@@ -433,7 +433,8 @@ label.switch
#ctrl-modal .hideable[data-hideable] > .hideable2,
#ctrl-modal .hideable[data-hideable] > .hideable3,
#ctrl-modal .hideable[data-hideable] > .hideable4,
-#ctrl-modal .hideable[data-hideable] > .hideable5
+#ctrl-modal .hideable[data-hideable] > .hideable5,
+#ctrl-modal .hideable-g[data-hideable] .hideable0-g
{
display: none;
}
@@ -443,7 +444,8 @@ label.switch
#ctrl-modal .hideable[data-hideable="2"] > .hideable2,
#ctrl-modal .hideable[data-hideable="3"] > .hideable3,
#ctrl-modal .hideable[data-hideable="4"] > .hideable4,
-#ctrl-modal .hideable[data-hideable="5"] > .hideable5
+#ctrl-modal .hideable[data-hideable="5"] > .hideable5,
+#ctrl-modal .hideable-g[data-hideable="on"] .hideable0-g
{
display: block;
}