Commit Graph

2702 Commits (9da64e529e96ab7941e89756bc9272adf1bf8ae6)

Author SHA1 Message Date
Vincent Coubard 01e3a004a6 Cordio: register server authorization callback. 2018-05-01 12:29:03 +01:00
Vincent Coubard 549a513dfb Cordio: Enable client and server signing 2018-05-01 12:28:37 +01:00
Vincent Coubard d0c4d7a8a3 Cordio: Forward server related events to CordioGattServer 2018-05-01 12:27:49 +01:00
Vincent Coubard 0f64b1c988 CordioGattServer: Global refactoring
The registration process has been breaked down into several functions that register the service attribute, characteristic declaration attributes, characteristic value attributes and characteristic descriptors.

Service registration now consider all characteristics permissions: read, write and update. Permissions are also considered when updates needs to be propagated to peers.

Handling of user authorization is also a change introduced by this refactoring.
2018-05-01 12:26:24 +01:00
Vincent Coubard 55eb7033b2 Generic Security Manager: Set csrk to stored when the peer csrk has been received. 2018-05-01 11:54:25 +01:00
Vincent Coubard 41a3442474 Generic Security Manager: Set ltk to stored when the peer ltk has been recveived. 2018-05-01 11:54:03 +01:00
Vincent Coubard f90eacfd27 Generic Security Manager: remove peer csrk at disconnection 2018-05-01 11:53:18 +01:00
Vincent Coubard 1ac95e105b ble - Generic Security Manager: set signing unconditionnal to role reversal.
A peripheral can act as a GATT client whether it is in the peripheral role or the central role therefore it doesn't make sense to enable signing only if roles will be reversed latter.
2018-05-01 11:50:59 +01:00
Vincent Coubard 9880db7543 Generic Security Manager: Improve formating 2018-05-01 11:48:22 +01:00
Vincent Coubard 2e3c7e8ab7 Generic Security Manager: Set LinkKey to false unconditionally.
This key distribution flags is for dual mode devices; mbed does not support BR/EDR.
2018-05-01 11:45:24 +01:00
Vincent Coubard e39bb4b92c BLE - GenericGattClient: Exploit ENCRYPTED_WITH_SC_AND_MITM encryption.
IF link is encrypted, authenticated or authenticated with lesc then signed write must be transformed into regular write commands.
2018-05-01 11:38:30 +01:00
Vincent Coubard 2da6fa3947 Cordio PAL security manager: Copy locally own CSRK
The stack does not copy csrk when DmSecSetLocalCsrk is invoked; it just retains a pointer to it. Therefore a copy is kept inside the pal.
2018-05-01 11:35:16 +01:00
Vincent Coubard e4813f4fe9 Cordio PAL Security Manager: Copy locally own IRK.
The IRK needs to be stored somewhere as it is not copied inside the stack, the stack just keeps a reference to it.
2018-05-01 11:33:36 +01:00
Vincent Coubard 2924bb4c86 Cordio PAL ATT Client: initialize the local sign counter to 0. 2018-05-01 11:29:45 +01:00
Vincent Coubard 74bc214961 BLE - Security Manager PAL: Add a function to remove the peer csrk.
If the the upper layer has registered a peer csrk on the pal security manager then it must remove it once the connection is closed.

This API allows the upper layer to remove the peer csrk registered earlier.
2018-05-01 11:27:38 +01:00
Vincent Coubard 1e277bad50 BLE: Lookup for non identity addresses when a secure entry is opened.
A peer may not share a valid IRK and identity address during pairing (in that case the identity address received is all zeros). When this happens, the entry must be retrieved by looking at the address used by the peer during the connection.
2018-05-01 11:24:44 +01:00
Vincent Coubard c4b78ada0e BLE: Set default mac address to 00:00:00:00:00:00
Both mac addresses are invalid but the bluetooth specification prefers to use all 0 addresses to represent an invalid address.
2018-05-01 11:17:47 +01:00
Vincent Coubard 80941af0f6 BLE: Add : LESC authenticated encryption to the list of possible link encryption. 2018-05-01 11:16:41 +01:00
Cruz Monrreal 4e66f218fd
Merge pull request #6700 from geky/mbr-add-partition-asserts
mbr: Added assertions for overlapping partitions
2018-04-30 11:59:44 -05:00
Cruz Monrreal 46379d8438
Merge pull request #6741 from kivaisan/refactor_maccommand
Lora: Split add_mac_command() into separate methods
2018-04-30 11:58:33 -05:00
Cruz Monrreal 4ca512d755
Merge pull request #6750 from hasnainvirk/mem_corruption_fix
LoRaWAN: Memory corruption due to band mishandling
2018-04-30 11:43:39 -05:00
Mirela Chirica d4d339129a Cellular: Refactor hex reading to prevent illegal cast 2018-04-30 13:25:15 +03:00
Christopher Haster b56bdf18cd littlefs: Fixed issue with trailing dots in file paths
Paths such as the following were causing issues:
/tea/hottea/.
/tea/hottea/..

