Commit Graph

548 Commits (75dcacd33a15e009ca62adb15a43f68ad9aa0bd7)

Author SHA1 Message Date
fred.li 88cf7df286 1, Restrict access to 1st 4K of flash
2, Merge UNISOC change for auto reconnect patch
2019-11-19 12:08:05 +08:00
Martin Kojtal 609612c1f2
Merge pull request #11840 from morser499/pr/whd1.50
Update Cypress WifiHostDriver to version 1.50
2019-11-12 13:56:35 +01:00
Martin Kojtal f61979ab31
Merge pull request #11843 from kapi90/master
Fix ethernet memory handling issues on CM3DS
2019-11-12 13:56:13 +01:00
Bence Kaposzta 4dd7712ac7 Fix ethernet memory handling issues on CM3DS
Signed-off-by: Bence Kaposzta <bence.kaposzta@arm.com>
2019-11-12 10:57:20 +01:00
Ryan Morse 799146ba2f Move WHD from being a Target to being a Component 2019-11-11 15:12:02 -08:00
Martin Kojtal 4f6ca1512a
Merge pull request #11827 from ABOSTM/DISCO_H747I_ETHERNET_READY
DISCO STM32H747I ETHERNET support, but disabled.
2019-11-11 16:56:36 +01:00
Bence Kaposzta 647216299f Fix ethernet memory handling issues on CM3DS
Signed-off-by: Bence Kaposzta <bence.kaposzta@arm.com>
2019-11-11 15:32:50 +01:00
Bence Kaposzta d5e89a25c6 Fix ethernet memory handling issues on CM3DS
Signed-off-by: Bence Kaposzta <bence.kaposzta@arm.com>
2019-11-11 14:39:08 +01:00
jeromecoutant 7fcedd20e1 DISCO STM32H747I ETHERNET support, but disabled.
Ethernet is disabled by default,
because some hardware modifications are required on the board DISCO_H747I.
see https://os.mbed.com/teams/ST/wiki/DISCO_H747I-modifications-for-Ethernet
2019-11-08 16:05:00 +01:00
Michal Paszta 4e5ea38d14 nsapi_dns: use delete[] for array alloc'd with new[] 2019-11-05 22:39:58 +02:00
Martin Kojtal 0d0120a812
Merge pull request #11808 from michalpasztamobica/api_hardening
Document Socket API functions return values.
2019-11-05 09:46:54 +01:00
Martin Kojtal fe940924cc
Merge pull request #11683 from AnttiKauppila/baremetal_support
Baremetal profile fixes
2019-11-04 15:53:57 +01:00
Martin Kojtal 412b0ae5d5
Merge pull request #11375 from tymoteuszblochmobica/nsapi_dns
NSAPI DNS query IP version check for non LWIP stacks.
2019-11-04 15:30:28 +01:00
Martin Kojtal f27aec3377
Merge pull request #11279 from cy-jayasankar/pr/added-ipv6-link-local-address-api
Add API to get ipv6 link local address
2019-11-04 15:28:41 +01:00
Michal Paszta 87211e9158 Document Socket API functions return values.
Describe the return values with as much detail as possible, to let user only check the relevant return codes, instead of all nsapi_error_t. Refer to underlying APIs wherever possible.
2019-11-04 11:55:19 +02:00
Antti Kauppila 0b8cd38dcd Baremetal profile fixes 2019-11-01 15:12:19 +02:00
Jayasankar Nara cb51fa57e2 Add API to get ipv6 link local address.
Protocols like mdns requires IPv6 link local address to be advertised in its
records (AAAA record). LWIP::Interface::bringup() API is creating IPv6 link
local address;But as of now there is no API exposed by mbed-os to get the
IPv6 link local address.

