Commit Graph

524 Commits (cd3bb0d121a549c53c48ab9822efcb4ff57c390c)

Author SHA1 Message Date
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
蔡雪 (Xue Cai) d6730f5afc Update wifi driver for rda target UNO_91H 2019-04-24 11:29:50 +08:00
Kevin Bracey 6fe50763f3 i.MX RT1050: Reactivate data cache
Since commit 12c6b1bd8, the i.MX RT1050 has effectively had its data
cache disabled, as the SDRAM was marked Shareable; for the Cortex-M7,
shareable memory is not cached.

This was done to make the Ethernet driver work without any cache
maintenance code. This commit adds cache maintenance and memory barriers
to the Ethernet driver, and removes the Shareable attribute from the
SDRAM, so the data cache is used again.

Cache code in the base fsl_enet.c driver has not been activated - the
bulk of it is in higher-level Read and Write calls that we're not using,
and there is one flawed invalidate in its initialisation. Instead
imx_emac.cpp takes full cache responsibility.

This commit also marks the SDRAM as read/write-allocate. As the
Cortex-M7 has its "Dynamic read allocate mode" to automatically switch
back to read-allocate in cases where write allocate is working poorly
(eg large memset), this should result in a performance boost with no
downside.

Activating write-allocate is also an attempt to provoke any flaws in
cache maintenance - the Ethernet transmit buffers for example will be
more likely to have a little data in the cache that needs cleaning.
2019-04-04 12:06:24 +03:00
Mahesh Mahadevan 65942ba906 MIMXRT1050: Fix ENET issues
This is a fix for Issue 10239. The change aligns
the receive buffer lengths

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-04-03 08:18:58 -05:00
Kevin Bracey 9ad90691a3 CellularBase -> CellularInterface tidy
Remove remaining references to deprecated CellularBase in code, avoiding
one warning.

Add deprecation to Doxygen.
2019-03-20 10:12:14 +02:00
Cruz Monrreal dbb33ef423
Merge pull request #9801 from vmedcy/fix-eventqueue-h
Correctly include EventQueue.h
2019-03-16 22:52:40 -05:00
Martin Kojtal 5252163534
Merge pull request #9900 from michalpasztamobica/dns_async_handle_would_block
DNS send returning WOULD_BLOCK forces delayed retry
2019-03-14 13:01:20 +01:00
Martin Kojtal c0c02e2bd8
Merge pull request #9872 from KariHaapalehto/burst_nonblock_test_fix
Fix for NUCLEO_F207 UDPSOCKET_ECHOTEST_BURST_NONBLOCK fails.
2019-03-14 09:16:59 +01:00
Michal Paszta ee056daf86 DNS recv/send returning WOULD_BLOCK force delayed retry 2019-03-11 13:33:06 +02:00
kegilbert 194fa129fb Update recently added previous macro name uses in tests 2019-03-01 13:53:47 -06:00
kegilbert 8cef1904c5 Move socket-stats-enable to socket-stats-enabled.
This conforms with the other stats config option names
2019-03-01 13:31:33 -06:00
Martin Kojtal 6bdbe754cd
Merge pull request #9799 from VeijoPesonen/bugfix-esp8266-dns
Increase events.share-eventsize to 768B because of ESP8266 AT driver and asynchronous DNS
2019-02-27 11:30:38 +01:00
Kari Haapalehto 7de864c465 Fix for NUCLEO_F207 UDPSOCKET_ECHOTEST_BURST_NONBLOCK fails.
Increase eth-rxbufnb from 1 to 2 will fix the problem
2019-02-27 10:33:24 +02:00
Veijo Pesonen 517799fd06 NetworkStack: halts if unable to add an event to the event queue 2019-02-26 09:44:15 +02:00
d-kato 78923d8135 Add missing license description to RZ/A1 driver 2019-02-26 11:52:29 +09:00
Cruz Monrreal 044d0c9cb1
Merge pull request #9778 from michalpasztamobica/add_missing_wifi_config_params
Add missing wifi parameters to test configs
2019-02-25 17:30:36 -06:00
Michal Paszta 42404be824 Change all wifi and WiFi occurences to Wi-Fi 2019-02-25 14:54:18 +02:00
Seppo Takalo 7a33700bb4 Replace Copyright ARM with a proper Apache 2 license header 2019-02-25 14:17:42 +02:00
Seppo Takalo b14df9e0de Add missing copyright header to STM32 driver 2019-02-25 14:09:36 +02:00
Michal Paszta 08b06e25d0 Document network parameters in netsocket/mbed_lib.json 2019-02-22 10:13:21 +02:00
Volodymyr Medvid b0a33273ff Correctly include EventQueue.h
There are two EventQueue.h in mbed-os codebase:
events/EventQueue.h
features/FEATURE_BLE/ble/pal/EventQueue.h

By accident, `mbed compile` generates includes.txt with the correct
order of include search paths. This is not the case for the CMake
exporter: targets with FEATURE_BLE enables fail to compile with errors:

mbed-os/features/cellular/framework/AT/ATHandler.h:99:60: error:
'events' has not been declared

Update all places to always include either "events/EventQueue.h"
or "ble/pal/EventQueue.h": to always find the correct header.
2019-02-21 17:59:05 +02:00
Martin Kojtal dbd92c746b
Merge pull request #9387 from tymoteuszblochmobica/Sockets
Multihoming initial release
2019-02-21 13:50:03 +01:00
Cruz Monrreal b088bd493a
Merge pull request #9759 from michalpasztamobica/memory_handling_fixes
Multiple memory handling fixes
2019-02-20 12:07:45 -06:00
Martin Kojtal 5ada4bf9af
Merge pull request #9746 from blind-owl/retire_cellularbase_class
Cellular: retire CellularBase class
2019-02-20 15:30:43 +01:00
Tymoteusz Bloch 641189c357 Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00