Unfortunately the existing structure for path lookup didn't make it very
easy to introduce proper handling in this case without duplicating the
entire skip logic for paths. So the lfs_dir_find function had to be
restructured a bit.

One odd side-effect of this is that now lfs_dir_find includes the
initial fetch operation. This kinda breaks the fetch -> op pattern of
the dir functions, but does come with a nice code size reduction.
2018-04-30 03:42:53 -05:00
Seppo Takalo f69531e82f Move EFR32 RF driver to TARGET_Silicon_Labs/TARGET_SL_RAIL
This folder structure is identical to where the target code
is found from targets directory.
2018-04-27 14:38:44 +03:00
Seppo Takalo f0bf771502 Get rid of FEATURE_NANOSTACK
Allow FEATURE_NANOSTACK still to be defined in the build so
that we don't break any builds.
2018-04-27 14:38:44 +03:00
Seppo Takalo d1c6bc0913 Get rid of FEATURE_COMMON_PAL
Nanostack related files moved under 'feature/nanostack'
Common libraries moved to 'features/frameworks'

Allow FEATURE_COMMON_PAL still to be defined in the build so
that we don't break any builds.
2018-04-27 14:38:43 +03:00
Mirela Chirica a0cc22ebba Cellular: Fix AT Handler compile warning 2018-04-27 14:38:14 +03:00
Cruz Monrreal 380973aa9a
Merge pull request #6691 from mirelachirica/cellular_fixes
Cellular fixes
2018-04-26 20:19:58 -05:00
Cruz Monrreal a19a528b65
Merge pull request #6745 from SeppoTakalo/mesh_docs
Clarify mesh configuration values.
2018-04-26 20:16:40 -05:00
Vincent Coubard db565d38b3 BLE: remove useless flags in GattCharacteristic. 2018-04-26 19:00:43 +01:00
Vincent Coubard 486a3e020c BLE: Add fine grained security to GattCharacteristic.
This patch adds independent management of security requirement for read, write and update operatiosn of a GattCharacteristic.

Requirements are defined after ble::att_security_requirement_t that maps LE security mode 1 and LE security mode 2.

The functions requireSecurity and getRequiredSecurity are deprecated as SecurityManager::ScurityMode_t does not map well with LE security modes.
2018-04-26 18:55:42 +01:00
Vincent Coubard 1c18351885 BLE: Remove unwanted documentation block of GattCharacteristic. 2018-04-26 17:29:29 +01:00
Vincent Coubard 9258b9ddb6 BLE: Add security requement support into GattAttribute. 2018-04-26 17:26:15 +01:00
Vincent Coubard 7afd01d84d BLE: Add type describing ATT security requirements. 2018-04-26 17:22:21 +01:00
Vincent Coubard 27d36ba820 BLE: Add missing relational operator to SafeEnum. 2018-04-26 17:07:54 +01:00
Hasnain Virk a6a1cee988 LoRaWAN: Memory corruption due to band mishandling
band_t structure in phy parameters was not being filled in properly
and we were spilling over the array boundary for bands.
In addition to that two utility functions are added to perform safety
checking taking in the frequency and filling out band information plus
boundry value checks.
2018-04-26 13:23:47 +03:00
Seppo Takalo b60454fac5 Clarify mesh configuration values.
Most of the help fields were correct. Just add field specifying
acceptable ranges.
2018-04-25 15:33:40 +03:00
Martin Kojtal 5ee2658dae
Merge pull request #6701 from SiliconLabs/feature/update-rail
Update to EFR32 15.4 driver
2018-04-25 13:17:33 +01:00
Vincent Coubard 2c8b9ab3dc BLE: Remove example section from cordio porting guide.
This section is not applicable in the public version of mbed-os.
2018-04-25 12:15:28 +01:00
Mirela Chirica c0629c8d11 Cellular: Remove unnecessary NULL assignment 2018-04-25 14:09:20 +03:00
Mirela Chirica 042586938d Cellular: Common routine for string and hexstring reading 2018-04-25 14:09:20 +03:00
Mirela Chirica b48238997d Cellular: BC95 update max packet size 2018-04-25 14:09:19 +03:00
Mirela Chirica 1998173ede Cellular: Added read hex string support to AT handler 2018-04-25 14:09:19 +03:00
Mirela Chirica 928082b64b Cellular: Fix greentea sendto test to clear socket event flags 2018-04-25 14:09:19 +03:00
Mirela Chirica 7e684cd789 Cellular: Destructor added for CellularList 2018-04-25 14:09:19 +03:00
Mirela Chirica 658358cbf1 Cellular: BG96 remove IPv6 stack support 2018-04-25 14:09:19 +03:00
Vincent Coubard 6bb80317f8 BLE: Update cordio porting guide
Remove the section "Include prebuilt libraries" as it is not applicable
anymore.
2018-04-25 11:48:23 +01:00
Kimmo Vaisanen e9eb32b3ab Lora: Fix max tx power check
In LoRa TX power value 0 means the maximum allowed TX power and values >0
are limiting the allowed TX power to lower.