This new API is required to deliver mDNS library support on mbed-os for Cypress
platforms. Unit tested it by invoking get_ipv6_link_local_address with a simple
application.
2019-11-01 03:43:36 +05:30
Martin Kojtal da6b336391
Merge pull request #10978 from vmedcy/lwip-rawsocket
LwIP: add ICMPv4 Socket support
2019-10-31 11:50:21 +01:00
Martin Kojtal 419556b84a
Merge pull request #11735 from michalpasztamobica/dns_unittest_preparation
Dns unittest preparation
2019-10-30 11:04:19 +01:00
Martin Kojtal 98072b24c8
Merge pull request #11748 from cydriftcloud/pr-dev/fix-spurious-link-down-up
Fix spurious link up/down when AP IP address range change
2019-10-28 09:28:54 +01:00
Balaji 6905b1b547 Incorporate review comments from @kjbracey-arm 2019-10-25 10:51:50 -07:00
Balaji 5168bbdcd0 Add InternetDatagram Base Class 2019-10-25 10:48:13 -07:00
Balaji ab883350a0 Incorporate review comments from @kjbracey-arm 2019-10-25 10:48:12 -07:00
Balaji 90e188b23a fix a style convention 2019-10-25 10:48:12 -07:00
Balaji 0b5dea5f99 Changes to the PR 10978 (LWIP: Add RAWIPSocket support) 2019-10-25 10:48:12 -07:00
Martin Kojtal a44fd827c2
Merge pull request #11578 from cydriftcloud/pr-dev/ap-sta-op-sync
Add synchronization and switching between WhdSoftAPInterface and WhdSTAInterfaces
2019-10-25 13:36:10 +02:00
Lei Zhang d411d72196 MIDDLEWARE-2134: Fix spurious link up/down when AP IP address range changes
Fixed additional link down/up events in whd_wifi_link_state_change_handler by checking additional condition during the transition.
2019-10-24 18:43:07 -07:00
Martin Kojtal ab931ee27c
Merge pull request #11662 from cydriftcloud/pr-dev/sta-extended-scan
Allow WhdAccessPoint scan results with extended parameters
2019-10-24 10:26:07 +02:00
Lei Zhang 28884b589c Add synchronization and switching between SoftAP/STA
- A shared mutex is added for synchronization
- ScopedMutexLock is used to to protect
  - SoftAP: start, stop
  - STA: scan, join, disconnect
- Fix switching issue between SoftAP and STA mode for primary interface
  - Avoid reinit primary interface by getting mapping the current interface to the other one which is already on
  - In concurrent mode, STA is the default if it is up, otherwise SoftAP is default.
  - For non-concurrent mode, the most recent started interface is set as default.
2019-10-23 18:31:20 -07:00
Lei Zhang 7b16166d51 Allow WhdAccessPoint scan result with extended parameters
- Add WhdAccessPoint to include additional WHD scan info
- To save memory, only move assignment is supported for WhdAccessPoint
- Add scan_whd to scan for WhdAccessPoint
- Set set_blocking(false) to unsupported by return NSAPI_ERROR_UNSUPPORTED
2019-10-23 14:43:07 -07:00
Martin Kojtal e7d95f5f2a
Merge pull request #11536 from jeromecoutant/PR_STM32_EMAC
STM32 EMAC configuration update
2019-10-23 13:10:10 +02:00
Michal Paszta 45976419b8 DNS: unified parameter type of nsapi_dns_query_async_cancel 2019-10-23 11:58:15 +03:00
Michal Paszta 83af4e0b36 DNS: Cast void* to intptr_t in nsapi_dns.cpp
This is for portability reasons. If this code was compiled to a 64-bit architecture, then the cast from void* to int would lose precision.
2019-10-23 11:58:00 +03:00
Martin Kojtal f6c28e54b6
Merge pull request #11586 from AnttiKauppila/lwip_improvements
Cleaned up Mbed LWIP configurations
2019-10-21 09:35:52 +02:00
Martin Kojtal 4af05bb370
Merge pull request #11648 from rohfle/target-olimex-stm32e407
OLIMEX_STM32E407_F407ZG: Added new target platform
2019-10-18 16:05:05 +02:00
Michal Paszta 3d596468b4 Fix memory leak on NetworkInterface destruction
We dynamically allocate memory in every add_event_listener(), but we do not free it on NetworkInterface destruction.
2019-10-14 10:58:18 +03:00
Rohan Fletcher 02df759c37 OLIMEX_STM32E407_F407ZG: Added new target platform
Added Olimex STM32-E407 (STM32F407ZG) evaluation board.
USB, UART, External HS XTAL and Ethernet are all working correctly.
2019-10-10 09:20:28 +13:00
Tymoteusz Bloch b8a18e29bd NSAPI DNS query IP version check for non LWIP stacks. 2019-10-08 17:50:51 +02:00
jeromecoutant af8ab49a74 Avoid compilation if target doesn't support EMAC 2019-10-07 14:01:48 +02:00
jeromecoutant 587393bb45 STM32 EMAC: move from TARGET_STM_EMAC to TARGET_STM 2019-10-07 10:57:31 +02:00
Anna Bridge eeb033f814
Merge pull request #11357 from kivaisan/offloaded_tlssocket_bg96
Offloaded TLSSocket and BG96 support for it
2019-10-03 11:54:32 +01:00
Antti Kauppila d34a40a745 Cleaned up Mbed LWIP configurations 2019-09-27 15:52:40 +03:00
Kimmo Vaisanen b319be14e8 Offloaded TLSSocket for BG96
Some external modems have an internal TLSSocket implementation which can be used
instead of mbedtls based TLSSocket. Using offloaded TLSSocket can result in
significantly reduced ROM usage.

