Commit Graph

3076 Commits (mbed-os-5.9)

Author SHA1 Message Date
Antti Yli-Tokola 511df14eb0 Update mbed-coap to version 4.4.3
Fixes error: IOTCLT-2506 [GitHub] Cannot set registration time if server does not use max age option
Improvements; Extend blockwise message transfer status to have states for sending as well.

NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality.
2018-05-11 17:14:09 +03:00
Kevin Bracey ec2db62fe5 lwIP: Enable TCP out-of-order processing
Our config file for lwIP had TCP_QUEUE_OOSEQ disabled - this can
cause significant performance problems, as observed during testing.

One lost packet can lock an input stream into a mode where the
transmitter keeps thinking packets are being lost, so keeps slowing
down. This caused test failures - a transfer that would normally
take 10s hit a 60s timeout.

Turning this on increases code size, but doesn't significantly increase
static memory use. The memory used for out-of-order packets comes from
the same pbuf pool as for outgoing TCP segments, so there is contention
when running bidirectionally.

Out-of-order processing is on by default for lwIP - this seems to be
another example of us excessively paring it back.
2018-05-11 17:12:00 +03:00
paul-szczepanek-arm 678d494c5a init _db pointer 2018-05-11 10:20:04 +01:00
paul-szczepanek-arm afa4bdcf1a pull common logic into secure db 2018-05-11 10:19:48 +01:00
Juhani Puurula 7c38f19745 Merge commit 'd6732a1b96814a2ea635b3d517f498127843a097'
* commit 'd6732a1b96814a2ea635b3d517f498127843a097':
  Squashed 'features/frameworks/nanostack-libservice/' changes from 09056ed..ddd45db
2018-05-11 09:59:29 +03:00
Juhani Puurula 690a4c7f09 Merge commit '7a58eaec9d5f2aad89caf3cdb47346d2ff648492'
* commit '7a58eaec9d5f2aad89caf3cdb47346d2ff648492':
  Squashed 'features/frameworks/mbed-trace/' changes from 6d3590f..6df2572
2018-05-11 09:55:48 +03:00
Juhani Puurula f7fd0af47e Merge commit '4cb7e03c7b39f446cfddc46385b00600e0e702f9'
* commit '4cb7e03c7b39f446cfddc46385b00600e0e702f9':
  Squashed 'features/nanostack/coap-service/' changes from f40072f..36d36ce
2018-05-11 09:52:34 +03:00
Juhani Puurula 2f0bd6b6f6 Merge commit '8e546a301f0b93dab28e7b4454df97e5f9e83843'
* commit '8e546a301f0b93dab28e7b4454df97e5f9e83843':
  Squashed 'features/nanostack/sal-stack-nanostack/' changes from 43c7ec2..82bbdcc
2018-05-11 09:52:10 +03:00
Kimmo Vaisanen 9915478645 Lora: Fix battery_level callback
Application can give battery_level callback method what Lora stack
uses to query battery level for DevStatusReq MAC command response.
The problem was that this callback was never called.

This commit fixes this problem and if application does not set
battery_level callback at all, value 255 (= The end-device was not able to
measure the battery level.) will be returned to lora gateway.
2018-05-11 09:50:24 +03:00
Krzysztof Stachowiak 4f9c6ba300 Update the version in the importing makefile 2018-05-10 17:49:33 +02:00
Vincent Coubard 40a403e99b Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection 2018-05-10 12:05:36 +01:00
paul-szczepanek-arm 473482d204 move securitydb into generic 2018-05-10 11:08:31 +01:00
Cruz Monrreal c97a8fb216
Merge pull request #6817 from pan-/fix-crypto_toolbox_f4-parameter-types
GenericSecurityManager: Fix crypto_toolbox_f4 signature.
2018-05-09 11:33:27 -05:00
Cruz Monrreal e33fb60c3d
Merge pull request #6849 from scartmell-arm/bug-critical-section-nordic
Add missing semicolon to NRF51 critical_section implementation
2018-05-09 11:33:10 -05:00
Krzysztof Stachowiak 5317e872db Update Mbed TLS to version 2.9.0 2018-05-09 18:09:13 +02:00
Martin Kojtal b5a8ace79a
Merge pull request #6808 from hasnainvirk/state_machine_work
LoRa: State machine work
2018-05-09 16:02:53 +01:00
paul-szczepanek-arm b95da8d8c4 remove crypto when missing ECDH 2018-05-09 12:27:43 +01:00
Paul Szczepanek fee986750d
fix case 2018-05-09 12:19:35 +01:00
Paul Szczepanek b4d7bb6020
fix case 2018-05-09 12:19:27 +01:00
Paul Szczepanek 37b11d8ac5
fix case 2018-05-09 12:18:55 +01:00
Paul Szczepanek 367fe345ba
fix case 2018-05-09 12:18:42 +01:00
Paul Szczepanek 79b3bc4fce
fix case 2018-05-09 12:18:26 +01:00
paul-szczepanek-arm b98ffa48da fix uppercase X in nrf5x 2018-05-09 12:16:26 +01:00
paul-szczepanek-arm 6a26a8a6c8 Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into security-manager-dev 2018-05-09 11:37:41 +01:00
paul-szczepanek-arm c02b318436 fixed case in filename 2018-05-09 11:37:33 +01:00
Paul Szczepanek 2b02148ab6
Merge branch 'master' into security-manager-dev 2018-05-09 11:23:28 +01:00
paul-szczepanek-arm b8fe37a00e disable ECDH if the platform doesn't support it
otherwise you get linker errors
2018-05-09 11:01:10 +01:00
Steven Cartmell 1dfea4168f Add missing semicolon to NRF51 critical_section implementation 2018-05-09 10:54:26 +01:00
Yossi Levy 9df32d1f00 Fix README.md grammar mistakes 2018-05-09 11:22:15 +03:00
Marcus Chang 1aebdcbee5 Reorganize TARGET_MCU_NRF51822_UNIFIED directories
The unified NRF51 target and feature BLE directories have been
reorganized to follow the naming and directory structure of the
NRF52 implementation.

