Commit Graph

54 Commits

Author SHA1 Message Date
Ondrej Kosta 3d90c7755f fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-28 15:50:30 +01:00
Bogdan Kolendovskyy 64ee5098b2 esp_eth: fixed chip drivers to reflect chip specific loopback behaviour
In esp_eth_phy_802_3.h:
Make 802.3 API public.

In esp_eth_phy_802_3.c:
Add loopback check in eth_phy_802_3_set_duplex(). Now ESP_ERR_INVALID_STATE is invoked on attempt to set duplex to half
when loopback is enabled.
Remove static property from esp_eth_phy_802_3_autonego_ctrl and esp_eth_phy_802_3_loopback.

In esp_eth_phy_dm9051.c:
Add dm9051_loopback() because DM9051 requires setting additional bit to enable auto-negotiation loopback for data to be
received. Add dm9051_set_speed() which invokes ESP_ERR_INVALID_STATE on attempt to set speed to 10 Mbps when loopback is
enabled because such speed configuration is unsupported.

In esp_eth_phy_ksz80xx.c:
Add ksz80xx_set_speed() which invokes ESP_ERR_INVALID_STATE on attempt to set speed to 10 Mbps when loopback is enabled
because such speed configuration is unsupported.

In esp_eth_phy_ksz8851snl.c:
Change phy_ksz8851_set_duplex() to invoke ESP_ERR_INVALID_STATE on attempt to set duplex to half when loopback is enabled.

In  esp_eth_phy_dp83848.c, esp_eth_phy_rtl8201.c:
Add autonego_ctrl implementation which prevents enabling autonegotiation when loopback is enabled.
Add loopback implementation which disables autonegotiation prior to enabling loopback.

In esp_eth_phy_lan87xx.c:
Add autonego_ctrl implementation which prevents enabling autonegotiation when loopback is enabled.
Add loopback implementation which disables autonegotiation prior to enabling loopback.
Fix link indicating being down when loopback is enabled by force setting link up.
2023-11-23 13:14:31 +00:00
Mahavir Jain de3fa9ae71 tests: update Root certificate for the test endpoints
Use Root certificate (`DigiCert Global Root G2`) for the
`dl.espressif.com` and `espressif.com` test endpoints.

This fixes the test failure introduced due to renewal of
the intermediate certificate.
2023-05-17 15:28:23 +05:30
Ivan Grokhotkov 401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
David Cermak 5c383d7b73 esp_netif/lwip: Fix deps cycles to "lwip -> esp_netif -> phy-drivers"
Fix dependency tree so that lwip doesn't depend on any specific network
interface component.
Network interface drivers shall depend on esp_netif.
esp_netif shall depend on lwip (but not on any specific interface
driver) -- it optionally depends on vfs and esp_eth (need ethernet
header for L2/bridge mode)
2022-07-20 14:59:07 +02:00
Sagar Bijwe 6501eff7f5 Remove legacy system event framework. 2022-03-09 15:53:45 +05:30
David Čermák 412fb564ca Merge branch 'bugfix/emac_config_dma_burst_len' into 'master'
esp_eth: Make EMAC DMA burst size configurable (GitHub PR)

Closes IDFGH-6199 and IDFGH-5658

See merge request espressif/esp-idf!16412
2022-02-15 10:36:51 +00:00
David Cermak 8da2e4088c esp_eth: Update esp32's EMAC API to decouple driver and vendor config 2022-02-14 16:17:29 +00:00
AndriiFilippov d69c11e017 ci/esp_eth: Replaced ethernet download task with ethernet download function
Rename eth_download_task to eth_start_download. Remove eth_event_group's
download bit

Delete unused variables
2022-02-14 16:02:45 +01:00
Laukik Hase ca84d2d6c9 esp_http_client: Added event for HTTP redirect
- Allows users to manually intercept and process the HTTP redirection
 when disable_auto_redirect (from the esp_http_client handle) is set to true

Closes https://github.com/espressif/esp-idf/issues/8029
2022-01-12 11:40:32 +05:30
Ondrej Kosta 6d4ff2c05e Merge branch 'feature/eth_ioctl_speed_duplex' into 'master'
esp_eth:  esp_eth_ioctl update

Closes IDF-1240 and IDF-4060

See merge request espressif/esp-idf!15607
2021-11-16 11:56:18 +00:00
Ondrej Kosta d1f2a3dfcc esp_eth: added ioctl options to set Ethernet speed and duplex mode
esp_eth_ioctl third argument always acts as untyped pointer to memory now
2021-11-16 08:34:07 +01:00
Roland Dobai 766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
lisekt84 474073c0a9 Update test_emac.c
Test of uninstall driver always return ESP_OK (IDFGH-6177) #7854
2021-11-08 19:45:11 +01:00
Marius Vikhammer 142bb32c50 ci: update cert used for esp_eth test 2021-10-20 11:34:12 +08:00
David Cermak 8b45ac0fbc lwip: Add ping test case (moved from eth component) 2021-09-22 15:22:18 +02:00
Ondrej Kosta ef30384902 esp_eth: add support for multiple Ethernets modules at a time
Ethernet driver events properly bounded with ESP NETIF actions to support multiple Ethernet modules used at a time.

