Commit Graph

609 Commits (4b3cddff2a66d5b13ad861e8782d1d630c2479c1)

Author SHA1 Message Date
Kevin Bracey f40c5616e1 Inline nsapi_create_stack(NetworkStack)
The rather fiddly `nsapi_create_stack` template + overloads used during
socket formation don't inline their core, which is the identity operation
for `NetworkStack *` itself. Make code generation easier by having that
core be inline.
2020-02-21 15:13:14 +02:00
Martin Kojtal 8f1bf967d3
Merge pull request #11942 from michalpasztamobica/remove_deprecated_apis
IPCore String-based API removal
2020-02-21 12:14:06 +00:00
Arto Kinnunen da04cc3fcf Update STM32 EMAC driver based on review
-Fix len type
-Use ETH_RX_BUF_SIZE instead of hard-coded value 1500
2020-02-21 10:26:57 +02:00
Arto Kinnunen 6a410f89eb Update STM32 EMAC driver - limit RX frame length
DISCO_F769NI EMAC driver may return ethernet packet with illegal
length when driver is under heavy load. In one case, the received
bytes indicate frame length of 53 bytes but advertised data length
was 65518 bytes. In another case EMAC driver variable
`EthHandle.RxFrameInfos.length` contained value 0xFFFF FFFC.