This reorganization does not include TARGET_MCU_NRF51822 and
derived targets.
2018-05-08 10:10:01 -07:00
Paul Szczepanek 9a0a0865a6
Merge branch 'security-manager-dev' into sm-privacy-nordic 2018-05-08 18:01:41 +01:00
Paul Szczepanek 214656a9ee
fix case in #include 2018-05-08 17:56:38 +01:00
Paul Szczepanek 1a35f3e217
fixed case in name 2018-05-08 17:49:22 +01:00
Cruz Monrreal adcd7ec002
Merge pull request #6742 from pan-/ble-update-cordio-porting-guide
BLE: Update cordio porting guide
2018-05-08 10:42:19 -05:00
Cruz Monrreal 5b5c8ddb4e
Merge pull request #6743 from pan-/ble-cordio-h4-conditionnal-to-fc
BLE: Conditional compilation of H4 driver
2018-05-08 10:41:58 -05:00
Cruz Monrreal a5326ca047
Merge pull request #6814 from pan-/fix-discovery-termination
GenericGattClient: Fix discovery termination.
2018-05-08 10:41:34 -05:00
Yossi Levy 98e83c2262 Implementing KDF in Counter Mode for key derivation function. Moving device key to features 2018-05-08 16:59:05 +03:00
Hasnain Virk be04a57ecf Removing abort from rx in case of FL discrepency
If the frame length is not what we are expecting, it is
found to be a good practise to actually continue with what we
have received rather than aborting. As we have already demodulated
the packet and RX slots are used up, ther is not so much benefit in
dropping that packet.
2018-05-08 16:45:27 +03:00
Hasnain Virk ac6fb71c90 Datarate bug fix in rx windows configs
While configuring RX parameters for the radio, we need to feed in
rx windows 1 and 2 parameters which are computed when we do the transmission.
We are actually setting the physical value of the data rate rather than
data rate table index and the expectation was to set the data rate index.
2018-05-08 16:45:26 +03:00
Hasnain Virk cc09e44cfb Moving msg flags to lorawan_types.h
Message flags are used in the application so the logical place for
them is in lorawan_types.h and not in lorawan_data_structures.h
2018-05-08 16:45:26 +03:00
Hasnain Virk 1a0d90555e Doc fix
Structure naming in the docs was wrong.
2018-05-08 16:45:25 +03:00
Hasnain Virk f63ed86cfc Adding custom channel plan support in AS923
The asia pacific region supports custom channel planning and
downlink channel request. By virtue of a mistake, this information
was missing and hence a custom channel support was not working.
Fixes issue #6783.
2018-05-08 16:45:25 +03:00
Hasnain Virk 9f36baab1b State Machine rework
There had been essentially two state machines running in our stack
which was too cumbersome and was not alligned in any symmetry.

In this work we make sure that:
 * There are no callbacks from the MAC layer to Stack controller layer.
 * Primitives are made local to the mac layer and are presented as
   read-only to the stack controller layer.
 * Interrupt handling and processing is moved to the stack controller layer.
 * Reception is divided into smaller units, seperating handling of Join Accept
   and normal data frames. MIC gets its own unit.
 * Extraction of data and MAC commands from the payload is also being done now in
   its own method.
 * To ensure integrity of the stack, and sanctity of the radio payload, we copy the
   radio payload buffer immediately in the rx interrupt and hoist a flag that prevents
   another interrupt from happening for a short while when we are processing the previous
   packet.
 * If an automatic uplink is on going, we do not send a TX_DONE event to application
   anymore as that is logically incorrect.
 * state_controller() is the central engine for the state machine. To save code space and
   memory, we are not handling each and every state in the state_controller(). Some of the states
   which have no processing to be done, are explicitely set.
 * For all the states who need special processing, seperate methods are added.
 * Class A always run to completion to IDLE and CLass C always runs to completion as RECEIVING.
2018-05-08 16:45:18 +03:00
Hasnain Virk a75af9799e Adding thread safety
Making our LoRaWAN stack thread safe. If RTOS is not present, locks
don't do anything. ScopedLock is used to automate the lock release on
context expiry.
2018-05-08 16:24:34 +03:00
Hasnain Virk a331c4b59a Immutable payload pointer in LoRaPHY 2018-05-08 16:24:34 +03:00
Hasnain Virk 73e433e4e5 Immutable payload pointer to LoRaMacCommand class 2018-05-08 16:24:34 +03:00
Hasnain Virk 0be41f0e69 Remove useless extraction
Channel plan datastructure already contains channel parameters.
Extraction is not needed.
2018-05-08 16:24:34 +03:00
Hasnain Virk bec61cea27 Initializing band for default channels
We went through an exercise of adding band information to
any new channel being added. Default channels were looked over.
This commits duly adds missing band information to default channels.
2018-05-08 16:24:34 +03:00
Hasnain Virk e5e8e79a7a Immutable Payload from radio
Received data buffer from radio driver should be immutable.
2018-05-08 16:24:34 +03:00
David Saada c3e39996b1 Implement FlashSimBlockDevice - flash simulated block device adaptor 2018-05-08 16:15:25 +03:00
Kimmo Vaisanen d200600fc0 Lora: fix AU915 build
There was a typo in the code making it fail to compile.
2018-05-08 14:09:03 +03:00
Cruz Monrreal 11901f115b
Merge pull request #6800 from kivaisan/fix_loracrypto_asserts
Lora: Fix LoRaMacCrypto asserts
2018-05-07 19:34:56 -05:00
Cruz Monrreal 5038135c7d
Merge pull request #6577 from SeppoTakalo/remove_features
Get rid of FEATURE_COMMON_PAL and FEATURE_NANOSTACK
2018-05-07 10:44:50 -05:00
Cruz Monrreal 7a1ab1890b
Merge pull request #6792 from jarvte/cellular_dynamic_alloc_and_destr
Cellular: Add dynamic alloc and destruction to easycellular
2018-05-07 10:28:43 -05:00
Vincent Coubard 565921608e Cordio: Improve cordio H4 driver.
Ommit H4 driver definition if serial flow control is not supported.
2018-05-04 16:36:05 +01:00
Vincent Coubard 34c9206054 BLE: update cordio porting guide.
Improve description of the requirements of the H4 driver.
2018-05-04 16:35:57 +01:00
Vincent Coubard 3f9186faa2 GenericSecurityManager: Fix crypto_toolbox_f4 signature.
The type exposed in the header file were not aligned to the one used in
the implementation: ble::public_key_t instead of ble::public_key_coord_t.
2018-05-04 12:11:34 +01:00
Vincent Coubard fd5903c22d GenericGattClient: Fix discovery termination.
The procedure should be terminated whenever the server returns an error not equal
to ATTRIBUTE_NOT_FOUND. The block was effectivelly terminated but the
procedure was not. As a result the discovery was operating on already
freed memory.
2018-05-04 11:30:58 +01:00
Martin Kojtal f09ab67af2
Merge pull request #6740 from kivaisan/fix_max_tx_power
Lora: Fix max tx power check
2018-05-03 16:28:55 +01:00
Martin Kojtal 1a5a2f0134
Merge pull request #6774 from geky/littlefs-fix-trailing-dots
littlefs: Fix issue with trailing dots in file paths
2018-05-03 16:26:47 +01:00
Martin Kojtal 2729c7aa23
Merge pull request #6780 from bmcdonnell-ionx/fix-lwip-compiler-warning
resolve LWIP compiler warning
2018-05-03 16:24:31 +01:00
Kimmo Vaisanen 5384cd6b63 Lora: Fix LoRaMacCrypto asserts
If Lora stack is built with incorrect mbedtls settings, crypto methods
should assert and return error value. This fixes MBED_ASSERTs to
work correctly.
2018-05-03 13:04:03 +03:00
Teppo Järvelin b22a16fe4a Cellular: Added dynamic alloc and destruction to easycellular.
Now application can call connect and disconnect multiple times and resources are freed and constructed properly.
Also whole easycellular can be deleted and constructed again.
2018-05-03 12:47:47 +03:00
Vincent Coubard b5e8d4eacb Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into fix-encryption-rejection 2018-05-03 09:26:36 +01:00
Martin Kojtal 16ab71864e
Merge pull request #6765 from mirelachirica/at_handler_read_fix
Cellular: Fix AT Handler compile warning
2018-05-03 07:41:23 +01:00
Vincent Coubard 0a59e00b23 Nordic BLE: Update GATT server security management
This patch refines permission applied to characteristic and descriptors; instead of a single level of permission , each characteristic receives a permission for the read operation, one for the write operation and another one for the update operation.