Components using Ethernet updated to conform with new API.

Closes https://github.com/espressif/esp-idf/issues/7318
2021-08-24 17:10:36 +02:00
morris c280dc3ac5 eth: added cert for download test 2021-01-07 11:22:23 +08:00
morris 1e905acacf eth: support W5500 MAC RAW mode
W5500 features an Ethernet MAC+PHY, plus a HW SOCKET implementation.
But in IDF, we only use software TCP/IP stack, which means we have
to bypass the HW TCP/IP stack in W5500.
So we enables the MAC RAW mode in W5500.
2020-11-16 13:30:49 +08:00
Angus Gratton 66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
morris 9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
Ivan Grokhotkov b6467257b9 Merge branch 'feature/cmock_component' into 'master'
cmock as component replacing unity

See merge request espressif/esp-idf!9859
2020-09-10 16:06:20 +08:00
morris 31aa16bbe6 unit_test: switch icmp test server to taobao 2020-09-06 09:42:44 +08:00
Jakob Hasse 20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
morris ab0537c079 esp_rom: extract common MD5 hash apis into esp_rom_md5.h 2020-07-21 17:01:28 +08:00
morris 1184366387 ethernet: support pin emac task to core 2020-05-29 17:51:37 +08:00
Renz Bagaporo 3d0967a58a test: declare requirements and include dirs private 2020-03-23 10:58:50 +08:00
morris ea8d6318af add SOC_EMAC_SUPPORTED in soc_caps.h 2020-02-24 11:57:58 +08:00
morris 9e59be1aab ethernet: add enc28j60 example 2020-02-10 12:56:14 +08:00
morris e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
michael 4220752aed ut: Move tests back from "esp32" subfolder
DISABLED_FOR_TARGETS macros are used

Partly revert "ci: disable unavailable tests for esp32s2beta"

This partly reverts commit 76a3a5fb48.

Partly revert "ci: disable UTs for esp32s2beta without runners"

This partly reverts commit eb158e9a22.

Partly revert "fix unit test and examples for s2beta"

This partly reverts commit 9baa7826be.

Partly revert "efuse: Add support for esp32s2beta"

This partly reverts commit db84ba868c.
2020-01-06 17:13:53 +08:00
morris fce6a9c735 ethernet: test ethernet download 2019-12-24 11:18:30 +08:00
morris cf161b1c83 ethernet: add start/stop stress test 2019-12-03 17:58:03 +08:00
morris c3ee156df0 ethernet: move netif glue && add ref counter
1. move netif glue into single file
2. add reference counter for Ethernet driver
2019-11-27 10:36:32 +08:00
suda-morris 05d71319de ethernet: add gpio number into config structure 2019-11-20 10:36:45 +08:00
suda-morris f3d0429a9e ethernet: add reference counter for mac and phy 2019-11-20 10:36:45 +08:00
David Cermak d0afdaaf24 esp_eth: moved starting link timer to eth driver start 2019-11-13 12:36:26 +01:00
David Cermak 3a19bf055d esp_netif and examples: using wifi driver handle, update examples and tests to pass the CI 2019-11-13 12:36:25 +01:00
David Cermak b834c99148 examples: modify other examples and tests to use esp_netif instead of tcpip_adapter 2019-11-13 12:36:25 +01:00
David Cermak ffe043b1a8 esp_netif: Introduction of esp-netif component as a replacement of tcpip_adpter
- provides object oriented access to network intefaces
- not limited to default netifs
- more generic abstraction to network input output functions
- event handler registration removed from component responsibility
- backward compatibility layer for legacy tcpip_apapter APIs

Closes IDF-39
2019-11-13 12:36:25 +01:00
Angus Gratton 7ce75a42c7 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-25 15:13:52 +11:00
suda-morris dc6acf0033 icmp: add example and unitest 2019-10-22 04:38:09 +00:00
Angus Gratton ae21d669b9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-17 18:22:08 +11:00
Angus Gratton 633a8376db Merge branch 'bugfix/ethernet_unitest_crash' into 'master'
ethernet: fix crash in unit test

See merge request espressif/esp-idf!6284
2019-10-16 13:05:16 +08:00
Angus Gratton 496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
suda-morris 13c128fd31 Ethernet: optimize and bugfix
1. simplify deallocate in esp_eth_mac_new_esp32, esp_eth_mac_new_dm9051
2. remove blocking operation in os timer callback
3. check buffer size in ethernet receive function
2019-10-11 12:15:17 +08:00
suda-morris f0bfd33a10 ethernet: fix crash in unit test 2019-10-11 02:14:12 +00:00
Ivan Grokhotkov 5830f529d8 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-02 19:01:39 +02:00
suda-morris 7c8c9cbb68 ethernet: enable unit test 2019-09-25 11:58:16 +08:00
suda-morris 546ac64a9e ethernet: update spi-ethernet api 2019-09-19 09:41:21 +00:00