As a work-around accept only 1-1500 bytes long ethernet packets.
2020-02-21 10:26:40 +02:00
Martin Kojtal 9f5ced30dc
Merge pull request #12415 from jeromecoutant/PR_H7README
STM32H7 : add readme file for dual core use
2020-02-19 12:52:10 +00:00
jeromecoutant 0c8add6e28 DISCO_H747I_CM4 compilation issue
SCB_DisableDCache() function is only available for M7 core.
2020-02-12 09:14:58 +01:00
Zhiyonh Li 128d5b5170 Update mbed_lib.json 2020-02-10 23:26:28 -08:00
Zhiyonh Li 884f9c99e3 Fixed bug that EthernetInterface doesn't detect change of connection status on ARCH_MAX board.
ARCH_MAX board uses 0x01 as PHY address, different from other NUCLEO STM32 boards. To faciliate change of PHY address of customized boards, a configuration entry eth-phyaddr was added and can be overriden as needed in mbed_app.json by adding "stm32-emac.eth-phyaddr": X. Macro ETH_ARCH_PHY_ADDRESS was also renamed to ETH_PHY_ADDRESS, because it is not only used by ARCH_MAX board but also other boards.
2020-02-10 17:56:09 -08:00
midd 5f496a694c Add missing error checks for emac power up. 2020-02-07 10:25:15 -08:00
Michal Paszta f21b8c7fc1 Remove remaining string-based API functions
This removes any compiler warnings.
2020-02-06 11:27:50 +02:00
Michal Paszta 458957d399 IPCore deprecated string-based API removal
String-based functions should be replaced with an explicit DNS hostname resolution and a SocketAddress-based API.
2020-02-06 11:27:49 +02:00
Martin Kojtal 8dc15ee6e1
Merge pull request #12293 from mirelachirica/remove_empty_api
Cellular: Remove API's empty default implemetations
2020-02-06 09:05:40 +00:00
Martin Kojtal 8b829e5c41
Merge pull request #12312 from cy-arsm/cy-arsm/pr/ipv6-fix-SoftAPmode
Fix to sending IPV6 UPD packet fails IPv6 enabled in SoftAP intf
2020-02-03 16:55:09 +00:00
Arun S 18285e1fc1 Pairing fails when IPv6 enabled in SoftAP intf
Issue: udp_sendto() Fails for multicast IPV6 packet when interface is switched from SoftAP to STA mode.
When SoftAP start is called,  add_ethernet_interface() will be called internally to add interface details into  netif_list.
When switching from SoftAP to STA mode,  add_ethernet_interface() will be called again to append the interace details into netif_list.
When udp_sendto() is called, ip6_route() will return interface as NULL since it consider device as single interface.
Fix: SoftAP mode Stop, call remove_ethernet_interface() to remove the interface from the netif_list.
2020-01-29 15:07:52 +05:30
Anna Bridge 80fe861f1d
Merge pull request #12035 from kjbracey-arm/callback_prep
Preparation for Callback changes
2020-01-21 11:50:43 +00:00
Mirela Chirica e2048b06b2 Cellular: Remove API's empty default implemetations 2020-01-21 10:45:09 +02:00
Caleb Szalacinski e4e0225a0e Add KSZ8041 as a supported PHY for the LPC17xx series 2020-01-14 19:46:39 -06:00
Kevin Bracey d6a48b5124 Turn NULLs into nullptr
Avoids overload problems with Callback(nullptr) versus Callback(fnptr).
2020-01-09 14:52:54 +02:00
Martin Kojtal d4c2fd56a9
Merge pull request #12195 from mikaleppanen/ppp_trace_disable
Corrected PPP debug trace flagging
2020-01-07 16:41:15 +01:00
Martin Kojtal 3e790cc9ab
Merge pull request #12065 from AriParkkila/cell-fea-nidd
Non-IP socket implementation for NIDD over CP
2020-01-07 15:55:15 +01:00
Martin Kojtal 9d16a17e7e
Merge pull request #11653 from tymoteuszblochmobica/multiple
Add  Getaddrinfo interface for multiple DNS adresses
2020-01-07 14:53:36 +01:00
Mika Leppänen 9e41f1fc7d Corrected PPP debug trace flagging
Some parts of PPP debug traces were enabled also on non-debug builds.
Now they are correctly disabled. Corrected also compiler warnings
that became visible when trace macros were flagged (if clauses without
brackets).
2020-01-07 12:07:50 +02:00
Ari Parkkila 033402d597 Cellular: Change CellularNonIPSocket to poll before timeout 2020-01-06 22:35:18 -08:00
Ari Parkkila 7374b22191 Cellular: Change CellularNonIPSocket to singleton 2020-01-06 22:33:49 -08:00
Martin Kojtal 7fd637b66b
Merge pull request #12095 from NXPmicro/Update_MXRT_SDK6
Update MXRT1050 to SDK 6.0
2020-01-03 15:22:13 +00:00
Antti Kauppila ca7848d854 Refactored away onboard_modem_api because it is not needed at all
All targets must implement soft_- and hard_power_on/off() functions which are practically same what onboard_modem_api offered.
These were seen as a duplicate features and therefore we removed this.
All targets involved have been updated to reflect the changes
2019-12-27 16:04:10 +01:00
Antti Kauppila 48cf631456 relocated NonIP related files to netsocket root folder 2019-12-27 16:04:10 +01:00
Anna Bridge 5bef46b71a
Merge pull request #12063 from michalpasztamobica/get_ip_address_if_fixed
Move get_ip_address_if() to NetworkStack and include it in multihoming test
2019-12-24 11:04:59 +00:00
Anna Bridge 81d4a72359
Merge pull request #12120 from mtomczykmobica/ONME-4433
ONME-4433 SocketAddress::operator== should also check port
2019-12-17 16:43:19 +00:00
Marcin Tomczyk 35e2c9d315 ONME-4433 SocketAddress::operator== should also check port 2019-12-16 15:38:49 +01:00
Antti Kauppila 6d0b2fae9b Moved CP Max recv len into mbed_lib.json
According to [3GPP-TS_24.008] the maximum size for Non-IP link MTU is 1358 octets to prevent fragmentation in the backbone network.
Therefore reduced the maximum size to follow the standard.
2019-12-16 15:48:46 +02:00
Tymoteusz Bloch 8b2f4c2e7e Getaddrinfo interface for multiple DNS adresses added.
New members are added to the network interface
-getaddrinfo
-getaddrinfo_async
gethostbyname is unchanged but gethostbyname_async  result param now contains results od DNS records found.
Test cases for sync/async added added to DNS test folder.
2019-12-16 13:59:46 +01:00
Martin Kojtal fd4288a0dc
Merge pull request #12027 from michalpasztamobica/dns_module_test
Modify nsapi_dns tests to be module tests
2019-12-16 09:49:16 +01:00
Mahesh Mahadevan c538919254 MIMXRT1050: Update the ENET driver to use wait_us
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-12-13 12:08:19 -06:00
Michal Paszta d5d04ebb90 Move get_ip_address_if to the right class
get_ip_address_if was wrongly added to OnboardNetworkStack::Interface, while it should in fact be placed directly in OnboardNetworkStack.
2019-12-12 09:20:27 +02:00
Martin Kojtal a996ea27f7
Merge pull request #12057 from OpenNuvoton/nuvoton_emac_max_recv
NUC472/M487: Limit EMAC receive frame length as 1518
2019-12-11 08:12:02 +01:00
Martin Kojtal 06da49984f
Merge pull request #12069 from jeromecoutant/PR_ASTYLE
STM32: astyle update
2019-12-11 08:01:19 +01:00
jeromecoutant 54aa300a3c STM32 EMAC astyle corrections 2019-12-10 14:39:47 +01:00
Michal Paszta fd46af67c6 Modify nsapi_dns tests to be module tests
The nsapi_dns tests were cross-class tests anyway, going through nsapi_dns and UDPSocket. Now they also include EthernetInterface and only mock the NetworkStack, which makes them the most cross-class module test we could think of in netsocket module.
2019-12-10 11:05:25 +02:00
cyliangtw 42103f089d Correct the definition of M487/NUC472 EMAC NU_ETH_MAX_FLEN & PACKET_BUFFER_SIZE 2019-12-10 10:40:03 +08:00
Antti Kauppila 30ea858f51 Disable APN lookup by default 2019-12-09 15:25:22 +02:00
Antti Kauppila e51230c5e4 Remove CellularBase and AT_CellularBase
Removed CellularBase and AT_CellularBase from cellular stack and updated both code and unittests accordingly.

