Vincent Coubard
4b8fb0be78
Nordic BLE: Fix return value verification
2018-06-22 09:36:06 +01:00
Vincent Coubard
b68e18cdb4
Nordi BLE: Fix formatting
2018-06-22 09:35:34 +01:00
Cruz Monrreal
34513f2a92
Merge pull request #7221 from pan-/cordio-port-test
...
Cordio: Add tests that validates a cordio port.
2018-06-21 23:30:39 -05:00
Kari Haapalehto
699811be72
Add binary drivers for MTB_USI_WM_BN_BM_22 and MTB_ADV_WISE_1530
2018-06-21 12:15:53 +03:00
Vincent Coubard
d2ecdb8900
Cordio BLE: Rewrite reset test strategy
...
The existing test was expecting that the acknowledgement of the reset command would be the first and only event receive. This assumption is false.
As a consequence, the new code parse all incoming packets and raise a flag in the following circumstances:
* a reset packet has been successfully received.
* RX stream is not synchronized
* The status of the reset command is an error.
Another test has been added that send a serie of reset commands.
2018-06-20 15:24:37 +01:00
Vincent Coubard
4f8a006f3b
Cordio BLE: Document in test what fields are expected to be set after init.
2018-06-20 12:01:28 +01:00
Vincent Coubard
5b7f7aa77b
Cordio BLE: Fix test failure when controller initialization failed.
2018-06-20 12:00:52 +01:00
Vincent Coubard
14e229e00a
Cordio: Add tests that validates a cordio port.
...
The first test focuse on the transport by testing that the reset sequence is
correctly sent to the controller and properly received.
The second test validates that the reset sequence fullfill the right state
of the stack and ensure that bluetooth initialization succeed.
2018-06-14 18:24:23 +01:00
Vincent Coubard
92fa40b1c7
Nordic BLE: Accept connection parameter update
...
A peer device that sends a connection parameter update may get block if it doesn't receive a response.
This patch accept the peer request unconditionnally. At some point this event will be managed by the application.
2018-06-13 15:54:51 +01:00
Vincent Coubard
5237c3ec40
Nordic BLE:
...
Cancel pairing if the device fail to allocate the resources necessary for the pairing operation.
2018-06-13 15:11:13 +01:00
Vincent Coubard
f0c3f14887
Nordic BLE: Fix pairing cancellation.
...
Depending on the role and the current state of the local device; pairing cancelation should be made with a call to a specific function. Normally the Nordic stack would reject invalid calls if the device is not in the correct state; therefore it was assumed that it was possible to detect the state from sd errors. Unfortunatelly this is not true with the latest softdevices as some calls succeed even if the device is not in the right state.
To solve that issue cancelation looks at the current state of the device first to select the right function that will trigger the pairing cancellation.
Note: the call to sd_ble_gap_authenticate was missing in the previous algorithm
2018-06-13 15:10:10 +01:00
Vincent Coubard
301e527af7
Nordic BLE: Store locally role for a given connection.
2018-06-13 15:03:43 +01:00
Vincent Coubard
5c7b8c8ea4
Nordic BLE: Add default parameter to get the local instance of nrF5xn
2018-06-13 15:02:45 +01:00
Vincent Coubard
8e7936d327
Nordic BLE: Improve return of nRF5xn::getGap.
...
Return the derived type instead of the abstract one. This is legal as C++ supports covariant returns.
2018-06-13 15:02:07 +01:00
Cruz Monrreal
02e90ef469
Merge pull request #7163 from pan-/cordio-driver-hook
...
Cordio driver hook
2018-06-11 08:49:49 -05:00
Cruz Monrreal
bacf6a9dec
Merge pull request #6860 from andrewleech/nordic_ble_config
...
Nordic BLE: Allow configuration of softdevice parameters
2018-06-07 10:10:23 -05:00
Vincent Coubard
06d9aac14c
Cordio BLE: Allow replacement of hci RX handler.
2018-06-07 12:30:34 +01:00
Vincent Coubard
569fd9ed30
Cordio BLE: Add hook to HCI driver and transport.
...
A friend class living in the namespace ble::vendor::cordio and named CordioHCITransportDriver can be added in applications requiring access to internal data of the HCI driver and HCI transport driver.
This is meant to be internal and not easily exploitable by application code.
2018-06-07 12:29:57 +01:00
Cruz Monrreal
20a4412082
Merge pull request #7089 from paul-szczepanek-arm/fix-master
...
BLE fixes (SM whitelist creation, Nordic scatter file fix, missing TLS initialisation)
2018-06-04 10:44:54 -05:00
Anna Bridge
2d0e5f04b1
Merge pull request #6022 from andrewleech/nrf_asserts_error
...
nrf5x: Enable asserts -> mbed_error
2018-06-04 12:24:58 +01:00
Vincent Coubard
4d0126898c
BLE Nordic: Initialize and teardown tls platform context
2018-06-01 17:12:49 +01:00
paul-szczepanek-arm
e534f3b997
fix erroneous assert
2018-06-01 15:57:51 +01:00
Andrew Leech
bf313aa1db
Move mbed_lib.json from targets folder to feature_ble folder
...
The functionality added all affects BLE features in use so this location is a better fit.
2018-06-01 13:37:16 +10:00
Andrew Leech
ff5ca11253
Allow configuration (via defines) of some of the key settings for the NRF51 softdevice.
...
* CENTRAL_LINK_COUNT
* PERIPHERAL_LINK_COUNT
* gatts_enable_params.attr_tab_size
* gatts_enable_params.service_changed
* common_enable_params.vs_uuid_count
These settings control the range of functionality enabled in the softdevice as well as ram consumption.
In particular reducing these values is critical to enable usage of 16K nrf51 devices.
2018-06-01 13:23:01 +10:00
Donatien Garnier
5da5ef45c0
Cordio H4: Added some comments explaining the use of RawSerial as opposed to using Serial
2018-05-31 11:11:28 -05:00
Donatien Garnier
0cb86ded76
BLE: Replace Serial with RawSerial in Cordio H4 Transport Driver
2018-05-31 10:28:45 -05:00
Cruz Monrreal
791620c428
Merge pull request #6932 from paul-szczepanek-arm/security-manager-dev
...
BLE privacy, signing, persistent security database
2018-05-24 10:07:06 -05:00
Vincent Coubard
db4d14c89d
BLE NRF52: Fix advertising filtering when no bonds are present.
2018-05-23 17:27:18 +01:00
Vincent Coubard
ef208912a6
BLE NRF52: Report correct own address type for connection
...
The function that gets the address doesn't work when privacy is enabled; report own address as private resolvable.
2018-05-23 17:27:18 +01:00
Vincent Coubard
30dac7cd8c
BLE NRF52: Fix identity address flag in connection request.
2018-05-23 17:27:07 +01:00
Vincent Coubard
cfe325cf0e
BLE NRF51: Do not filter advertising packet in peripheral if the device as no bond.
2018-05-22 17:40:18 +01:00
Vincent Coubard
ba61c09ffc
BLE NRF51: Resolve private address on connection in peripheral role
...
Soft device inconsistency: The address is not resolved automatically if the device is a peripheral.
2018-05-22 17:39:03 +01:00
Vincent Coubard
755cf5fa5f
BLE NRF51: Defer connection to a common function.
...
The soft device is not consistent as it is required to force the connection to a resolved resolvable address so it should be known if the target is an identity address.
2018-05-22 17:37:57 +01:00
Vincent Coubard
d427fcfb59
Nordic BLE: Remove dependency to mbedtls for CryptoToolbox::ah.
2018-05-22 17:33:49 +01:00
Andrew Leech
67140a2706
Redirect NRF asserts to mbed error() in TARGET_NRF5x and SDK 14.2
...
Add related details to TARGET_NRF5x Readme's
2018-05-22 11:36:31 +10:00
Andrew Leech
cfd248ee05
Enable ASSERTS's in nrf sdk to catch coding errors.
...
These will now flow through to mbed standard error handling.
2018-05-22 11:36:30 +10:00
Vincent Coubard
cc286fe84c
BLE: Cordio pal: Handle enhanced connection events.
2018-05-21 13:22:53 +01:00
Vincent Coubard
57ffa14b4b
Nordic BLE: Backport privacy backward compatibility to NRF51
2018-05-21 13:21:46 +01:00
Vincent Coubard
14a1095c31
Nordic BLE: Disable secure connection support on NRF51.
2018-05-21 10:34:09 +01:00
Vincent Coubard
4c1a309117
Nordic BLE: Set own resolvable address to NULL.
...
This address is not accessible to the application.
2018-05-21 10:22:01 +01:00
Vincent Coubard
d962fc0174
BLE: factor code in GAP.
2018-05-21 10:20:43 +01:00
Vincent Coubard
28766bd873
BLE: Do not pass peer resolvable address in connection event handler
2018-05-21 10:17:44 +01:00
Vincent Coubard
c3bcd10cfd
BLE NRF52: Implement features related to peer_address_t
...
The overload of Gap::connect that accept peer_address_t has been added and gap connection and advertising report process have been updated to exploit peer_address_t in a backward compatible fashion.
2018-05-18 10:09:07 +01:00
paul-szczepanek-arm
57a02d6329
fixed signature
2018-05-16 16:54:47 +01:00
Vincent Coubard
37c036ca6b
Nordic: Port privacy to softdevice v4.
...
Many things have changed; the identity list isn't shared anymore with the whitelist and resolution is handled by the stack itself.
2018-05-16 16:16:06 +01:00
Vincent Coubard
6c44a78166
Merge branch 'master' of https://github.com/ARMmbed/mbed-os into security-manager-dev
2018-05-16 15:55:15 +01:00
Donatien Garnier
3f7a7a4213
Merge
2018-05-16 12:44:36 +01:00
Donatien Garnier
1fdb57e82c
Removed set_privacy() API and added is_privacy_supported() check to PAL + Generic GAP
2018-05-16 12:02:21 +01:00
Vincent Coubard
afcbdfc7dc
Merge branch 'security-manager-dev' of https://github.com/paul-szczepanek-arm/mbed-os into filedb
2018-05-16 08:43:52 +01:00
Vincent Coubard
2cb6e659a9
Nordic BLE: Backport security fixes from nRF5 to nRF5x
2018-05-15 15:11:33 +01:00
Vincent Coubard
ca5a9f359a
Nordic BLE: remove unecessary nordic ble libraries.
2018-05-15 14:51:19 +01:00
Vincent Coubard
a22b4e5d5e
Nordic BLE: Remove nordic gap init.
...
This initialization is already done in GattServer.
2018-05-15 14:51:18 +01:00
Vincent Coubard
dd6a5350e2
Nordic BLE: Remove peer manager handling.
2018-05-15 14:51:18 +01:00
Vincent Coubard
6f24078507
Nordic BLE: route event handling correctly.
2018-05-15 14:51:18 +01:00
Vincent Coubard
167a660ac1
Nordic BLE: use pal security manager.
2018-05-15 14:51:18 +01:00
Vincent Coubard
31f8cd18f7
Nordic BLE: Backport Gap from nRF5
2018-05-15 14:51:18 +01:00
Vincent Coubard
39396955a2
Nordic BLE: simplify whitelist management.
2018-05-15 14:51:17 +01:00
Vincent Coubard
6810c02606
Nordic BLE: Fix processing of events.
...
If new events are signaled during processing then they should be processed when processEvent is called again. The goal is to let other processing happen and not process sollely ble events.
2018-05-15 14:51:17 +01:00
Vincent Coubard
8fbecf2e0d
Nordic BLE: Fix incorrect assignement
2018-05-15 14:51:17 +01:00
Vincent Coubard
68b3288ba8
Nordic BLE: Fix signature of nRF5xGattServer::hwCallback
2018-05-15 14:51:17 +01:00
Vincent Coubard
4a7c9a9a55
Nordic BLE: expose publically btle_handler
2018-05-15 14:51:17 +01:00
Vincent Coubard
2af5508c4c
Nordic BLE: Do not conditionnaly assign sm key pointers.
...
This change has been forced by a change in latest softdevice that requires all key pointers to not be NULL unlike what is indicated in the documentation.
2018-05-15 14:51:17 +01:00
Vincent Coubard
dc54da0a2d
Nordic BLE: Force signing and link requirements to false.
2018-05-15 14:51:16 +01:00
Vincent Coubard
02e3c13d25
Nordic BLE: Protect event signaled flag.
2018-05-15 14:51:16 +01:00
Vincent Coubard
f7f1272647
Nordic: Backport security manager pal for NRF5X targets.
2018-05-15 14:51:15 +01:00
Vincent Coubard
4acb3937e4
Cordio BLE: Fix potential memory leak in GattServer.
2018-05-15 14:32:29 +01:00
Donatien Garnier
472d3de849
Give GenericGap access to the Security Manager's PAL
2018-05-14 13:36:02 +01:00
Donatien Garnier
a3d9d6cebd
Business logic for handling non-resolvable private addresses
2018-05-14 13:26:39 +01:00
Bartek Szatkowski
38df9306d7
Update wsf_types.h to support updated CMSIS
2018-05-14 12:18:21 +01:00
Donatien Garnier
2509a88d58
Revert set_privacy() in Cordio GAP PAL impl
2018-05-13 20:37:14 +01:00
Donatien Garnier
1a623e6670
Added method to enable/disable privacy in GAP Pal with Cordio impl
2018-05-13 19:15:20 +01:00
Donatien Garnier
5734fca195
Added set_address_resolution method in GAP Pal with Cordio implementation
2018-05-13 18:53:23 +01:00
Donatien Garnier
33c46f5658
Remove LL resolving 'shorcut' when adding a device to resolving list - this should be controlled by the GAP layer
2018-05-13 17:49:00 +01:00
Cruz Monrreal
2104d8ab5b
Merge pull request #6711 from marcuschangarm/cleanup-nrf5x
...
Cleanup TARGET_NRF5 and TARGET_NRF5x
2018-05-11 19:15:05 -05:00
Donatien Garnier
40b6813dcf
Fix wrong use of DmLlPrivEnabled()
2018-05-11 18:52:27 +01:00
Donatien Garnier
71bd30daf3
More inline doc
2018-05-11 18:37:02 +01:00
Donatien Garnier
bcfbeb7f1a
Some doc adjustments
2018-05-11 18:23:37 +01:00
Donatien Garnier
3ca3c2db2c
Initial implementation of the Security Manager's Privacy feature for Cordio
2018-05-11 18:20:39 +01: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
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
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
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
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
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
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