Added support for external RADIUS server configuration to Wi-SUN Border Router.
Added configuration functions and .json configuration options for:
- external RADIUS server IPv6 address
- RADIUS shared secret.
* upstream/mbed-os-5.15: (47 commits)
Update mbed version to 5.15.4
Squashed 'features/nanostack/sal-stack-nanostack/' changes from cc03296c27..b3fe5744d1
Squashed 'features/frameworks/nanostack-libservice/' changes from 9a61e73787..c6cae6992a
802.15.4 MCR20A RF driver update
802.15.4 Atmel RF driver update
802.15.4 STM S2LP driver update
Added Wi-SUN statistics interface
Allowed to set Wi-SUN certificates in DISCONNECTED state
Change unrecognised features to a warning, rather than error
Fix assertation ordering in tests
Define mbedtls_ecc_group_to_psa inline for NS world
Remove references to mbed-crypto
Move Mbed Crypto Greentea tests to Mbed TLS
Update Mbed TLS to latest version
Adjust Mbed TLS importer and config script
tls: Remove apache-2.0.txt from importer script
tools: Fix grammar in feature error message
M2351: Enable non-PSA minimal secure build
Cellular: Enable tac info for ALT1250
Nuvoton: Change WDT clock source to LXT
...
-Taken modification for adding IID in BR info structure.
-Added API to get RPL info for Wi-SUN router and BR.
-Added API to get routing table info from BR.
Added support to Wi-SUN tasklet for following mbed-mesh-api .json configuration options:
wisun-uc-channel-function
wisun-bc-channel-function
wisun-uc-fixed-channel
wisun-bc-fixed-channel
wisun-bc-interval
wisun-bc-dwell-interval
wisun-uc-dwell-interval
This allows e.g. enabling single channel configuration for testing.
This pull request does not change existing functionality since when
defaults from mbed-mesh-api .json are used, no new or changed
ws_management_* interface calls are made.
MBED_DEPRECATE macros is added to string-based APIs.
New, non-string-based APIs are added in their place.
Wiced binaries rebuilt
Any existing stubs or mocks are adjusted to compile and run with the newly added non-string based functions.
Wi-SUN mesh API uses now nanostack certificate interface with length parameters.
This enables that either PEM or DER formatted certificates can be used. Using
the length configuration for certificates and keys is optional, so existing
applications using the PEM certificates do not require changes.
Deprecate wait() in favour of acquire(), try_acquire(),
try_acquire_for() and try_acquire_until().
Brings Semaphore more into line with CMSIS-RTOS 2 (which uses "acquire"),
itself (as it has "release"), and other classes having "try", "try for"
and "try until".
Also steps away from vague "wait" term - the primary operation here is
to acquire the semaphore, and this will of course sleep.
Only release if the current _connect_status is CONNECTING. If the semaphore is released many times for each connect, then the next connect will not wait(), as it will be able to decrement the semaphore imediatelly.
UBLOX_EVK_ODIN_W2 advertises more events than we expect.
1) When disconnecting first network connectivity is lost and then an
actual disconnection event arrives. The first one is unexpected.
2) When reconnecting MESH_BOOTSTRAP_START_FAILED shows up, but the board
eventually manages to connect
At the start-up, there was 2 NSAPI_STATUS_CONNECTING callbacks,
so extra one removed from ThreadInterface.cpp.
At the network lost case, there was NSAPI_STATUS_DISCONNECTED and
NSAPI_STATUS_LOCAL_UP callbacks. NSAPI_STATUS_DISCONNECTED has been removed,
since the NSAPI_STATUS_LOCAL_UP is enought.
Socket network interface tests were failing due to DICONNECTED event
being advertised, where GLOBAL_UP was expected. It turned out that
nanostack receives two events: APPL_EVENT_CONNECT and
APPL_BACKHAUL_INTERFACE_PHY_UP. The second attempt to connect obviously
returns errors, but it also causes events to be sent out to the
application. The second attempt should not take place in case the
bootstrap is already started.
I also fixed two reports being sent with DISCONNECT status, while they
are actually something else.
Set tasklet parameters before connecting to prevent the parameters to be set to 0.
The tasklet parameters are reset to 0 when wisun_tasklet_connect gets called,
thus those need to be set in the wisun_tasklet_configure_and_connect_to_network
before they are used. This is also done this way in other tasklets.
To get Wi-Sun mesh network working, also nanostack with Wi-Sun support
is needed. ws_empty_functions.c and ws_management_api.h are temporary
included here, so that wisun_tasklet will compiled without problems.
They will replaced with the official versions with next nanostack release.
mbed.h was added in test, via greentea and utest header files. 'mbed.h' is removed
from header files and required header file and namespace is added to CPP/C files
Added check for valid interface ID to network scan timer start so that it
is not triggered after disconnect. Added variable for mac api so that it
is not tried to set again after re-connecting.
Removed main tasklet ID and used instead tasklet id. Added check
for valid interface ID to network scan timer start so that it
is not triggered after disconnect. Added small delay to re-connect
so that stack has time to send its status events to application
after disconnect.
Previously get_mac_address on a ThreadInterface returned the EUI-64
reported by the radio driver. This was required for commissioning, but
was inconsistent with other interfaces, and the API concept.
5.9.0 inadvertently changed this so that get_mac_address returned the
actual MAC address used by the radio, which is a hash result of the
EUI-64 for Thread.
The original "return the EUI-64" form was somewhat faulty, as
get_mac_address would not return the EUI-64 set by set_device_eui64() or
another mechanism before connect() was called.
Rather than revert to old behaviour, add a new API to get the device
EUI-64 to ThreadInterface, alongside the existing set API.