This adds a new package which allows configuration of Gluons cellular
WWAN capabilities using the configuration mode. This way, a user can
enter APN information as well as the SIM PIN and enable / disable the
functionality.
Signed-off-by: David Bauer <mail@david-bauer.net>
Add cellular configuration support to Gluon. This implementtaion focuses
not on hotpluggable WWAN adapters but instead on embedded LTE modems
found in travel-routers or FWA CPEs.
Signed-off-by: David Bauer <mail@david-bauer.net>
I was made aware of a bug when submitting the form while the element is
disabled based on it's dependencies
The fix was to inherit from AbstractValue instead of just node
AbstractValue's AbstractValue:resolve_node_depends() in particular
solves the issue, but it made more sense to just use the full base class
Use the country3 option implemented in OpenWrt's hostapd configuration
handling instead of adding it as a custom option.
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
This method previously returned the string literal of the config key,
leading to checks evaluating to true even in case this option was
disabled.
Signed-off-by: David Bauer <mail@david-bauer.net>
The preserve_channels configuration option was moved to the gluon UCI
package without adding a proper migration.
Signed-off-by: David Bauer <mail@david-bauer.net>
Increase the peer limit for ath10k-ct from 32 to 96 STAs like it is set
for the non-ct firmware / driver. In order to make this work with the
memory constraints of the wireless platform, reduce the number of
concurrent vdevs to the maximum Gluon uses (4).
Closes#2604
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
The below mentioned commit introduced a regression, that the "wifi"
section of the request type "neighbours" was empty:
~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
{
"wifi": [
],
...
}
After this commit, the section (correctly) looks like this:
root@UFU-FWH-A272-Tresckowstr-GemR-vorne:~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
{
"wifi": {
"ca:38:7e:42:5f:21": {
"neighbours": {
"fe:9f:4d:01:ea:e1": {
"noise": -102,
"inactive": 50,
"signal": -84
},
"fe:df:b9:84:37:51": {
"noise": -102,
"inactive": 20,
"signal": -73
}
}
}
},
...
}
The issue was due to the fact, that the iteration over the (mesh) wifi interfaces
was broken. The code was assuming, that the section
config interface 'mesh_radio0'
option proto 'gluon_mesh'
in /etc/config/network contains an option "ifname", which it does not.
The ifname property is only stored in the corresponding section in
/etc/config/wireless:
config wifi-iface 'mesh_radio0'
option ifname 'mesh0'
option network 'mesh_radio0'
option mode 'mesh'
...
Therefore, we now iterate over wifi-ifaces in /etc/config/wireless, that
have the mode 'mesh' instead. This resolves the issue.
Fixes 0f1fa243f7
This new field reflects the TQ to the selected gateway.
Before this commit, if you had connectivity issues in a larger mesh,
it was a tedious task to understand which nodes are affected and which
are not. By providing this new value for each node, it becomes easier
to see which nodes are affected by the connectivity issues and which
are not.
The new field "gateway_tq" is located at the toplevel of the
statistics resource (next to "gateway" and "gateway_nexthop"):
gluon-neighbour-info -d ::1 -r statistics
{
...
"gateway": "02:a1:71:04:09:10",
"gateway_nexthop": "88:e6:40:20:90:10",
"gateway_tq": 193,
...
}
This implements the same behavior as it is used in the autoupdater [1].
This is for example required to allow the manual installation of
firmware upgrades via the config mode on devices which where migrated
from swconfig to DSA. Otherwise the image will always be invalid.
[1] b804281664
Depending on the source of the primary MAC address, uppercase digits
would be used on some devices. Convert the address to lowercase for
consistency.
We only change the case for newly configured nodes to avoid changing the
node ID and derives MAC addresses for existing installations.