Offloaded TLSSocket can be enabled by enabling "nsapi.offload-tlssocket" and the used
network stack (e.g. cellular modem's CellularStack class) must support the setsockopt's
defined in nsapi_types.h.

Compared to original mbedtls based TLSSocket, offloaded TLSSocket brings in one significant
API limitation. Offloaded TLSSocket requires setting of certificates and keys after open()
and before connect() calls, where mbedtls based TLSSocket allows setting these before open()
call.
2019-09-25 09:25:33 +03:00
Antti Kauppila 6adc2440a3 DNS manual cleanup mechanism added 2019-09-20 10:20:48 +03:00
Martin Kojtal 3297bf4062
Merge pull request #11420 from tymoteuszblochmobica/cm3ds
Fixed smsc9220_emac link_out memory management.
2019-09-10 19:52:44 +02:00
Tymoteusz Bloch 2626d90266 Fixed msc9220_emac link_out memory management. 2019-09-04 13:59:36 +02:00
Martin Kojtal 208d703b7e
Merge pull request #11338 from cydriftcloud/pr/psoc6-softap-bringdown
Bring down interface when stopping softap
2019-09-04 11:54:23 +02:00
Antti Yli-Tokola 1708ec2a3f nsapi_dns: cleanup dns queue when running out or memory 2019-09-03 13:56:21 +03:00
Lei Zhang 5a3562a76b Bringdown interface when stopping softap
The interface should be brought down when stopping softap.
2019-08-30 08:59:36 -07:00
Martin Kojtal c99b150bcf
Merge pull request #11356 from kyle-cypress/pr/whd-link-state-fix
Fix WHD link state change event handling
2019-08-30 07:44:40 +02:00
Martin Kojtal a65ed8c3d8
Merge pull request #11303 from jeromecoutant/PR_H743ZI2_480
NUCLEO_H743ZI2 : increase system clock from 400 MHz to 480 MHz
2019-08-29 17:10:06 +02:00
Lei Zhang 0b2e7bbef9 Use event handlers for link state callback
Allows DHCP to listen for device disconnect and refresh ip lease on reconnect.
2019-08-29 07:19:46 -07:00
Martin Kojtal 8ef742a49c
Merge pull request #11370 from u-blox/ublox_odin_driver_os_5_v3.7.1_rc1
Driver Updates + ARMC6 driver support + WIFI fixes
2019-08-29 13:35:06 +02:00
aqib-ublox 7f36fbc86e Driver Updates + ARMC6 driver support + wifi fixes 2019-08-29 11:33:29 +05:00
Kyle Kearney 8abada11f6 Add missing newlines to end of files 2019-08-28 10:56:15 -07:00
Lei Zhang b27653af6f Use individual headers instead of "mbed.h" 2019-08-28 10:56:15 -07:00
Kyle Kearney 26940e5c22 Add support for DHCP server with WHD 2019-08-28 10:56:15 -07:00
Kyle Kearney e64fdba7fc Update BSP and WifiInterface for WHD Changes 2019-08-28 10:56:14 -07:00
Martin Kojtal 7eb97be5a3
Merge pull request #11358 from 0xc0170/dev_rollup
Rollup PRs for 5.14
2019-08-28 16:39:36 +02:00
Martin Kojtal 67d1bb180b
Merge pull request #11319 from kyle-cypress/pr/whd-1.30-update
Update WHD to 1.30.0
2019-08-28 16:11:24 +02:00
Antti Kauppila 2aac56f79a NetworkInterface set_blocking() doxygen corrected 2019-08-28 13:12:07 +01:00
Kyle Kearney 33493b12d9 Update WHD clients for interface changes 2019-08-26 16:05:47 -07:00
Martin Kojtal 02d1873c06
Merge pull request #11266 from u-blox/feature_adc_temp_conf
ADC internal temperature support and EMAC header fix
2019-08-26 11:08:47 +02:00
jeromecoutant 11e39febf6 STM EMAC : NUCLEO_H743ZI2 add 2019-08-23 09:46:56 +02:00
jeromecoutant b705a9894a STM EMAC : STM32H7 directory restructure 2019-08-23 09:46:17 +02:00
Martin Kojtal edcde1ce8c
Merge pull request #10796 from NXPmicro/tickless
NXP: Enable MBED_TICKLESS on various NXP platforms
2019-08-22 10:30:14 +02:00
Martin Kojtal d0c917cb32
Merge pull request #11274 from VVESTM/vve_eth_h7
Add ethernet support on NUCLEO_H743ZI board
2019-08-22 09:42:45 +02:00
Vincent Veron 8ab6aecbe9 Move stm32xx_emac_config.h to family specific folder
This allows to specify which hal version to use for each family.
It can also be used to modify the thread stack size.

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-08-21 15:02:45 +02:00
Martin Kojtal 399b517a47
Merge pull request #10974 from mikaleppanen/nano_ppp
Created PPP interface and PPP service classes to netsocket
2019-08-21 14:54:31 +02:00
Martin Kojtal 476ce097b9
Merge pull request #11104 from tejanarahari/pr/enterprise-security-feature-support-pr2
Enterprise security support
2019-08-21 14:52:56 +02:00
Vincent Veron 9f2e9aa576 Add EMAC support for NUCLEO_H743ZI
This port is based on :
    * CurryGuy ethernet branch :
        https://github.com/CurryGuy/mbed-os/tree/feature-stm32h7-emac
    * STM32 Cube example :
        Applications/LwIP/LwIP_HTTP_Server_Netconn_RTOS example

Signed-off-by: Vincent Veron <vincent.veron@st.com>
2019-08-21 11:40:48 +02:00
Martin Kojtal ff4dac9853
Merge pull request #11244 from AriParkkila/cell-dns-count
Netsocket: Change DNS retry and total attempt counts
2019-08-21 09:44:19 +02:00
aqib-ublox 80e30f4258 ADc internal temperature suuport and EMAC header fix 2019-08-20 18:44:22 +05:00
Mika Leppänen 4e60d2f39c Corrected PPP thread stack sizes and network interface
Corrected PPP thread stack size for RZ_A1_EMAC, CYW943012P6EVB_01,
CY8CPROTO_062_4343W, CY8CKIT_062_WIFI_BT and CY8CKIT_062S2_43012
that have special configuration for PPP thread size. Removed
pppInterface() helper call from network interface. It causes binary
compatibility break with precompiled network interface classes. Call
is helper function to check network interface type in case it is
unknown, and is not mandatory or used with PPP.
2019-08-20 13:37:13 +03:00
Mika Leppänen 3b20d9ea42 Increased PPP stack size based on testing
Increased stack size from 768 to 816.
2019-08-20 13:37:12 +03:00
Mika Leppänen 3102bb1340 Removed pbuf operations that were commented out 2019-08-20 13:37:12 +03:00
Mika Leppänen c9cb8f8296 Created netsocket classes for PPP service and PPP interface
PPP service encapsulates the PPP protocol. PPP interface can be used as
helper class to bind PPP protocol with network stack (similar to
EMAC and L3IP interface). Added PPP interface to onboard network
stack class.
2019-08-20 13:27:54 +03:00
Mika Leppänen a1e3a5d901 Created PPP service class
Created PPP service class that encapsulates the PPP protocol.
Class is similar to EMAC and L3IP classes with additional methods
to read IP and DNS server addresses negotiation using PPP and
to set PPP specific parameters (file handle for modem access etc.).

PPP service can use on its own thread or in run in mbed os event
Queue thread.

Added ppp_nsapi.cpp module that implements the nsapi_ppp.h
services.

Added ppp_nsapi.cpp module that implements the nsapi_ppp.h
services.
2019-08-20 13:27:54 +03:00
Kari Haapalehto c518319fa3 Moved PPP from lwip directory to under netsocket
Moved PPP and renamed files and constants.
2019-08-20 13:27:54 +03:00
Martin Kojtal 64fb49e4ec
Merge pull request #11169 from dmaziec1/TLSSocketWrapper_recvfrom_modified
TLSSocketWrapper::recvfrom sets SocketAddress output variable
2019-08-20 09:41:39 +02:00
Ari Parkkila 2934a692c9 Netsocket: Change DNS retry and total attempt counts 2019-08-16 03:51:43 -07:00
Mahesh Mahadevan 85ef683bfc MCUXpresso: Update ENET drivers to not enter deep sleep when active
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-08-12 10:57:08 -05:00
Seppo Takalo 976c30c52b
Merge pull request #11162 from AriParkkila/cell-dns
Add DNS servers from cellular PDP to nsapi
2019-08-07 14:06:49 +03:00
Michal Paszta 73b122b2c4 Coverity and compilation warnings fixes 2019-08-07 10:30:52 +03:00
Dominika Maziec e9059c214c TLSSocketWrapper::recvfrom sets SocketAddress output variable
UNITTEST added. TLSSocketWrapper unittest does not use stoip4_stub anymore.
2019-08-06 15:07:39 +02:00
Teja Narahari d84b47728a Enterprise security support 2019-08-06 14:46:37 +05:30
Ari Parkkila 3f74a7f6f9 Fix nsapi_dns_add_server to add a server just once 2019-08-05 03:11:06 -07:00
Volodymyr Medvid 85a5bc0bf9 PSOC6: apply astyle to WHD EMAC driver implementation 2019-07-08 15:58:46 +03:00
Volodymyr Medvid 572221446f PSOC6: add WHD EMAC driver 2019-07-08 14:49:26 +03:00
Kimmo Vaisanen df1d36ebb2 Increase dns-response-wait-time
In some cellular networks or with some modems, DNS response can take longer than 5 seconds to arrive.
2019-06-27 15:27:01 +03:00
Antti Yli-Tokola b5661ff16c TLSSocket: print certificate info only when tracing is enabled
Flagging these functions out will reduce flash size more than 3k.
2019-06-19 10:05:10 +03:00
Anna Bridge fc645bc3ed
Merge pull request #10805 from kjbracey-arm/armc5_blinky
Fix ARMC5 compilation
2019-06-11 15:07:43 +01:00
Kevin Bracey 6df6decdfc Fix ARMC5 compilation
Minor tweaks to fix ARM C 5 compatibility.

Pushing "ns_list.h" include to first makes sure "ns_types.h" is included
first, meaning it gets to define `__STDC_LIMIT_MACROS` before the first
include of <stdint.h>, which ensures that UINT8_MAX etc are defined.
2019-06-11 13:00:14 +03:00
Tymoteusz Bloch 4005c77f21 LWIP DNS servers setting/getting fixed. 2019-06-07 18:58:05 +02:00
Kevin Bracey 2fbbd9d2ca Introduce Semaphore::acquire methods
Deprecate wait() in favour of acquire(), try_acquire(),
try_acquire_for() and try_acquire_until().

Brings Semaphore more into line with CMSIS-RTOS 2 (which uses "acquire"),
itself (as it has "release"), and other classes having "try", "try for"
and "try until".

Also steps away from vague "wait" term - the primary operation here is
to acquire the semaphore, and this will of course sleep.
2019-05-28 17:02:06 +03:00
Arto Kinnunen 9687f59555 Update mesh related configuration help texts
-Update mbed-mesh-api nanostack heap-size configuration help
-Add WISUN to netsocket default-mesh-type configuration help
2019-05-20 13:29:53 +03:00
Martin Kojtal d4122b0b3a
Merge pull request #10454 from u-blox/ublox_odin_driver_os_5_v3.7.0_rc1
Enterprise_mode_+_wifi_configuraiton_api: update ODIN drivers to v3.7.0 RC1
2019-05-20 10:54:45 +01:00
Martin Kojtal 3ea1c56124
Merge pull request #10147 from kjbracey-arm/atomic_bitwise
Assembler atomics
2019-05-13 14:18:05 +01:00
aqin 43759c0c4b Enterprise mode + wifi configuraiton api 2019-05-08 17:52:04 +05:00
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00