Moved property handling into AT_CellularDevice
2019-12-09 15:25:22 +02:00
cyliangtw 54d8c40f96 Limit max of NUC472 EMAC recv frame len as 1518 2019-12-09 19:15:23 +08:00
cyliangtw 410e4173b1 Limit max of M487 EMAC RX frame len as 1518 2019-12-09 18:12:26 +08:00
Martin Kojtal e9cb9cb014
Merge pull request #12018 from jeromecoutant/PR_OLIMEX_EMAC
STM32_EMAC cleanup
2019-12-05 14:03:46 +01:00
Martin Kojtal 58da078df9
Merge pull request #12015 from jeromecoutant/PR_ETHERNET_ARMC5
STM EMAC: compilation issue with ARMC5
2019-12-05 08:23:11 +01:00
Martin Kojtal 4ae8984819
Merge pull request #11878 from michalpasztamobica/api_hardening
Improve API documentation and test coverage
2019-12-04 10:15:43 +01:00
Martin Kojtal 34c9cf93e5
Merge pull request #11975 from michalpasztamobica/pppinterface_pointer_checks
PPPinterface: remove faulty address getter check for invalid pointer
2019-12-04 10:14:30 +01:00
Martin Kojtal bbf68d7272
Merge pull request #11983 from u-blox/ublox_odin_driver_os_5_v3.7.1_rc3
Ublox Odin Driver OS 5 v3.7.1 rc3: Network-WiFi Test Crash Fixes
2019-12-04 10:12:11 +01:00
jeromecoutant 093099b2e7 STM_EMAC: move TARGET_OLIMEX to the correct directory 2019-12-03 14:48:05 +01:00
jeromecoutant 27f40156b5 STM EMAC: compilation issue with ARMC5 2019-12-03 14:33:24 +01:00
Michal Paszta caf01479ea Improve doxygen and unittest coverage for API
Mainly focusing on hardening the tests for return values.
2019-12-02 20:48:10 +02:00
Michal Paszta 33096c2e54 Fix PPPInterface::disconnect to return NO_CONNECTION in case of failure 2019-12-02 20:47:43 +02:00
Hamza Rizwan c15320d48e Fixes for Network WiFi Test Crashes 2019-11-29 14:52:25 +05:00
Michal Paszta ecc89c98c7 PPPinterface: remove address getters check for invalid pointer 2019-11-28 17:01:09 +02:00
Michal Paszta ea04c4f85e Remove internal usage of deprecated APIs in IPCore
Updated:
* netsocket classes,
* unittests, stubs and mocks,
* greentea tests
2019-11-27 20:02:20 +02:00
Martin Kojtal 38a8c0e28f
Merge pull request #11914 from michalpasztamobica/refactor_string_based_apis
Deprecate string-based APIs in IPCore
2019-11-22 12:00:56 +01:00
Michal Paszta fd5b4b9119 Deprecate string-based APIs in IPCore
MBED_DEPRECATE macros is added to string-based APIs.
New, non-string-based APIs are added in their place.
Wiced binaries rebuilt
Any existing stubs or mocks are adjusted to compile and run with the newly added non-string based functions.
2019-11-22 11:31:12 +02:00
Balaji Subramanyam f51cc6494e Cypress Target update to support Manufacturing Test. (#11868)
Cypress Target update to support WiFi Manufacturing Test

Adding IOCTLS in WhdSTAInterface for MFG Test.
Fix WHD EMAC interface to release buffer when emac is not powered up or callback
is not registered.
2019-11-21 10:12:35 +01:00
fred.li cef6aba55e RESET for each connect operation 2019-11-19 12:08:06 +08:00
fred.li 18fa28db77 Disable UNISOC Reconnect patch, Optimize workaround for LWIP issue 2019-11-19 12:08:05 +08:00
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