As a consequence, updates are not sent if the link does not cover the update permission requirement.

Descriptors also benefits individually from read and write permission.
2018-05-02 19:15:24 +01:00
Vincent Coubard 4f1e574eff Cordio GattServer: Fix uses of designated initializer.
These are not legal in C++ code.
2018-05-02 18:14:54 +01:00
Vincent Coubard 7e043ead96 Nordic BLE: Add stub implementation of remove_peer_csrk in security manager. 2018-05-02 17:52:39 +01:00
Vincent Coubard 4e5639f5ca BLE: Support encryption with secure connection key. 2018-05-02 17:51:48 +01:00
Donatien Garnier ba0f18c9ab Fix casing in MemorySecurityDb.h 2018-05-02 17:39:10 +01:00
Brendan McDonnell 33a2116042 reduce variable scope 2018-05-02 11:17:25 -04:00
Brendan McDonnell ba29bd9315 use separate variable to resolve compiler warning 2018-05-02 09:33:24 -04:00
Vincent Coubard f79eeb0173 Cordio: Update stack and pal to support LE security mode 2 level 2. 2018-05-02 14:32:38 +01:00
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
Yossi Levy a8febd57a1 Device key implementation 2018-04-11 15:35:00 +03: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
Antti Kauppila 67157fc3bd LoRa: Internal include paths corrected 2018-04-10 14:04:18 +03:00
Kimmo Vaisanen 19883f12f8 Lora: Introduce new receive API which returns port and flags
This is a fix for issue #6389.

Currently when application receives RX_DONE event from stack, it has to provide the correct port
value to receive method in order to read the received message. The problem is that current
API does not provide any way to know in to which port message was received.

This commit introduces a new receive() method, which instead of checking these values, will return
them to application.
2018-04-10 13:04:23 +03:00
Kimmo Vaisanen 01fd8804df Fix Coverity warning
Fixed Coverity warning "stored value is overwritten before it can be used".
2018-04-10 10:19:03 +03:00
Kimmo Vaisanen 10c269bcfa Add some debug traces 2018-04-10 10:19:03 +03:00
Kimmo Vaisanen f6decc0131 Initialize mcps_indication status
_mcps_indication.status is not initialized properly and it can cause incorrect
status value to be returned.
2018-04-10 10:13:40 +03:00
paul-szczepanek-arm 4fff20583d sign counter kept track by the class using it 2018-04-09 17:49:54 +01:00
paul-szczepanek-arm deeb0ea7e0 redundant store for sign counter 2018-04-09 15:11:26 +01:00
paul-szczepanek-arm 637dcb9bc8 missing * 2018-04-09 15:10:25 +01:00
paul-szczepanek-arm 55d3423a5e typedef uint32_t 2018-04-09 13:35:17 +01:00
Kevin Bracey 96610a6aed LoRa: Improved region macro handling 2018-04-09 15:22:48 +03:00
paul-szczepanek-arm be912ded5b normalised the getters const insanity 2018-04-09 12:14:52 +01:00
Teemu Kultala 328919c852 cellular: doxygen correction 2018-04-09 14:09:44 +03:00
Teemu Kultala d7960620b6 cellular: ATHandler send delay 2018-04-09 13:46:40 +03:00
Antti Kauppila 1a86bb3604 Removed default values from internal functions
- Also removed useless else from loraphy_target.h
2018-04-09 13:30:08 +03:00
Antti Kauppila db167af3c1 LoRa: Fixed doxygen error, enabled commented out code 2018-04-09 11:48:03 +03:00
Antti Kauppila fa062fff76 LoRa: Moved connect logic from LoRaWANStack to LoRaMac class
- Internal change only
2018-04-09 11:10:40 +03:00
Antti Kauppila 1310392d1b LoRa: Removed unneeded function and cleaned up some code 2018-04-09 11:10:40 +03:00
Antti Kauppila d1bbd21e01 LoRa: Improved handling of region selection
- This implements IOTCELL-697
- This touches API, but does not break it, old ones still work in a same manner!
2018-04-09 11:10:40 +03:00
Vincent Coubard f53a0e4906 Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic 2018-04-09 09:09:01 +01:00
Martin Kojtal 65ac615d2d
Merge pull request #6557 from AnttiKauppila/IOTCELL-754
LoRa: Fixed cflist decoding issue
2018-04-06 16:40:18 +02:00
Martin Kojtal f5385e7a14
Merge pull request #6524 from forGGe/fix_address_parsing_
Fix IPv4 address parsing due to not-so-portable scanf modifier
2018-04-06 12:26:37 +02:00
Martin Kojtal f331ac34c4
Merge pull request #6402 from u-blox/cellular_test_target
Renaming Ublox library for mbed cellular framework
2018-04-06 12:19:58 +02:00
Antti Kauppila 6ef331b9db LoRa: Fixed cflist decoding issue
- This fixes defect IOTCELL-754
2018-04-06 12:54:01 +03:00
Martin Kojtal 02d4631c13
Merge pull request #6528 from anttiylitokola/mbed_coap_4.4.1
Update mbed-coap to version 4.4.1
2018-04-06 10:05:39 +02:00
paul-szczepanek-arm 57149b69e4 monitor for signing events and set local counter 2018-04-04 19:24:00 +01:00
paul-szczepanek-arm 1d74dfa1f9 redundant funcs removed 2018-04-04 18:02:16 +01:00
Vincent Coubard dcff810457 BLE: replace byte_array_t::buffer with byte_array_t::data 2018-04-04 17:20:08 +01:00
paul-szczepanek-arm acfc5b218d set cordio csrk and counter 2018-04-04 17:16:34 +01:00
paul-szczepanek-arm 2e1c5fc123 completely redundant 2018-04-04 17:16:16 +01:00
Cruz Monrreal 75cb4d7512
Merge pull request #6411 from AnttiKauppila/stack_refactoring
Stack refactoring
2018-04-04 10:26:55 -05:00
paul-szczepanek-arm 539a11ee31 sign counter added 2018-04-04 15:59:10 +01:00
Vincent Coubard 17b3e26429 BLE: remove trace in Nordic PAL security manager 2018-04-04 15:42:47 +01:00
Vincent Coubard 04ab07ff16 BLE: Add documentation to CryptoToolbox. 2018-04-04 15:41:20 +01:00
Vincent Coubard 59a301a256 BLE: CryptoToolbox enhancement
- Rename LescCrypto into CryptoToolbox
- Use ArrayView of fixed size as parameters
- Add licence
2018-04-04 15:31:31 +01:00
Vincent Coubard cd39406d20 BLE: Add conversion function from byte_array_t to ArrayView. 2018-04-04 15:28:52 +01:00
Vincent Coubard 5761caff00 BLE: Extend ArrayView to encode size in type.
With this change, it is possible to encode the size of the array viewed by an ArrayView into the type itself: ArrayView<T, Size>. Such objects are lighter than ArrayView of arbitrary size and allows verification of the size at compile time.

