Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Airos in OpenWISP2 #91

Open
wants to merge 342 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
342 commits
Select commit Hold shift + click to select a range
c006777
[airos] update ntpclient converter
edoput Jul 10, 2017
e238e5c
[wpasupplicant] implemented different paths
edoput Jul 11, 2017
d0b87fc
[wpasupplicant] order the default arguments on bottom
edoput Jul 11, 2017
a830852
[airos][test] begin airos testing
edoput Jun 5, 2017
33d7481
fix broken tests by adding default values
edoput Jun 9, 2017
ada21ac
[airos][test] add all the possible mocked backend
edoput Jun 9, 2017
fabc6fb
[airos][test] add tests for airos converters
edoput Jun 9, 2017
0893216
[airos][test] add test for no bridge interface
edoput Jun 9, 2017
6d88b65
[test] fixed broken expected value in test
edoput Jun 12, 2017
353a026
[test] added test for inactive radio
edoput Jun 12, 2017
ca1f71a
[test] fixed not flattened expected values
edoput Jun 12, 2017
b7f7cd4
[airos][test] update tests to airos v8.3 configuration
edoput Jun 22, 2017
e29eacd
fixed typo in interface keyword
edoput Jun 23, 2017
6b7c556
fixed wrong indentation for tests in netconf
edoput Jun 23, 2017
bc5c66f
[test] add test for wpasupplicant
edoput Jul 3, 2017
1fedaa8
[test] skip tests as not required by airos or target configuration
edoput Jul 6, 2017
be8e397
[test] create test case for checking converter outputs
edoput Jul 6, 2017
fe0d9c0
[test] use custom converter test class instead of unittest one
edoput Jul 6, 2017
d47b20a
[test][netconf] skip unnecessary tests
edoput Jul 6, 2017
e3dfb0d
[test][netconf] update expected output to airos 8.3
edoput Jul 6, 2017
02a86c7
[test][netconf] fix validation error in netconf tests
edoput Jul 6, 2017
addd5d5
[test][wireless] update expected result to airos 8.3
edoput Jul 6, 2017
99ea564
[test][wireless] use ConverterTest instead of naive
edoput Jul 6, 2017
c56f461
[test][wpasupplicant] use ConverterTest instead of naive
edoput Jul 6, 2017
b59bde6
[test][wpasupplicant] skip wpa2_enterprise test as it is a later target
edoput Jul 6, 2017
7f26ca1
remove redundant test file
edoput Jul 7, 2017
ae2de5f
update test default for resolv converter
edoput Jul 7, 2017
2db7963
fix importerror in decorator
edoput Jul 7, 2017
80427d4
fixed test input and expected output
edoput Jul 7, 2017
8f3c2da
[test] updated wireless test output
edoput Jul 7, 2017
7fc5839
[test] updated ntp test for converter
edoput Jul 10, 2017
bd8fa0f
[test] changed converter tests to use the custom test class
edoput Jul 10, 2017
00affc4
fixed syntastic errors
edoput Jul 10, 2017
575653f
[wpasupplicant] split test in station mode and access point mode
edoput Jul 10, 2017
f346cef
[wpasupplicant] add test for access point mode, change first test to
edoput Jul 10, 2017
6f6fa25
added test for access_point mode without encryption
edoput Jul 11, 2017
1cf7817
fixed expected output for station mode without encryption
edoput Jul 11, 2017
ed0cb7a
fixed expected output for access point without encryption
edoput Jul 11, 2017
27acd5f
[wpasupplicant] last test needed and last changes to make test pass
edoput Jul 11, 2017
7223833
[airos] always run converter from netjson to native configuration
edoput Jul 12, 2017
894e170
[airos][aaa] update aaa converter default output
edoput Jul 12, 2017
6723301
make syntastic happy
edoput Jul 12, 2017
3309d6d
KeyError handling when searching a ecnryption object from aaa converter
edoput Jul 12, 2017
f203c35
[airos] add default values to every instance of get_copy
edoput Jul 12, 2017
bde9742
fix syntastic warning
edoput Jul 13, 2017
2c015d3
[airos] added missing converters to airos backend
edoput Jul 14, 2017
a35f41d
[airos] fixed wrong ebtables converter output namespace
edoput Jul 14, 2017
09df88b
[airos] fixed default values for converters
edoput Jul 14, 2017
0229fdd
[airos] fixed route converter to use values from netjson
edoput Jul 14, 2017
6d7a24c
[airos] removed unused templates from project
edoput Jul 14, 2017
9047b02
hardcode netmode value in template
edoput Jun 29, 2017
ac48bb4
fix syntastic warning in airos template
edoput Jul 14, 2017
4899018
[airos][template] fixed netmode template namespace
edoput Jul 14, 2017
20105e3
[airos][schema] add netmode property to airos schema
edoput Jul 14, 2017
bfb50ca
[airos] set netmode from input netjson in converter
edoput Jul 14, 2017
8bb498c
[test] added test for netmode sectio#n
edoput Jul 14, 2017
e6f5dfb
[airos]retab template
edoput Jul 14, 2017
149c124
[airos] fixed relative import in converters
edoput Jul 14, 2017
05ceead
iterate with list comprehension instead of filte
edoput Jul 15, 2017
669f1a1
replace values at the end of the loop instead of updating inside
edoput Jul 15, 2017
a58653d
[airos] added type hints for recursive function
edoput Jul 15, 2017
0504720
[airos][doc] added netmode docs for airos backend
edoput Jul 16, 2017
68b3fde
make flake happier
edoput Jul 16, 2017
30e27f0
[airos] merged multiple schema overrides into one
edoput Jul 17, 2017
ebbe92a
[airos] complied with style issue from code review
edoput Jul 17, 2017
caecb57
[airos] simplify conversion from intermediate to renderer data
edoput Jul 18, 2017
cace697
[airos][test] added test for multiple elements in intermediate
edoput Jul 20, 2017
79c1c75
[airos] moved conversion functions to separate module
edoput Jul 20, 2017
4cd41de
[test] update import for intermediate conversion test
edoput Jul 20, 2017
f7cd4bc
[airos] fixed broken tests
edoput Jul 20, 2017
bdd19ec
[airos] added tests for wireless authentication in aaa section
edoput Jul 20, 2017
a84dee9
[airos] draft for aaa section update
edoput Jul 20, 2017
37b5194
[airos] fixed validation error in aaa test
edoput Jul 21, 2017
4792790
[airos] added test for igmpproxy converter
edoput Jul 21, 2017
ae69244
[airos][test] renamed test case class
edoput Jul 21, 2017
4ff3820
[airos] added test in netconf converter for dhcp address
edoput Jul 21, 2017
f3303f6
[airos] added test for ebtables converter
edoput Jul 21, 2017
0786914
[airos] added sorting to intermediate representation before rendering
edoput Jul 24, 2017
bf8efd1
[airos] added stp status handler for bridge converter
edoput Jul 24, 2017
952a60c
[airos] added schema and handler for autoneg and flowcontrol property
edoput Jul 24, 2017
691a14b
[airos] updated ntpclient converter to use ntp schema from openwrt
edoput Jul 24, 2017
4e01174
[airos] added conversion to OrderedDict in converter test case
edoput Jul 24, 2017
efc4f78
[airos] updated test results in ntp converter test
edoput Jul 24, 2017
8084ad2
[airos] fix invalid netjson in wpasupplicant converter
edoput Jul 24, 2017
91140c4
[airps] changed all test to comply with recent changes
edoput Jul 24, 2017
ff282ac
[airos] added schema for ntp servers with defaults, use them in
edoput Jul 24, 2017
b24ce49
[airos] added bssid configuration to wireless section
edoput Jul 24, 2017
ff45020
[airos] Fixed schema issue described in #93
nemesifier Jul 24, 2017
6dd82ee
[airos] Reformatted schema indentation etc
nemesifier Jul 24, 2017
efee532
[airos] added default routes handling to routes converter
edoput Jul 24, 2017
737e636
[airos] reorder schema properties
edoput Jul 24, 2017
3af88fe
[airos] added draft for sshd property schema and sshd converter
edoput Jul 24, 2017
29aed15
[airos] specify both location and mantainer from netjson
edoput Jul 25, 2017
2b04c34
[airos] make assignment explicit
edoput Jul 25, 2017
465ed78
[airos] fix indentation in renderer cleanup
edoput Jul 25, 2017
671885a
[airos] updated docs to use correct airos backend name
edoput Jul 25, 2017
5a47172
[airos] updated docs for airos backend and intermediate representation
edoput Jul 25, 2017
98cc957
[airos] updated schema with meta infor and defaults
edoput Jul 25, 2017
51b1035
[airos] check for index error on accessing a wireless interface
edoput Jul 25, 2017
f1e8389
[airos] fixed typo in converter attribute
edoput Jul 25, 2017
712ebcc
[airos] set default for sshd properties in sshd converter
edoput Jul 25, 2017
540076c
[airos] updated schema for user section with title
edoput Jul 25, 2017
6b42888
[airos] populated schema with titles and format
edoput Jul 26, 2017
1750a0d
[airos] schema propertyOrder enchancement
edoput Jul 26, 2017
f65baff
[airos] move flowcontrol property up in the list
edoput Jul 26, 2017
d3ad3cd
[airos] added constrain on wireless interface modes
edoput Jul 26, 2017
4d71f2b
[airos] catch both IndexError and KeyError
edoput Jul 26, 2017
63cb287
[airos] added default for general keyword in snmp converter
edoput Jul 26, 2017
26b0709
[airos] added default for bssid getter in wireless converter
edoput Jul 26, 2017
83c8a49
Revert "[airos] added constrain on wireless interface modes"
edoput Jul 26, 2017
e77a9eb
[airos] added schema, converter for gui property
edoput Jul 26, 2017
d79f501
[airos] updated documentation for gui property
edoput Jul 26, 2017
7ce8cef
[airos] set required properties for ssh key in netjson
edoput Jul 26, 2017
8b06f57
[airos] added default for key type to schema
edoput Jul 26, 2017
a2af7fb
[airos] added ssh-key handling in converter
edoput Jul 27, 2017
6b7f9ff
[airos] added required properties to sshd schema
edoput Jul 27, 2017
3302c17
[airos] added test for language property in gui property
edoput Jul 27, 2017
75d10aa
[airos] fixed exnryption key nesting in interface
edoput Jul 27, 2017
9111d3d
[airos] used mapping for status in wpasupplicant.device configuration
edoput Jul 27, 2017
02e8526
[airos] fixed keyerro in test for wpasupplicant
edoput Jul 27, 2017
287c33c
[airos] remove test for unnecessary netjson property
edoput Jul 28, 2017
274f1ce
[airos] fixed not valid netjson for aaa converter tests
edoput Jul 28, 2017
a0fb423
[airos] fixed expected output in aaa converter tests
edoput Jul 28, 2017
d026f26
[airos] changed wireless method to property in aaa converter
edoput Jul 28, 2017
674ac98
[airos] added netmode property to aaa converter
edoput Jul 28, 2017
8e26953
[airos] moved interface releated functions into separate module
edoput Jul 28, 2017
f6fa039
[airos] moved logic for aaa section to separate module
edoput Jul 28, 2017
6dae05a
[airos] removed aaa method logic from converter
edoput Jul 28, 2017
85be0d1
[airos] added bridge property to aaa converter
edoput Jul 28, 2017
d8575fe
[airos] added radius property to aaa converter
edoput Jul 28, 2017
3dc864f
[airos] refactor aaa converter
edoput Jul 28, 2017
5755de0
[airos] added bridge interface to access_point test
edoput Jul 28, 2017
fdcf10d
[airos] make flake happier
edoput Jul 28, 2017
2f6a8a3
[airos] used functions from interface module where possible
edoput Jul 28, 2017
48f88f6
[airos] used wireless property in converter where needed
edoput Jul 28, 2017
a271621
[airos] added functions for bssid and hidden_ssid values from interface
edoput Jul 28, 2017
f310823
[airos] added bridge interface to input in aaa tests
edoput Jul 28, 2017
2204b25
[airos] handled comments in aaa converter output
edoput Jul 28, 2017
9498d66
[airos] removed whitespace for poor little flake
edoput Jul 28, 2017
f87efa0
[airos] added radio blob configuration and updated radio converter
edoput Jul 31, 2017
e958199
[airos] ordered functions in interface module
edoput Jul 31, 2017
c534408
[airos] added split_cidr function to interface module
edoput Jul 31, 2017
c2e01e1
[airos] moved cidr logic to interface module
edoput Jul 31, 2017
b145d1c
[airos] updated defaults for pwdog converter
edoput Jul 31, 2017
41c0312
[airos] change radio converter to always run
edoput Jul 31, 2017
0c1f2e9
[airos] remove channel brandwidth setter
edoput Jul 31, 2017
1baa014
[airos] switched system.date to disabled by default
edoput Jul 31, 2017
95554d8
[airos] fixed error with intermediate representation
edoput Jul 31, 2017
9936b72
[airos] updated ebtables config for router mode
edoput Aug 1, 2017
f9a47c1
[airos] updated iptables section for router mode
edoput Aug 1, 2017
4713f2a
[airos] added tshaper and unms converters to airos backend
edoput Aug 1, 2017
5f599ef
[airos] added default values for netmode in ebtables and iptables
edoput Aug 1, 2017
de6686f
[airos] moved autonegotiation and flowcontrol method to interface module
edoput Aug 1, 2017
d23f1ab
[airos] updated test expected value for pwdog converter
edoput Aug 1, 2017
8e46afd
[airos] moved vlan interface selection to property
edoput Aug 1, 2017
e322087
[airos] moved stp status function to interface module
edoput Aug 1, 2017
5717299
[airos] added bridge property to bridge converter
edoput Aug 1, 2017
f5d0c37
[airos] added radio module for radio configuration generation
edoput Aug 1, 2017
232cbca
[airos] added coverter for upnp daemon
edoput Aug 1, 2017
d356ce1
[airos] updated expected value for radio converter test
edoput Aug 1, 2017
a36a1a7
[airos] moved wireless user configuration to different module
edoput Aug 3, 2017
7ad900b
[airos] added channel width support for radio interfaces, updated tests
edoput Aug 3, 2017
48ab7f0
[airos] make flake happier
edoput Aug 3, 2017
e86f74e
[airos] fixed typo in encrpytion schema for access point
edoput Aug 8, 2017
4bb8868
[airos] enable wpa2_enterprise on station with tests
edoput Aug 8, 2017
a60194c
[airos] use ssid function from interface module
edoput Aug 8, 2017
c470759
[airos] add password and identity to wpa2_enterprise converter
edoput Aug 8, 2017
b5ee061
[airos] added encryption function to interface module
edoput Aug 8, 2017
24a79ff
[airos] sort keys in expected output
edoput Aug 8, 2017
5dc4384
[airos] add support for wpa2_enterprise aaa generation
edoput Aug 8, 2017
3f2ffaa
[airos] added support for generating radius configuration in
edoput Aug 8, 2017
ca0cbf3
[airos] removed anonymous identity from station wpa2_enterprise
edoput Aug 8, 2017
a810d75
[airos] add test for wpa2_enterprise peap method in station mode
edoput Aug 8, 2017
8fd8a42
[airos] added test for eap method in wpa2_enterprise for access point
edoput Aug 8, 2017
5e4e3db
[airos] added support for wpa2_enterprise in wpasupplicant converter
edoput Aug 8, 2017
38612f4
[airos] fixed name conflict in wpasupplicant converter
edoput Aug 8, 2017
cd86dc8
[airos] added support for access point in wpa2_enterprise mode to module
edoput Aug 8, 2017
100730e
[airos] drafted configuration input for peap in wpa2_enterprise in test
edoput Aug 8, 2017
c2aadb4
[airos] updated converter and wpasupplicant module to support
edoput Aug 8, 2017
a573c83
[airos] updated expected result for wpa2_enterprise in access point
edoput Aug 8, 2017
717fcb0
[airos] updated aaa section configuration
edoput Aug 9, 2017
5b57351
[airos] fixed default for interface encryption, added docstrings
edoput Aug 10, 2017
bd007b2
[airos] make flake happier
edoput Aug 10, 2017
48c81dc
[airos] make isort happier
edoput Aug 10, 2017
7eb90cd
[airos] update wpa2_docs, update encryption docs
edoput Aug 10, 2017
cd3eb2b
[airos] add property netmode to converters
edoput Aug 10, 2017
54e7a79
[airos] updated igmpproxy for router mode
edoput Aug 10, 2017
d53bff2
[airos] added dhcpc converter for router mode
edoput Aug 10, 2017
cccea44
[airos] fixed config attribute for class airos converter
edoput Aug 10, 2017
f45da12
[airos] used property netmode insted of querying netjson
edoput Aug 10, 2017
a84e51a
[airos] used encryption in protocol function
edoput Aug 10, 2017
78e136c
[airos] add test for interface functions with default values
edoput Aug 10, 2017
20d657c
[airos] begun testing ebtables converter
edoput Aug 10, 2017
8f1a15c
[airos] moved ebtables to module, added tests for station mode
edoput Aug 10, 2017
6b394d8
[airos] updated ebtable module for router and wpa2_personal
edoput Aug 10, 2017
53428f9
[airos] updated ebtables converter and tests
edoput Aug 11, 2017
56e4b8a
[airos] drafted support for vlan configuration in ebtables
edoput Aug 11, 2017
6c449f1
[airos][doc] added doc for ssh key
edoput Aug 14, 2017
4f65561
[airos] renamed dhcp converter to match section name
edoput Aug 14, 2017
daa00e3
[airos] added test for sshd converter
edoput Aug 14, 2017
96db8a7
[airos][test] added test for route converter
edoput Aug 14, 2017
35a532d
[airos] added test for wireless converter in station mode
edoput Aug 14, 2017
b213d99
[airos] added dhcpc converter to backend converters
edoput Aug 14, 2017
480b560
[airos] make flake happier
edoput Aug 14, 2017
fc5d733
[airos] split status and base in iptables converter
edoput Aug 14, 2017
73fa28b
[airos] added warning to documentation
edoput Aug 14, 2017
6c11694
[airos] make isort happier
edoput Aug 14, 2017
2f10765
[airos] fixed docs build issue
edoput Aug 14, 2017
8b08e44
[airos] install graphviz package on travis build
edoput Aug 14, 2017
d73a887
[airos] fixed graphviz syntax error
edoput Aug 14, 2017
1fecda2
[airos] fixed input for ebtables test
edoput Aug 16, 2017
48aca57
[airos] removed comment from test
edoput Aug 16, 2017
91d56aa
[airos] update expected configuration for wpasupplicant acess_point
edoput Aug 16, 2017
68c4715
[airos] rebased and folded wpasupplicant module
edoput Aug 16, 2017
bc426cf
[airos] sorted and updated test for wpasupplicant section
edoput Aug 16, 2017
8e2ea8e
[airos] updated wpasupplicant converter
edoput Aug 16, 2017
80cc19b
[airos] fixed keyerror in ebtables converter
edoput Aug 16, 2017
4be48c5
[airos] removed configuration for channel width
edoput Aug 16, 2017
57aea99
[airos] changed from numerals to string in radio module
edoput Aug 17, 2017
5a693f3
[airos] expanded docstring for status_from_interface
edoput Aug 18, 2017
9209346
[airos] added information about the radio converter
edoput Aug 18, 2017
a299214
[airos] removed netjson_key=general attribute from converters
edoput Aug 18, 2017
455472d
[airos] added list of backend that have defaults to docs
edoput Aug 18, 2017
4026a58
[airos][doc] make etherenet a subsection of interfaces
edoput Aug 18, 2017
60e8434
[airos][doc] fixed typo in hashed password representation
edoput Aug 18, 2017
a1d190b
[airos][doc] add role section to interface
edoput Aug 18, 2017
df89b85
[airos] added logic and test for iptables converter
edoput Aug 18, 2017
7d375e6
[airos][doc] fixed typos
edoput Aug 18, 2017
8fd8b60
[airos] updated ap_eap function to rely on ap_psk keys
edoput Aug 18, 2017
fcb212c
[airos] removed ap key from base device
edoput Aug 18, 2017
781682c
[airos] updated test for wireless station
edoput Aug 18, 2017
98f821c
[airos] make wonderful warning and links
edoput Aug 18, 2017
7159c11
[airos] added draft for upgrade process in docs
edoput Aug 21, 2017
8ce2c4c
[airos] change management property to role enum
edoput Aug 21, 2017
3b32418
[airos] move toctree for additional airos pages
edoput Aug 21, 2017
5a727e4
[airos] added reference to configuration update process
edoput Aug 21, 2017
c92cbf0
[airos] use role provided from users instead of guess
edoput Aug 21, 2017
ab5a129
[airos] updated test for management interface to use role property
edoput Aug 21, 2017
14a904f
[airos] added warning about absence of management interface
edoput Aug 21, 2017
2b7632b
[airos] added test for dns servers list
edoput Aug 21, 2017
c11ddc5
[airos] removed dns server section from airos docs as it is standard
edoput Aug 21, 2017
be01dd3
[airos] fixed typo
edoput Aug 23, 2017
ae39aad
[airos] fixed ip_interface text input
edoput Aug 29, 2017
309e712
airos] added tests and mock backends for defaulted converters
edoput Aug 31, 2017
6f1777b
[airos] handled file creation without tar archive
edoput Sep 4, 2017
78fdce1
[airos] removed shadowed status function
edoput Sep 6, 2017
c8e3daf
[airos] set default value for sys keyword when not present
edoput Sep 6, 2017
9a18b3f
[cli] print traceback fully if the verbose flag is passed
edoput Sep 6, 2017
e796427
[airos] fixed typo to comply with netjson standard
edoput Sep 11, 2017
8a41b49
[docs] Updated github stars and fork buttons #154
nemesifier May 22, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ language: python
sudo: false
cache: pip