tx_config was incorrectly checking the power level and causing the maximum
TX power to be always used. Lora gateway can request node to use lower TX
power with LinkAdrReq MAC command.
2018-04-25 11:59:19 +03:00
Martin Kojtal d768b6f468
Merge pull request #6677 from jarvte/cellular_fsm_crash_bug
Cellular: fixed null pointer bug in cellular fsm
2018-04-25 08:24:49 +01:00
Kimmo Vaisanen e7f01e3ccc Lora: Split add_mac_command() into separate methods
In order to have smaller and better testable methods, instead of having a big
switch-case -style add_mac_command(), each MAC command is now separated to an
own method.
2018-04-25 08:42:02 +03:00
Cruz Monrreal 4c973e3aa0
Merge pull request #6702 from AriParkkila/single-stack
Cellular: Fix to prefer IPv6 single stack with fallback to IPv4
2018-04-24 12:16:34 -05:00
Cruz Monrreal 0e86fa2529
Merge pull request #6692 from kivaisan/remove_singleton
Lora: Remove singleton pattern
2018-04-24 12:14:05 -05:00
Cruz Monrreal 35bd8b9de1
Merge pull request #6682 from jarvte/fix_cellular_unittests
Fixed cellular unittests
2018-04-23 10:57:50 -05:00
Ari Parkkila b37532addf Cellular: Fix to prefer IPv6 single stack with fallback to IPv4 2018-04-23 09:57:23 +03:00
Steven Cooreman c0ee42a6e7 Update to EFR32 15.4 driver
* Updates driver library to v2.3.1 (2018q1) for bugfixes and convenience functions
* Provides library in correct format (2-byte wchar_t flag) for compiling with ARMCC (#6695 uncovered by #6577)
* Reverts to using a statically-allocated packet buffer since malloc is not thread-safe (and the asserts have been turned on)
2018-04-22 23:23:02 -05:00
Christopher Haster a97a47978a mbr: Added assertions for overlapping partitions 2018-04-22 08:28:06 -05:00
Vincent Coubard b0d5ba33bb BLE: return an error when application tries to turn down encryption. 2018-04-20 15:49:14 +01:00
Vincent Coubard 6a90232b6b BLE: Update cordio stack binaries.
The new build contains a fix related to permission verification of
characteristic that requires signed write.
2018-04-20 14:57:14 +01:00
Kimmo Vaisanen 2b2ce300ea Lora: Remove singleton construction of LoRaWANStack
After changing LoRaMacCrypto as C++ class, we no longer have static variables
in LoRa implementation. Therefore singleton pattern can be removed.
2018-04-20 16:01:55 +03:00
Kimmo Vaisanen b933cc6aeb Lora: Change LoRaCrypto to a C++ class
In order to get rid of static variables, LoRaCrypto functionality is now
in a C++ class.
2018-04-20 16:01:49 +03:00
Vincent Coubard cbb33ea938 BLE: Add comments to GenericSecurityManager::on_identity_list_retrieved. 2018-04-20 10:22:56 +01:00
Vincent Coubard 0b92397840 BLE: Fix flag IRK stored in Memory security DB. 2018-04-20 10:22:13 +01:00
paul-szczepanek-arm d1f3e4fd27 don't require master sends keys for signing key 2018-04-20 09:33:54 +01:00
Donatien Garnier f9b371fc0f Handle required BLE5 softdevice commands 2018-04-19 09:40:41 -07:00
Donatien Garnier aeab2ecbbf Fix potential race condition in nRF5xn.cpp 2018-04-19 09:40:41 -07:00
Marcus Chang 97426d63e9 NRF52 BLE: Fix GCC C++11 include error
Change <memory> include to <new>

From: d001fb1c66
2018-04-19 09:40:41 -07:00
Donatien Garnier 64baf717e8 Upgrade NRF52 BLE API to version 5
* Add NRF_SD_BLE_API_VERSION=5 macro to MCU_NRF52832 target
* Added initial Softdevice v5 API support for nRF5XPalGattClient.cpp
* Added initial Softdevice v5 API support for nRF5xGap.h
* Added initial Softdevice v5 API support for nRF5xGattServer.cpp
* Make sure the ah() hash function used by the security manager is declared with C linkage
* Removed 'ARM porting pending' checks in Nordic SDK
* Added BLE configuration to mbed_lib.json for NRF52x targets
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in btle.cpp; adopted polling dispatch model
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xn.cpp
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xGap.cpp
* Added const qualifier to hwCallbacks's p_ble_evt parameter in nRF5xGattServer
* Add workaround to enable Radio Notification module from Nordic SDK
  * Disabled SWI1 interrupt manually from SWI driver module
    * Added missing include directive for "nrf_nvic.h" in ble_radio_notification.c
* Set correct number of custom UUIDs
* Adjust Softdevice RAM requirements for NRF52832/S132
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003800
    * Size: 0xC800
* Adjust Softdevice RAM requirements for NRF52840/S140
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003700 (was 0x20003000)
    * Size: 0xC900
* Added 3dBm as a permitted TX Power value for NRF52832
* Fix address type recovery in GAP
* Return min non-connectable adv interval compatible with infrastrcture's expectations
* Moved BLE driver from TARGET_SDK_14_2/FEATURE_BLE to TARGET_SDK_14_2/TARGET_SOFTDEVICE_COMMON/ble
2018-04-19 09:40:41 -07:00
Martin Kojtal 951e70f36f
Merge pull request #6604 from geky/lfs-fix-lookahead-trust
littlefs: Fix some issues with lookahead trust
2018-04-19 17:27:19 +02:00
Martin Kojtal 13913c7301
Merge pull request #6628 from kivaisan/mlme_indication_and_auto_uplink_config
Lora: Make automatic uplink message configurable
2018-04-19 17:25:33 +02:00
Martin Kojtal 7f98f5b796
Merge pull request #6652 from jarvte/update_doxygen_for_deprecated_apis
Cellular: Updated doxygen for deprecated API's.
2018-04-19 17:23:53 +02:00
Martin Kojtal a37ba4b3ab
Merge pull request #6614 from pauluap/compiler_warning_macro_expression
Macro expansion leads to a bare expression
2018-04-19 17:22:52 +02:00
Teppo Järvelin 6a2eefba9c Cellular: fixed null pointer bug.
Null pointer could have been called after stop() in cellular state machine.
2018-04-19 14:30:33 +03:00
Martin Kojtal cbb10335b4
Merge pull request #6663 from kjbracey-arm/nshal-static-removal
Use SingletonPtr in Nanostack HAL
2018-04-19 12:43:08 +02:00
Teppo Järvelin 025e0dfc49 Cellular: moved one function in cellularnetwork to public as it was accidently set as protected. 2018-04-19 13:40:33 +03:00
Teppo Järvelin 5ebdb439af Cellular: fixed cellular unit tests and one bug which was found while fixing. 2018-04-19 13:35:53 +03:00
Martin Kojtal 9cc4302c51
Merge pull request #6629 from jarvte/add_select_plmn_to_cellularfsm
Cellular: add plmn for CellularConnectionFSM
2018-04-19 12:07:20 +02:00
Martin Kojtal 15cac12f7e
Merge pull request #6660 from marcuschangarm/fix-greentea
Enable flow control in Greentea
2018-04-19 09:25:31 +02:00
Martin Kojtal c0f0a8e61f
Merge pull request #6653 from kjbracey-arm/lwip-ticks
Stop lwIP using us_ticker
2018-04-18 14:17:54 +02:00
Paul Szczepanek a99a4b8593
Merge pull request #33 from pan-/fix-cordio-addresses-type
BLE: Handle new addresses type in GenericGap.
2018-04-18 11:34:13 +01:00
Teppo Järvelin 55f4360680 Cellular: review fixes to cellularfsm and cellularnetwork. 2018-04-18 12:35:38 +03:00
Kevin Bracey 123c182033 Use SingletonPtr in Nanostack HAL
Avoid static data/code overhead when Nanostack HAL isn't in use.
Preparation for removal of FEATURE_COMMON_PAL.
2018-04-18 10:40:56 +03:00
Kimmo Vaisanen d336ceeee8 Lora: Make automatic uplink message configurable
Currently lora stack will automatically send an empty uplink message to lora gateway in case of:
- Node received message with pending bit set.
- Node received MAC command which requires instant response (sticky MAC command)
- Node received confirmed message in class C mode

This commit makes this configurable via config item

        "automatic-uplink-message": {
            "help": "In case of pending bit, class c confirmed message or sticky MAC command, stack will automatically send empty uplink message",
            "value": true
        }

Default value is true. If sending an empty message fails, stack will send event AUTOMATIC_UPLINK_ERROR application.

If automatic uplink sending is disabled, stack will send application UPLINK_REQUIRED -event to indicate
application should issue a new uplink to gateway as soon as possible.
2018-04-18 09:29:20 +03:00
Marcus Chang 595a98b313 Enable flow control in Greentea
Flow control is enabled in Greentea for targets that has
console-uart-flow-control set.
2018-04-17 14:16:31 -07:00
Amanda Butler a83745bcdd
Copy edit UARTCellularInterface.h
Copy edit file for grammar.
2018-04-17 11:51:24 -05:00
Amanda Butler 8389bbfc61
Copy edit PPPCellularInterface.h
Copy edit file for grammar.
2018-04-17 11:49:20 -05:00
Amanda Butler 0f8a2c75e7
Copy edit OnboardCellularInterface.h
Copy edit file for grammar.
2018-04-17 11:44:28 -05:00
Amanda Butler 5835d83efa
Copy edit CellularInterface.h
Copy edit for grammar.
2018-04-17 11:41:59 -05:00
Vincent Coubard 169e579de7 BLE: Handle new addresses type in GenericGap. 2018-04-17 17:05:41 +01:00
Cruz Monrreal 853384a5ca
Merge pull request #6627 from TeroJaasko/nanostack_hal_timer_shortcut
Nanostack hal timer shortcut
2018-04-17 10:55:26 -05:00
Cruz Monrreal 4522405d06
Merge pull request #6588 from hasnainvirk/base_structs
[IOTCELL-741] Separating public data structures
2018-04-17 10:54:45 -05:00
Cruz Monrreal 259f9fd877
Merge pull request #6570 from jarvte/add_cellular_detach
Cellular: add detach from the network
2018-04-17 10:54:09 -05:00
paul-szczepanek-arm f56f57bf15 reorder enum to add new values at the end 2018-04-17 16:25:35 +01:00
Vincent Coubard 951a6be4c8 BLE: retrieve and fill resolving list at GenericSecurityManager startup. 2018-04-17 15:58:21 +01:00
Vincent Coubard ede3d43743 BLE: Add function to querry the list of identity addresses present in the SecureDB. 2018-04-17 15:57:30 +01:00
Vincent Coubard 77b1903634 BLE: Add bonded device to resolving list at the end of bonding. 2018-04-17 14:16:35 +01:00
Vincent Coubard ae8d5b4de1 BLE: Implement identity retrieval in secure DB. 2018-04-17 14:15:28 +01:00
Vincent Coubard f905d2a4d4 BLE: Improve DB entry lookup.
The DB entry lookup now looks at the identity address and/or connection address to find a DB entry associated to an address.

If the entry has not been found in the DB and a new entry is returned then the connection address is not stored for private addresses.
2018-04-17 14:14:53 +01:00
Vincent Coubard a3bb18d724 BLE: store identity address type in DB. 2018-04-17 14:11:05 +01:00
Vincent Coubard 06e0aa3440 BLE: flag that irk has been stored in the security entry. 2018-04-17 14:10:19 +01:00
Vincent Coubard 6fc74fbc44 BLE: Fix MemorySecurityDB constructor warning. 2018-04-17 14:09:00 +01:00
Vincent Coubard 15fa3bfd37 BLE: Add a function to retrieve a device identity. 2018-04-17 14:08:01 +01:00
Vincent Coubard e8041510a6 BLE: Add a flag that indicate if the identity address is public or not. 2018-04-17 14:07:19 +01:00
Vincent Coubard ab6821aab8 BLE: Add a flag indicating if irk is stored in the distribution flags. 2018-04-17 14:06:47 +01:00
Vincent Coubard 9643b57159 BLE: Remove flag SecurityDistributionFlags_t::local_address_is_public
This flag was not used and not useful.
2018-04-17 14:06:00 +01:00
Vincent Coubard dfbf383614 BLE: Fix const correctness of ::Gap::getRandomAddressType 2018-04-17 14:03:57 +01:00
Vincent Coubard 51e1c76b4a BLE: Set default mac address to all 00. 2018-04-17 14:03:20 +01:00
Kevin Bracey e7206cdc8e Stop lwIP using us_ticker
lwIP was using us_ticker unnecessarily, complicating the code and
potentially causing grief with power saving, and possible glitches
on timer wrap. Switch it to use the RTOS tick count.
2018-04-17 12:40:04 +03:00
Teppo Järvelin 3b1c8c0a94 Cellular: Updated doxygen for deprecated API's. 2018-04-17 12:30:16 +03:00
Teppo Järvelin 1990f63382 Cellular: fixed state machine after rebase. 2018-04-17 10:24:19 +03:00
Teppo Järvelin e78e1d28db Cellular: check plmn against network to verify correct network and don't try to register again if we are are already in correct nw. 2018-04-17 10:16:32 +03:00
Teppo Järvelin e4c37f2275 Cellular: plmn used when registering can be given for CellularConnectionFSM. 2018-04-17 10:16:32 +03:00
Vincent Coubard b3c871c960 BLE: Implement privacy on Nordic targets. 2018-04-16 18:18:05 +01:00
Vincent Coubard 2a9d80c5f0 BLE: Change nRF5xSecurityManager::resolve_address signature
Return the resolving list entry instead of accepting in parameters.
2018-04-16 18:18:04 +01:00
Vincent Coubard a18283d897 BLE: change nRF5xSecurityManager::get_resolving_list return
It now returns a resolving list entry.
2018-04-16 18:18:04 +01:00
Vincent Coubard fb680db621 BLE: Implement resolving list in Nordic PAL security manager 2018-04-16 18:18:04 +01:00
Vincent Coubard 365f3d2527 BLE: Add ah in Nordic CryptoToolbox. 2018-04-16 18:18:04 +01:00
Vincent Coubard a7f2384e10 BLE: Add default privacy configuration 2018-04-16 18:18:04 +01:00
Cruz Monrreal e2567e5dad
Merge pull request #6599 from jeromecoutant/PR_WARNING
STM32 compilation warning issues
2018-04-16 10:41:36 -05:00
Cruz Monrreal c867934178
Merge pull request #6613 from pauluap/compiler_warning_macro_expansion_constant_boolean
Macro expansion results in a constant boolean expression
2018-04-16 10:35:27 -05:00
Cruz Monrreal 7188c8a4b8
Merge pull request #6620 from jarvte/cellular_fixing_at_unit_tests
Cellular: fixed athandler unit tests.
2018-04-16 10:34:58 -05:00
Cruz Monrreal 7f9e69d491
Merge pull request #6632 from TeemuKultala/error_messages
cellular: Error messages
2018-04-16 10:34:04 -05:00
paul-szczepanek-arm 9a9167602d moved init code into non-const for clarity 2018-04-16 15:58:03 +01:00
paul-szczepanek-arm 12899b1e09 fix const induced recursive call 2018-04-16 15:34:15 +01:00
paul-szczepanek-arm 6b67a6d0a6 missing deref after signature change 2018-04-16 15:06:37 +01:00
Teemu Kultala 0caef1b8a4 cellular: trace errors only if tracing enabled 2018-04-16 09:15:32 +03:00
Cruz Monrreal df47efc4ca
Merge pull request #6626 from jarvte/activate_pdp_context_state_to_cellularconnectionfsm
Cellular: Separated context activation in CellularConnectionFSM.
2018-04-13 18:51:50 -05:00
Cruz Monrreal a2899367d7
Merge pull request #6618 from anttiylitokola/master
Update mbed-coap to version 4.4.2
2018-04-13 18:39:08 -05:00
Cruz Monrreal 4343253533
Merge pull request #6600 from hasnainvirk/fix_au915
[IOTCELL] Setting up channels for AU915
2018-04-13 10:47:21 -05:00
Paul Thompson 8e7615087a Switch to using ip_addr_isany_val 2018-04-13 05:08:29 -07:00
Tero Jääskö a23b7cffea nanostack-hal: eventloop: silence compiler warning for unused variable
Compiler reminded that a variable declaration was left behind when
the code using it was put behind #ifdef. Add the missing #ifdef.

Warning being fixed:
---8<---8<----
[Warning] ns_event_loop.c@44,0:  #177-D: variable "event_thread_id"
was declared but never referenced
2018-04-13 13:49:22 +03:00
Tero Jääskö b710f08b3a nanostack-hal: timer: conditionalize the use of high pri event thread
nanostack-hal.critical-section-usable-from-interrupt -tunable was
previously added to optionally make critical section code interrupt safe.
The IRQ safe critical section is a prequisite for interrupt safe timer
callbacks.

The same flag can be used to enable calling of the timer callbacks
directly from the timer interrupt context, without bouncing them via
event thread. This removes the code and RAM consumed by EventQueue
and the thread serving the high priority events.

If the system does not have any dependencies on mbed_shared_queues,
by setting this flag the static RAM usage is now further reduced
by ~1600 bytes and code size by 4KB.

Note: the default behavior is not changed, one needs to override the
"nanostack-hal.critical-section-usable-from-interrupt" to have "true".
2018-04-13 13:49:15 +03:00
Teemu Kultala c597d8447c cellular: sim pin setting 2018-04-13 12:33:43 +03:00
Hasnain Virk c34b5e6d6f [IOTCELL-741] Separating public data structures
Any data structure used in LoRaWANBase class should be available
in a separate header in order to make the code easy to port and
easy to read as the developer doesn't need to know about all the
internal data structures being used in Mbed LoRaWAN stack.
2018-04-13 10:41:06 +03:00
Teemu Kultala 7b6208c0db cellular: error message changes 2018-04-13 09:01:57 +03:00
Teppo Järvelin 94ecc4567b Cellular: Separated context activation in CellularConnectionSFM. 2018-04-13 08:28:18 +03:00
Cruz Monrreal 68ebbb0637
Merge pull request #6569 from kivaisan/LORAWAN_FEATURE_BRANCH
Lora: small fixes
2018-04-12 18:43:01 -05:00
Cruz Monrreal 94103f9306
Merge pull request #6586 from kivaisan/new_receive_method
Lora: Introduce new receive API which returns port and flags
2018-04-12 18:32:12 -05:00
Cruz Monrreal e1a63f9046
Merge pull request #6587 from AnttiKauppila/include_fix
LoRa: Internal include paths corrected
2018-04-12 18:31:28 -05:00
Cruz Monrreal 7f671960e8
Merge pull request #6595 from OpenNuvoton/nuvoton_fix_nvstore
Fix typo with NVStore
2018-04-12 18:31:02 -05:00
Paul Thompson 449541c464 Explicitly ignore return value or bare expression (macro expands to a number)
Compile: lwip_stack.c
In file included from ../features/FEATURE_LWIP/lwip-interface/lwip_stack.c:41:0:
../features/FEATURE_LWIP/lwip-interface/lwip_stack.c: In function 'mbed_lwip_bringup_2':
../features/FEATURE_LWIP/lwip-interface/ppp_lwip.h:58:44: warning: statement with no effect [-Wunused-value]
 #define ppp_lwip_disconnect()              ERR_IF
                                            ^
../features/FEATURE_LWIP/lwip-interface/lwip_stack.c:858:21: note: in expansion of macro 'ppp_lwip_disconnect'
                     ppp_lwip_disconnect();
                     ^~~~~~~~~~~~~~~~~~~
../features/FEATURE_LWIP/lwip-interface/ppp_lwip.h:58:44: warning: statement with no effect [-Wunused-value]
 #define ppp_lwip_disconnect()              ERR_IF
                                            ^
../features/FEATURE_LWIP/lwip-interface/lwip_stack.c:875:21: note: in expansion of macro 'ppp_lwip_disconnect'
                     ppp_lwip_disconnect();

                     ^~~~~~~~~~~~~~~~~~~
2018-04-12 09:45:25 -07:00
Paul Szczepanek d8f5100822
Merge pull request #30 from pan-/sm-privacy
BLE: Add Gap privacy interfaces.
2018-04-12 14:59:27 +01:00
Teppo Järvelin 6533c98983 Cellular: fixed athandler unit tests. 2018-04-12 16:20:40 +03:00
Teppo Järvelin 0b5fae3670 Cellular: added deprecation note for parameter timeout in set_attach. 2018-04-12 13:37:49 +03:00
Teppo Järvelin 9b0b92bb1c Cellular: added detach from the network. 2018-04-12 13:37:49 +03:00
Vincent Coubard 90c85955ad BLE: Fix GAP privacy related signatures. 2018-04-12 11:04:44 +01:00
Vincent Coubard 2811e00868 BLE: Fix Gap privacy related documentation 2018-04-12 10:37:13 +01:00
jeromecoutant 2d0dce1db5 STM32F7 : correct compilation warnings 2018-04-12 10:55:02 +02:00
jeromecoutant 2fcf8d8990 STM32F4 : correct compilation warnings 2018-04-12 10:52:21 +02:00
jeromecoutant 4e9e9f5c62 STM32F2 : correct compilation warnings 2018-04-12 10:51:18 +02:00
Antti Yli-Tokola 1feb700267 Update mbed-coap to version 4.4.2
Contains one error fix:
IOTCLT-2469 CoAP UDP retransmission does not work for blocks after first one for requests (Eg. registration POST)

NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality.
2018-04-12 10:04:50 +03:00
Christopher Haster 9e03b24120 littlefs: Fixed lookahead overflow and removed unbounded lookahead pointers
As pointed out by davidefer, the lookahead pointer modular arithmetic
does not work around integer overflow when the pointer size is not a
multiple of the block count.

To avoid overflow problems, the easy solution is to stop trying to
work around integer overflows and keep the lookahead offset inside the
block device. To make this work, the ack was modified into a resetable
counter that is decremented every block allocation.

As a plus, quite a bit of the allocation logic ended up simplified.
2018-04-11 22:34:40 -05:00
Christopher Haster 47bee2343c littlefs: Fixed issue with lookahead trusting old lookahead blocks
One of the big simplifications in littlefs's implementation is the
complete lack of tracking free blocks, allowing operations to simply
drop blocks that are no longer in use.

However, this means the lookahead buffer can easily contain outdated
blocks that were previously deleted. This is usually fine, as littlefs
will rescan the storage if it can't find a free block in the lookahead
buffer, but after changes that caused littlefs to more conservatively
respect the alloc acks (e611cf5), any scanned blocks after an ack would
be incorrectly trusted.

The fix is to eagerly scan ahead in the lookahead when we allocate so
that alloc acks are better able to discredit old lookahead blocks. Since
usually alloc acks are tightly coupled to allocations of one or two blocks,
this allows littlefs to properly rescan every set of allocations.

This may still be a concern if there is a long series of worn out
blocks, but in the worst case littlefs will conservatively avoid using
blocks it's not sure about.

Found by davidefer
2018-04-11 14:41:01 -05:00
Paul Szczepanek 9be8837f77
Merge pull request #29 from paul-szczepanek-arm/no-sign-when-encrypted
check encryption before signing
2018-04-11 15:51:02 +01:00
Vincent Coubard 8643fd55ed BLE: Add stub for signing API in Nordic pal security manager. 2018-04-11 14:22:51 +01:00
Vincent Coubard 1f02913a2c BLE: Add Gap privacy interfaces.
This commit adds API to enable and configure the device privacy.
It deprecates address random types present in Gap::AddressType as these types are not appropriate for scan reports, connection initiation and the connection event. Now user should use the function Gap::getRandomAddressType to find the type of a random address.
The function gap::setAddress is deprecated as it is not portable and can colide with privacy.
2018-04-11 14:18:42 +01:00
Hasnain Virk ec34796fd5 [IOTCELL] Setting up channels for AU915
Bug was reported by @tpet93 and it was correctly diagnosed that channels
were not being set in the phy_params structure. This commit fixes the bug
and sets up channels correctly.
2018-04-11 15:41:22 +03:00
paul-szczepanek-arm 1e6455da0b check encryption before signing 2018-04-11 13:37:04 +01:00
paul-szczepanek-arm 3aaedf6f48 fixed missed function rename 2018-04-11 12:34:57 +01:00
Teppo Järvelin 9c185d9b63 Cellular: Fixing to skip greentea test if sim pin is not configured. 2018-04-11 09:38:13 +03:00
Teppo Järvelin b3226acbbf Cellular: Fixed rebase error. 2018-04-11 09:38:13 +03:00
Teppo Järvelin f7f21dc377 Cellular: review fixes and fixed unit tests. 2018-04-11 09:38:13 +03:00
Teppo Järvelin 12e1f07150 modified at timeout while doing attach and connect as it might take up to one minute and at timeout was 10s. 2018-04-11 09:38:13 +03:00
Teppo Järvelin 31428533ba Fixed missing doxygen param. 2018-04-11 09:38:13 +03:00
Mirela Chirica 9531bbeaf5 BC95 fixes 2018-04-11 09:38:13 +03:00
Teppo Järvelin c036b6698d Doxygen fixes for copy-paste errors. 2018-04-11 09:38:13 +03:00
Ari Parkkila d828959b87 Cellular: Greentea test timeouts increased 2018-04-11 09:38:13 +03:00
Teppo Järvelin dcdb7a5da2 Fixed state machine to accept roaming as valid registration. 2018-04-11 09:38:13 +03:00
Teppo Järvelin c82fd31735 Removed double attach from EasyCellularConnection. 2018-04-11 09:38:13 +03:00
Ari Parkkila 8c019e6c83 Cellular: Remove excessive destructor declaration to fix compile error 2018-04-11 09:38:13 +03:00
Ari Parkkila d7cabe2183 Cellular Greentea tests fixed 2018-04-11 09:38:13 +03:00
ccli8 d52b502fea Fix typo with NVStore 2018-04-11 14:34:54 +08:00
Teppo Järvelin ac9b882049 Fixed bug in state machine registaring phase. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 6f3eebcd36 Fixed possible crash and removed trace from greentea. 2018-04-11 09:31:44 +03:00
Ari Parkkila ea9869e330 Cellular: Greentea tests for UDP socket 2018-04-11 09:31:44 +03:00
Teppo Järvelin f6a0403c82 Fixed build by removing unnecessary include. 2018-04-11 09:31:44 +03:00
Teppo Järvelin af2890da03 Improved registration phase in state machine. 2018-04-11 09:31:44 +03:00
Ari Parkkila 6072407ec9 Cellular: async FSM updates 2018-04-11 09:31:44 +03:00
Teppo Järvelin 84b445f51c Fixed coverity warnings for class ATHandler and removed unnecessary assert from state machine. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 54ab974846 Fixed coverity warnings for targets folder. Also fixed one bug while copying sim. 2018-04-11 09:31:44 +03:00
Teppo Järvelin fa61f094db Fixed coverity warning for class CellularUtil. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 12b0bc4a36 Fixed coverity warnings for AT_CellularStack. 2018-04-11 09:31:44 +03:00
Teppo Järvelin af0de8ece0 Fixed coverity warnings for class AT_CellularDevice. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 0ebfa35d7b Fixed coverity warnings for class CellularConnectionFSM 2018-04-11 09:31:44 +03:00
Teppo Järvelin f6be35c0f2 Fixed coverity warnings for AT_CellularSMS.cpp 2018-04-11 09:31:44 +03:00
Teppo Järvelin 89843246ac Separated context activation from connect, increased stack size to 2048 to avoid stack underflows and changed connection callback call. 2018-04-11 09:31:44 +03:00
Teppo Järvelin f0026e4c48 review fixed and some minor improvements. 2018-04-11 09:31:44 +03:00
Teppo Järvelin b400d18a0c Wait for modem ready signal in startup sequence. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 231458dc36 Picked Ari's changed to reduce stack size. Removed device info printing from state machine. 2018-04-11 09:31:44 +03:00
Teppo Järvelin d1f2e91e93 Working version of async registration. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 2b14a9ee5f temp 2018-04-11 09:31:44 +03:00
Teppo Järvelin 702efc1de5 Temp commit, not compiling... 2018-04-11 09:31:44 +03:00
Teppo Järvelin c26311b071 async works. Retry logic needs refining. 2018-04-11 09:31:44 +03:00
Teppo Järvelin 83ea9be5f5 temp commit while changing work... 2018-04-11 09:31:44 +03:00
Teppo Järvelin 1661fc2744 Modified state machine, added cellular state and callback. 2018-04-11 09:31:44 +03:00
Cruz Monrreal 1c6d485da0
Merge pull request #6572 from TeemuKultala/at_send_wait
cellular: ATHandler send delay
2018-04-10 17:58:00 -05:00
Paul Szczepanek 6c900642e5
Merge pull request #28 from paul-szczepanek-arm/signing-counter
sign counter added
2018-04-10 17:06:14 +01:00
paul-szczepanek-arm 1ba920a338 missing init 2018-04-10 16:47:29 +01:00
paul-szczepanek-arm 70067105d6 class in header 2018-04-10 16:42:43 +01:00
paul-szczepanek-arm a2484b63b0 Signing event monitor proxy to bind both server and client 2018-04-10 14:58:29 +01:00
Martin Kojtal 495ae06c70
Merge pull request #6509 from k-stachowiak/nvseed-check
Add an NV_SEED test to the config adjustment script
2018-04-10 14:38:47 +02:00