This change also fix operator== and bring new make_ArrayView overloads.
2018-04-04 15:28:17 +01:00
Vincent Coubard 9e1f0b34f8 BLE: Fix byte_array_t subscript operator 2018-04-04 15:22:15 +01:00
Vincent Coubard d8f3d9c5ef BLE: provide non const overload of byte_array_t::data member function. 2018-04-04 15:21:54 +01:00
Vincent Coubard bf41bb3164 BLE: Export byte_array_t size exploitable at compile time. 2018-04-04 15:21:05 +01:00
Vincent Coubard 7bf0eb009a BLE: use ArrayView to pass and get parameters in Crypto API
This change allow vendor pal code to use its own array format.
2018-04-04 11:04:13 +01:00
paul-szczepanek-arm cbf80e9da5 typos, style and other review fixes 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm c1e2e07241 missing line from commit
(github client fail)
2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 15c06acfe4 style fix 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm dfdfcfb25e style fix 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm e276478d58 only bother reacting to verification failures if we want to use signing 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm f5fee68f99 fixed naming for sig failure count 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 9283413c4c count failures, trigger reparing when verification fails 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 780d8a4375 let the stack know whether csrk is authenticated 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 511135f31c signing only for the slave, unless keys requested to be sent by master 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 8d966dbe8c invalid mic event 2018-04-03 15:41:43 +01:00
paul-szczepanek-arm 5ae9cc3b53 set peer csrk on pal 2018-04-03 15:41:43 +01:00
Paul Szczepanek 381b99bc61
Merge pull request #25 from paul-szczepanek-arm/oob-gen
generate oob at will and without passing in connection handle
2018-04-03 15:30:21 +01:00
paul-szczepanek-arm 576796b289 reset OOB on use 2018-04-03 15:29:26 +01:00
paul-szczepanek-arm 26b047549c extra comments for api 2018-04-03 15:17:15 +01:00
paul-szczepanek-arm 0a494a0bbc all_zeros now free functions 2018-04-03 14:47:27 +01:00
paul-szczepanek-arm ba5b0f30d2 added comments about address for oob generation 2018-04-03 13:54:29 +01:00
Antti Kauppila 10ad173091 LoRa: Small fixes
- changed few static variables to have const
2018-04-03 14:58:01 +03:00
paul-szczepanek-arm 3c1a5a4a56 incorrect retval usage fixed 2018-04-03 12:16:49 +01:00
Antti Yli-Tokola 8fdae13642 Update mbed-coap to version 4.4.1
- Fixes error: IOTCLT-2539 Block wise messaging call-backs not working logically
- Allow TCP+TLS transport method to send larger messages without blockwising.