addons:
apt:
packages:
- graphviz

python:
- "3.5"
- "3.4"
Expand Down
11 changes: 8 additions & 3 deletions bin/netjsonconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import sys
import six
import argparse
import netjsonconfig
import traceback

description = """
Converts a NetJSON DeviceConfiguration object to native router configurations.
Expand Down Expand Up @@ -56,10 +57,10 @@ output = parser.add_argument_group('output')

output.add_argument('--backend', '-b',
required=True,
choices=['openwrt', 'openwisp', 'openvpn'],
choices=['openwrt', 'openwisp', 'openvpn', 'airos'],
action='store',
type=str,
help='Configuration backend')
help='Configuration backend: openwrt, openwisp or airos')

output.add_argument('--method', '-m',
required=True,
Expand Down Expand Up @@ -169,7 +170,8 @@ method_arguments = parse_method_arguments(args.args)
backends = {
'openwrt': netjsonconfig.OpenWrt,
'openwisp': netjsonconfig.OpenWisp,
'openvpn': netjsonconfig.OpenVpn
'openvpn': netjsonconfig.OpenVpn,
'airos': netjsonconfig.AirOs,
}

backend_class = backends[args.backend]
Expand Down Expand Up @@ -197,5 +199,8 @@ except netjsonconfig.exceptions.ValidationError as e:
print(message + info)
sys.exit(4)
except TypeError as e:
if args.verbose:
traceback.print_exc()

print('netjsonconfig: {0}'.format(e))
sys.exit(5)
6 changes: 0 additions & 6 deletions docs/source/_github.rst

This file was deleted.

47 changes: 47 additions & 0 deletions docs/source/backends/airos-upgrade.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
.. _airos-configuration-upgrade:

Tools
-----

AirOS is shipped with proprietary tools that can parse the configuration file and upgrade the antenna.

cfgmtd
^^^^^^

This tool can write and read data to the memory that persist between reboots.

ubntcfg
^^^^^^^

This tool can parse the configuration and creates the init scripts that configure the device

rc scripts
^^^^^^^^^^

This are not commands but a collection of scripts that orchestrate the configuration process. As they are stored on the antenna they can be modified to obtain different behaviours.

* update scripts are stored in `/usr/local/rc.d`
* module list is stored in `/etc/startup.list`

The update process is orchestrated by the `/usr/local/rc.d/rc.do.softrestart` script.

Process
-------

AirOS mantains the device configuration in two files, both can be found in `/tmp`.

* `/tmp/system.cfg` the target configuration
* `/tmp/running.cfg` the running configuration

If we want to upgrade the device configuration with our file we can overwrite the target configuration and runt the commands `cfgmtd -w` and `/usr/local/rc.d/rc.do.softrestart save`


Full transcript of the update processs

.. code-block:: bash

cp /path/to/my/config.cfg /tmp/system.cfg
# writes the configuration to the persistent memory
cfgmtd -w /tmp/system.cfg
# initiate the configuration update
/usr/local/rc.d/rc.do.softrestart save
Loading