NOTE! These are internal changes required for cloud client. This has no direct relevance to any mbed-os functionality.
2018-04-03 13:58:40 +03:00
Max Payne bd47110554 Fix IPv4 address parsing due to not-so-portable scanf modifier
Bug is raised when using newlib-based toolchains.
%hh format is only avaliable in scanf if newlib is compiled
with _WANT_IO_C99_FORMATS option.
2018-04-02 23:33:21 +03:00
Marcus Chang 791e42eefe Inrease thread stack size to 1024 bytes in NVStore test for NRF52 2018-03-30 11:32:55 -07:00
Jimmy Brisson 2429d5e042
Merge pull request #6494 from donatieng/securitydb_fix_casing
[BLE] Fixed inconsistent casing issue for SecurityDb
2018-03-29 12:00:36 -05:00
Jimmy Brisson 64df0ddee8
Merge pull request #6408 from davidsaada/david_erase_size_addr
Add overloaded get_erase_size API with address parameter to BlockDevice
2018-03-29 11:59:28 -05:00
Vincent Coubard 3272863f83 BLE Nordic: Support LESC. 2018-03-29 17:24:46 +01:00
Vincent Coubard f0e18fa007 BLE: Add LESC crypto toolbox for Nordic. 2018-03-29 17:23:54 +01:00
Vincent Coubard 3218e79805 BLE: Fix reference to security manager in Nordic event handler. 2018-03-29 17:23:24 +01:00
Vincent Coubard 95cd37b491 BLE: Add const overload for byte_array_t subscribt operator. 2018-03-29 17:22:48 +01:00
Krzysztof Stachowiak ebb28b32af Move the new check into the end of the previous line 2018-03-29 15:07:29 +02:00
Krzysztof Stachowiak 717573f44e Add an NV_SEED test to the config adjustment script 2018-03-29 11:53:50 +02:00
Donatien Garnier 8b66c4bd28 [BLE] Fixed inconsistent casing issue for SecurityDb 2018-03-28 10:44:09 +01:00
paul-szczepanek-arm aa90f0df65 rely solely on random vlalue to know if already calculating
simplify by setting a fake random value at the start so that first run is the same as subsequent runs
2018-03-27 12:25:50 +01:00
Bilal c376e501aa Moving deprecated warnings outside the class 2018-03-27 12:55:38 +05:00
Cruz Monrreal 062164eaad
Merge pull request #6452 from ARMmbed/revert-6086-gatt-client-unit-tests
Revert "BLE: Gatt client unit tests"
2018-03-26 14:33:52 -05:00
Cruz Monrreal 26737580ce
Merge pull request #6313 from SeppoTakalo/doxygen
Add missing Doxygen descriptions for Nanostack
2018-03-26 14:28:51 -05:00
Cruz Monrreal 57b48f6e05
Merge pull request #6416 from kjbracey-arm/lwip_netconntype_fix
lwIP: fix some IPv6 errors, eg TCP keepalive
2018-03-26 14:27:09 -05:00
paul-szczepanek-arm c542650734 removed unused param from call 2018-03-26 18:07:29 +01:00
paul-szczepanek-arm e1885486fa only generate oob if using oob 2018-03-26 18:00:05 +01:00
paul-szczepanek-arm d1b4713ae6 removed redundancy 2018-03-26 17:53:40 +01:00
paul-szczepanek-arm 02ba2848a8 avoid recalculating oob fi already calculating 2018-03-26 17:48:32 +01:00
Vincent Coubard 87c2045f5e Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into sc-nordic 2018-03-26 17:12:37 +01:00
Vincent Coubard db20ecbbde
Merge branch 'security-manager-dev' into oob-gen 2018-03-26 16:49:55 +01:00
Vincent Coubard 3579653533 Cordio: Implement missing functions for secure connection 2018-03-26 15:48:59 +01:00
Bilal c07ef92470 Adding deprecated warnings for old name 2018-03-26 19:34:42 +05:00
mudassar-ublox eb806b681d Renaming Ublox library for mbed cellular framework
(cherry picked from commit 737609736591d12ea369d5b364d132e7a6367ae2)
2018-03-26 17:08:23 +05:00
Martin Kojtal afeb3066c3
Revert "BLE: Gatt client unit tests" 2018-03-26 11:51:29 +01:00
paul-szczepanek-arm 98efb9da06 generate oob at will and without passing in connection handle 2018-03-23 18:31:27 +00:00
Cruz Monrreal 6dc0c9d6c3
Merge pull request #6388 from davidsaada/david_nvstore_set_alloc_key
NVStore: key management enhancements
2018-03-23 11:03:53 -05:00
Cruz Monrreal 387027dddb
Merge pull request #6086 from pan-/gatt-client-unit-tests
BLE: Gatt client unit tests
2018-03-23 10:56:09 -05:00
Vincent Coubard b859907481 Cordio: remove generate_public_key from the security manager. 2018-03-23 12:06:08 +00:00
Vincent Coubard 0a710e5331 BLE: Initialize the pal in GenericSecurityManager 2018-03-23 12:06:08 +00:00
Vincent Coubard e25d5c9aa3 BLE: qualification of SecurityManager types 2018-03-23 12:06:08 +00:00
Paul Szczepanek d7595803d0
Merge pull request #23 from paul-szczepanek-arm/legacy-oob
allow preloading legacy oob, generate tk
2018-03-23 10:48:11 +00:00
David Saada a6048005d7 Add overloaded get_erase_size API with address parameter to all block devices 2018-03-23 00:34:45 +02:00
paul-szczepanek-arm 6833c79fb3 don't request encrypt when pending 2018-03-22 17:54:13 +00:00
paul-szczepanek-arm 81cb1f9c83 enable encryption for slave request added 2018-03-22 17:11:15 +00:00
paul-szczepanek-arm 350924129f fix the attempt oob flag if we receive oob 2018-03-22 12:32:01 +00:00
paul-szczepanek-arm 2b2d9a2453 reset pending state when attempt ends, added comments 2018-03-22 12:23:37 +00:00
paul-szczepanek-arm c848c79a5b avoid code redundancy 2018-03-22 12:10:21 +00:00
paul-szczepanek-arm 909f9513cf allow preloading legacy oob, generate tk 2018-03-22 12:01:34 +00:00
Kimmo Vaisanen c1983570b4 Fix compilance test compilation
Fix compilation of compilance test and at the same time refactor compliance
test handler. Renamed mcps_request as test_request as it is only used for
compliance test. Also fixed a bug with null buffer in send_compliance_test_frame_to_mac.
2018-03-21 14:39:18 +02:00
Seppo Takalo fbea6f15e2 Add missing Doxygen descriptions for Nanostack
Fix couple of parameter issues as well.
2018-03-21 14:15:28 +02:00
Kevin Bracey b3eb51acef lwIP: fix some IPv6 errors, eg TCP keepalive
Glue code was inspecting lwIP's netconn "type", checking directly for
NETCONN_UDP and NETCONN_TCP.

Unfortunately the type byte has some flag bits like
"IPv6", which means the tests fail if it's an IPv6 socket. So, for
example, TCP socket options were rejected for IPv6.

Add the necessary NETCONNTYPE_GROUP macros to fix this.
2018-03-21 13:40:25 +02:00
Antti Kauppila cbdeb7dc4b LoRa: Added API break warnings for lorawan_channelplan_t struct and it's components 2018-03-21 08:54:42 +02:00
Antti Kauppila dc98228139 LoRa: Struct cleanups
- Unneeded structs removed and replaced by variables in functions
2018-03-21 08:54:42 +02:00
Antti Kauppila 489eecf7df LoRa: LoRaMAC class refactored
- Internal change only, no functional changes
- Tested by running Green tea tests manually
2018-03-21 08:54:42 +02:00
Antti Kauppila 6b54478af4 LoRaWANStack is made independent of MAC sublayers
- Only internal changes, no API has been broke.
- Tested by manually running Green tea tests
2018-03-21 08:54:42 +02:00
Antti Kauppila b63c98e103 LoRa: LoRaPHY dependency removed from LoRaMacStack
- This is internal change, no functionality has been changed
- LoRaWanInterface cleaned up and code moved to LoRaMacStack
- Compliance code in LoRaMacStack moved to EOF
- Green tea tests have been run manually
- Doxygen updated accordingly

LoRA: reorder class members
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen fe225a8430 Remove redundant event from timer callbacks
Since our timers are now already using events, we no longer need to
defer timer callback calls.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen c6eee4fd98 Simplify check for pending bit 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 32075b91b5 Fix reception of class C messages
- Do not put radio into sleep when message is received in class c mode
- Experimental feature for acknowledging confirmed downlink messages
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen a26fca8bf5 Add set_device_class API to change active device class
This API can be used to runtime change device class.

Please note that only class A and C are supported at the moment.
Trying to set class B will return LORAWAN_STATUS_UNSUPPORTED.

Fix set_device_class documentation

fix documentation
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 4aba3434f4 Change minimum required channels from 6 to 2 (US915Hybrid)
https://github.com/Lora-net/LoRaMac-node/issues/362
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 65b2dbc7dc Update DevStatusAnd format
In the DevStatusAns format, the protocol requires RFU(7:6) value = 0
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen e1fff2e738 Update handling for functions OnRadioRxError and OnRadioRxTimout.
This is especially important for class c devices.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 6c165e0f19 Changed mcps confirmation ul_frequency to channel 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen e097429b69 Remove unused is_fPort_allowed method 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen a9e1076572 Bug fix in RX timeout and RX error handling for class c nodes.
1. Do not stop the 2nd window timer, as it is not running.
2. Wait for the OnAckTimeout event, before setting MacDone
3. Process for class c also the 2nd window timeout part, as we do
   not have a 2nd window timer.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 591bc7da1f Add the possibility to set the default antenna gain. 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 256a3a5842 Fix calculation of the aggregated time-off.
Perform only an assignment.

https://github.com/Lora-net/LoRaMac-node/issues/282
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen c1ea418ac4 Fix rx slot handling
Store the rx slot temporarily. When in class C, this variable will be changed
in function OpenContinuousRx2Window.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen fc1696b74f Do only set the MacDone if the MAC is not in class c 2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 6114f2b3d5 Fix an issue with sequence calls.
This issue is only present for a device in class c mode, which
has perform unconfirmed uplinks.

https://github.com/Lora-net/LoRaMac-node/issues/327
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen e206c1ee54 Changed RegionNextChannel function in order to return LoRaMacStatus_t instead of a boolean
Removed the while loop checking the return value from set_next_channel
(GitHub Issue https://github.com/Lora-net/LoRaMac-node/issues/357)

The new return values are:

LORAWAN_STATUS_OK                    : A channel has been found.
LORAWAN_STATUS_NO_FREE_CHANNEL_FOUND : No free channel has been found (AS923 and KR920 regions)
LORAWAN_STATUS_DUTYCYCLE_RESTRICTED  : No channel found due to the duty-cycle or JoinReq back-off restrictions. Trial must be delayed.
LORAWAN_STATUS_NO_CHANNEL_FOUND      : No channel has been found. Re-enabled the default channels.
2018-03-21 08:54:42 +02:00
Kimmo Vaisanen 339306ed1b Ensure DR_6 cannot be selected for IN865 region 2018-03-21 08:54:42 +02:00
Antti Kauppila a294aa028d LoRa: LoRaWANInterface refactored.
- Only internal changes, no functionality changes
- Some minor improvements to LoRaWanStack
2018-03-21 08:54:42 +02:00
Cruz Monrreal 53cb6e06f9
Merge pull request #6279 from AnttiKauppila/master
LoRa refactoring
2018-03-20 17:28:38 -05:00
Cruz Monrreal f3e2a3dd4b
Merge pull request #6357 from anttiylitokola/master
Update mbed-coap to version 4.4.0
2018-03-20 15:01:00 -05:00
Cruz Monrreal 0b7a9a9f3d
Merge pull request #6333 from mikaleppanen/lwip_tcp_flag_corr
Corrected lwip adaptation TCP flagging
2018-03-20 14:35:43 -05:00
Cruz Monrreal 7ab4b064e5
Merge pull request #6338 from geky/fix-littlefs-dir-chain
littlefs: Fix issue updating dir struct when extended dir chain
2018-03-20 14:33:26 -05:00
Cruz Monrreal 53adeed521
Merge pull request #6350 from u-blox/cellular_test
Cellular: update attach test
2018-03-20 14:27:02 -05:00
Cruz Monrreal a3d8c8fe16
Merge pull request #6363 from deepikabhavnani/seek_fix
dir seek fixed - dptr was not updated before checking
2018-03-20 14:21:49 -05:00
Cruz Monrreal 7b2ee2d52f
Merge pull request #6291 from mirelachirica/bc95_echotest_fixes
Cellular: BC95 echo test fixes
2018-03-20 14:06:06 -05:00
David Saada b7bb29a301 NVStore: key management enhancements
- Define an enum for predefined keys (later filled by internal users of NVStore)
- Add the set_alloc_key API, allocating a free key from the non predefined keys
2018-03-19 12:00:47 +02:00
Cruz Monrreal 7c30faf69d
Merge pull request #6264 from jarvte/master
Deprecated warnings for feature/netsocket/cellular
2018-03-16 13:32:09 -05:00
Cruz Monrreal 0a1fc956ec
Merge pull request #6359 from davidsaada/david_sotp_cpp
NVStore: add comments in header file for Doxygen formatting sake.
2018-03-16 11:34:40 -05:00
Antti Kauppila 32257858d0 Added missing mac_cmd_buf_idx_to_repeat to LoRaMacCommand class
- Reordered LoRaWANStack internal variables for more compact code
2018-03-16 18:00:02 +02:00
Antti Kauppila 488cf03d1e LoRA: Code cleanup + doxygen updates
- Internal changes only
- reset function is created to LoRaPHY to reset LoRaMAC parameters with default values
- Doxygen updates for newly created functions
2018-03-16 18:00:02 +02:00
Antti Kauppila 2ac73a6cac LoRa: LoRaMacMcps refactored to remove dependency to LoRaMac.
- This is internal logic only and there are no functionality changes
- Some compliance test stuff have been moved to end of files
- Some internal data structures removed as useless after refactor
2018-03-16 18:00:02 +02:00
Antti Kauppila 37371df968 LoRa: reset_mac_parameters put to correct place 2018-03-16 18:00:02 +02:00
Antti Kauppila d232d3bb52 LoRa: Removed LoRaMac dependency from MIB and MLME classes
- Internal refactoring only, no functional changes
2018-03-16 18:00:02 +02:00
Antti Kauppila d1cdd77290 LoRa: get_phy_params() refactored
- get_phy_params function was very heavy weight and needed to be refactored.
- switch-case clauses have been refactored to be functions now and the complexity of the usage has been improved a lot.
- There are no functional changes, this is internal only change
2018-03-16 18:00:02 +02:00
Antti Kauppila 3c7bd1b794 LoRa: LoRaMac need removed from LoRaMacCommand class
- LoRaMacCommand does not have any external dependencies anymore
- Also LoRaMacMlme is not using LoRaMacCommand anymore
2018-03-16 17:58:44 +02:00
paul-szczepanek-arm 66867d4dd3 oob stored in generic and handed over to pal when requested 2018-03-16 14:48:04 +00:00
Cruz Monrreal 92bbdbb60a
Merge pull request #6329 from TeemuKultala/callback_changes
Cellular: add callback API
2018-03-15 11:04:17 -05:00
Cruz Monrreal 0ae3580781
Merge pull request #6345 from jarvte/cellular_sms_unit_test_fix
Cellular: Fixed sms unit tests.
2018-03-15 10:58:16 -05:00
Cruz Monrreal abb74e8cbc
Merge pull request #6092 from kjbracey-arm/mesh-help
mbed-mesh-api: add JSON help
2018-03-15 10:57:02 -05:00
Cruz Monrreal 9cac3b2f6b
Merge pull request #6149 from bmcdonnell-ionx/typos
Fix typos in the files
2018-03-15 10:53:03 -05:00
Cruz Monrreal 38e0d3b842
Merge pull request #6300 from kivaisan/master
Fixes to LoRa PHY
2018-03-15 10:42:43 -05:00
Cruz Monrreal eff0cc2c06
Merge pull request #6314 from jarvte/improve_athandler_write
Cellular: ATHandler write improvements.
2018-03-15 10:39:56 -05:00
Vincent Coubard 5e8630dcc6 BLE Nordic: Complete implementation of pal security manager 2018-03-15 11:24:31 +00:00
Vincent Coubard 1638902341 BLE: Whitespace fix 2018-03-15 09:34:41 +00:00
Vincent Coubard 761beafeb3 BLE: Complete nRF5xGap initialization list 2018-03-15 09:34:21 +00:00
Vincent Coubard 288abf5287 BLE: Add nRF5x constructor 2018-03-15 09:33:25 +00:00
Vincent Coubard c3fd90430a BLE: Fix references to ConnectionEventMonitor::EventHandler 2018-03-15 09:32:58 +00:00
Mudassar Hussain 91333d2892 Removed strncmp 2018-03-15 10:41:00 +05:00
Deepika 351aaa8acd dir seek fixed - dptr was not updated before checking 2018-03-14 14:40:08 -05:00
David Saada f20c54e275 NVStore: add comments in header file for Doxygen formatting sake. 2018-03-14 18:15:13 +02:00
Antti Yli-Tokola 2e3651c2f7 Update mbed-coap to version 4.4.0
Make sn_coap_protocol_send_rst as public needed for CoAP ping sending
Allow disabling resendings by defining SN_COAP_DISABLE_RESENDINGS
2018-03-14 15:34:15 +02:00
Mudassar Hussain 3bee060942 Cellular: update attach test 2018-03-13 20:49:31 +05:00
Teppo Järvelin 53455c5528 Fixed correct includes so that compile log is not polluted. 2018-03-13 16:23:15 +02:00
Teppo Järvelin cacdbd1550 Cellular: Fixed sms unit tests. 2018-03-13 13:52:05 +02:00
Teppo Järvelin 16e8b77474 PR review findings, updated deprecated comments. 2018-03-13 13:15:29 +02:00
Antti Kauppila 783d0c58f5 MBED_DEPRECATED_SINCE taken into use 2018-03-13 13:15:29 +02:00
Teppo Järvelin 7fd6b71337 Moved APN_db.h under new cellular. 2018-03-13 13:15:29 +02:00
Teppo Järvelin bee31ad1b3 Added deprecation notes to old cellular interfaces. 2018-03-13 13:15:29 +02:00
Martin Kojtal fe2e4a3680
Merge pull request #6290 from AriParkkila/fix_cellular_unit_tests
Cellular tests: fix power mgmt stub
2018-03-13 09:53:36 +01:00
Mika Leppänen af29734dd0 Corrected lwip adaptation TCP flagging 2018-03-13 09:47:11 +02:00
Christopher Haster 7f17a9b8da littlefs: Fixed issue updating dir struct when extended dir chain
Like most of the lfs_dir_t functions, lfs_dir_append is responsible for
updating the lfs_dir_t struct if the underlying directory block is
moved. This property makes handling worn out blocks much easier by
removing the amount of state that needs to be considered during a
directory update.

However, extending the dir chain is a bit of a corner case. It's not
changing the old block, but callers of lfs_dir_append do assume the
"entry" will reside in "dir" after lfs_dir_append completes.

This issue only occurs when creating files, since mkdir does not use
the entry after lfs_dir_append. Unfortunately, the tests against
extending the directory chain were all made using mkdir.

Found by schouleu
2018-03-12 15:52:32 -05:00
Cruz Monrreal 56a6f3b4ff
Merge pull request #6327 from TeemuKultala/ doxygen_updates
cellular doxygen updates
2018-03-12 15:10:58 -05:00
Cruz Monrreal 81b2768537
Merge pull request #6301 from jarvte/fixing_cellular_gt
Cellular tests: fixed cellular greentea tests by adding timeout as it…
2018-03-12 11:52:34 -05:00
Vincent Coubard eb8ec9c22d Merge branch 'nordicpalsm' of https://github.com/donatieng/mbed-os into sc-cordio 2018-03-12 10:15:18 +00:00
Teemu Kultala bd75d5327f callback API added 2018-03-12 11:51:27 +02:00
Teemu Kultala cf07cb0394 cellular doxygen updates 2018-03-12 10:24:33 +02:00
Christopher Haster 17f7c8cd5b fatfs: Revert "Update error code mapping"
This reverts commits:
b40ff8af15
b548fd8a39
2018-03-09 15:27:03 -06:00
paul-szczepanek-arm 1521dee773 add doxygen comment about OOB deneration cause bu setOOBDataUsage 2018-03-09 18:06:56 +00:00
Vincent Coubard 5a2008211a Cordio: Implement missing functions for secure connection 2018-03-09 18:06:22 +00:00
Vincent Coubard 38bee37804 Cordio: remove generate_public_key from the security manager. 2018-03-09 18:05:31 +00:00
Vincent Coubard 36ca6be69a BLE: Initialize the pal in GenericSecurityManager 2018-03-09 18:04:47 +00:00
Vincent Coubard bd7be3d643 BLE: qualification of SecurityManager types 2018-03-09 17:56:59 +00:00
paul-szczepanek-arm 19bb13c8c5 one last typo 2018-03-09 14:56:37 +00:00
paul-szczepanek-arm 1f8c5c1231 fixed typos 2018-03-09 14:22:28 +00:00
paul-szczepanek-arm 7c82e91981 fixed typo 2018-03-09 12:49:10 +00:00
Teppo Järvelin d26bb23dae Cellular: ATHandler write improvements. 2018-03-09 14:03:17 +02:00
Martin Kojtal d2f00a054c
Merge pull request #6171 from anttiylitokola/master
Update mbed-coap to version 4.3.0
2018-03-08 17:44:17 +01:00
Martin Kojtal 0c0826179f
Merge pull request #6280 from davidsaada/david_nvstore_doxygen_only
NVStore: Enclose header file with DOXYGEN_ONLY option as well.
2018-03-08 17:40:12 +01:00
Martin Kojtal 87b37c0e2a
Merge pull request #6286 from delftswa2018/feature-typo-fixes
Small typo fixes in readme.md files
2018-03-08 17:36:23 +01:00
Kimmo Vaisanen 5bfe056370 Fix verification of RX2 datarate
Datarate verification passed only if given datarate was a minimum
possible value. Instead datarate should be checked that it is less
than maximum value.
2018-03-08 14:02:40 +02:00
Teppo Järvelin 228f7e8160 Cellular tests: fixed cellular greentea tests by adding timeout as it may take time to register, attach and connect to network. 2018-03-08 13:27:23 +02:00
Mirela Chirica be95f47636 Quectel BC95 echo test fixes
Fixing get host by name and iterate send/recv socket operations.
2018-03-08 13:13:02 +02:00
Mirela Chirica 84cd5c1000 Use of APN lookup decision logic fixed 2018-03-08 12:58:12 +02:00
Mirela Chirica 9f6454a084 Fix wrong header define name 2018-03-08 12:53:52 +02:00
Mirela Chirica 350d7916cf Release AT handler if network not created 2018-03-08 12:50:14 +02:00
Kimmo Vaisanen 3bd0f97914 Fix initialization of phy_params.payloads_with_repeater.size 2018-03-08 12:46:54 +02:00
Mirela Chirica aaf4edc15c Own SIM state retrieval for Quectel BC95 2018-03-08 12:46:44 +02:00
Teppo Järvelin 66fcc758c5 Fixed Cellular unit tests by adding one missing stub after changes in mbed-os. 2018-03-07 12:45:49 +02:00
Kevin Bracey 79b3d068e9 mbed-mesh-api: revise some Thread JSON help 2018-03-07 09:35:04 +02:00
Cruz Monrreal 8a7b390fdd
Merge pull request #6102 from Ultimaker/master
Add support for STEVAL-3DP001V1 board
2018-03-06 20:41:41 -06:00
Cruz Monrreal 772a857727
Merge pull request #6268 from AriParkkila/master
Fixes cellular unit tests.
2018-03-06 16:12:48 -06:00
jiangkun1994 af7c1c919d fixes a typo in README.md 2018-03-07 03:33:31 +08:00
jiangkun1994 5be35c92da fixes some typos in README.md 2018-03-07 03:27:45 +08:00
jiangkun1994 3ca084e954 fixes a typo in README.md 2018-03-07 03:23:42 +08:00
Jasper de Winkel 2c7a25a949 Small typo fixes in readme.md files 2018-03-06 19:07:03 +01:00
David Saada 9e35f8283e NVStore: Enclose header file with DOXYGEN_ONLY option as well. 2018-03-06 15:35:00 +02:00
Antti Kauppila 7741096538 Cellular tests: nsapi_socket_t errors fixed in unittests 2018-03-05 16:00:13 +02:00
paul-szczepanek-arm b8ba99a184 handling OOB data generation and verification now pushed down to PAL level 2018-03-05 11:29:13 +00:00
Anna Bridge a6e27b1b86
Merge pull request #6082 from AriParkkila/master
Mbed OS cellular connectivity
2018-03-02 18:36:48 +00:00
Anna Bridge f0bda6c4cd
Merge pull request #6251 from deepakvenugopal/master
Fixed Thread Commissioning issue in CoAP service
2018-03-02 13:58:59 +00:00
Ari Parkkila f91cc33fca Updated readme document 2018-03-02 14:38:08 +02:00
Teppo Järvelin 9e2da6af7d Removed mux comments from code. 2018-03-02 14:38:08 +02:00
Teppo Järvelin dc87629641 Fixed unit test after removing mux. 2018-03-02 14:38:08 +02:00
Teppo Järvelin 7c9f5f3781 Removed mux. 2018-03-02 14:38:08 +02:00
Ari Parkkila bfed2baeb6 Changed cellular device as not static 2018-03-02 14:38:08 +02:00
Ari Parkkila e183923c0d Changed std::snprintf to sprintf in cellular ATHandler.cpp 2018-03-02 14:38:08 +02:00
Ari Parkkila b811f7e84d Fixed EasyCellularConnection to have debug flag 2018-03-02 14:38:08 +02:00
Teppo Järvelin 81738acfb4 Fixed unit tests. 2018-03-02 14:38:08 +02:00
Amanda Butler 63485bd846 Copy edit ATHandler.h
Copy edit for clarity, grammar and spelling.
2018-03-02 14:38:08 +02:00
Amanda Butler cc3835e356 Copy edit AT_CellularBase.h
Copy edit file for clarified phrasing.
2018-03-02 14:38:08 +02:00
Amanda Butler 68cac96042 Copy edit AT_CellularDevice.h
Copy edit for consistent phrasing across docs.
2018-03-02 14:38:08 +02:00
Amanda Butler 1d57299000 Copy edit AT_CellularSMS.h
Copy edit file for grammar.
2018-03-02 14:38:08 +02:00
Amanda Butler 3a57d507d9 Copy edit AT_CellularStack.h
Copy edit for American English.
2018-03-02 14:38:08 +02:00
Amanda Butler 6dd0723dff Copy edit CellularUtil.h
Copy edit file for consistent capitalization and correct which/that.
2018-03-02 14:38:08 +02:00
Amanda Butler 00b1341297 Copy edit cellular_mux.h
Copy edit, mostly for spelling.
2018-03-02 14:38:08 +02:00
Amanda Butler a302a4be6d Copy edit OnboardCellularInterface.h
Copy edit file for active voice and removal of Latin abbreviations.
2018-03-02 14:38:08 +02:00
Amanda Butler dce649c97d Copy edit README.md
Copy edit file for active voice and consistent capitalization.
2018-03-02 14:38:08 +02:00
Ari Parkkila e53b93114e Typedef OnboardCellularInterface to EasyCellularConnection 2018-03-02 14:38:07 +02:00
Teppo Järvelin c9c3f85311 Changed state machine class name and implementation. 2018-03-02 14:38:07 +02:00