Skip to content

Conversation

@AdrianSoundy
Copy link
Member

@AdrianSoundy AdrianSoundy commented Feb 6, 2022

Description

There was issues in the latest build not including the Ethernet support

  • Ethernet option were incorrect
  • ETHERNET_SUPPORT flag not being seen by other modules
  • Connects not working as Wireless in enabled but not connected by default.
  • DHCP issues when testing with sample Network Client

The only IDF config that supported Ethernet correctly was the sdkconfig.default used by LILYGO build. The binutils.ESP32.cmake looked for specific patterns in sdkconfig to update Ethernet configuration.

This Ethernet config has been updated to include option of SPI EThernet controllers in a build.
The changed sdkconfig ethernet section has been copied to all available IDF configs so all build type can have the option of Ethernet ( Internal or SPI )

The TCP connects not working was caused by having the Wireless interface enabled. To make this simpler for builds with Ethernet interface included it will now disable wireless on first start when config built and saved.

The problems with DHCP were found to be caused by Network helper enabling DHCP at the same time DHCP was running in background. System.Net changed and updated to only Enable DHCP when not already enabled, which resolved problem.

As we now have option of supporting multiple PHY the NF_ESP32_Ethernet_Lan8720.cpp has been updated and renamed. Support included for more internal PHY types and the options of SPI controllers like WIZ5500.

These currently can only be enabled by changing options in esp32_ethernet_options.h.in but later we can enable it to be selected from build or dynamically from managed code. Out of scope for this PR. I don't currently have hardware to test it on. Have wiz5500 on order.

Motivation and Context

Had project that used Ethernet but didn't work with latest builds
also

How Has This Been Tested?

An updated version of sample Network client used. Sample has also be updated with latest Network Helper.

On the Olimex POE ISO board which has same config as LILYGO

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Config and build (change in the configuration and build system, has no impact on code or features)
  • Dependencies (update dependencies and changes associated, has no impact on code or features)
  • Unit Tests (work on Unit Tests, has no impact on code or features)
  • Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

nfbot and others added 3 commits February 6, 2022 05:07
Automated fixes for code style.
…d-f276-4ace-b428-8ef557d48687' into Ethernet-support
Remove Open Ethernet support
@AdrianSoundy AdrianSoundy added Series: ESP32 Everything related specifically with ESP32 series targets and removed Type: enhancement labels Feb 7, 2022
@josesimoes josesimoes added Platform: ESP32 Everything related specifically with ESP32 platform Status: under review labels Feb 7, 2022
@josesimoes josesimoes removed Series: ESP32 Everything related specifically with ESP32 series targets Status: under review labels Feb 8, 2022
@AdrianSoundy
Copy link
Member Author

Not sure why you removed Bug label. The Ethernet support is currently broken.

@AdrianSoundy AdrianSoundy enabled auto-merge (squash) February 8, 2022 09:37
@AdrianSoundy AdrianSoundy merged commit b611c16 into nanoframework:develop Feb 8, 2022
@josesimoes
Copy link
Member

Not sure why you removed Bug label. The Ethernet support is currently broken.

Because the root cause was in the build system. Not exactly in the code.
OK there where changes required in the code, but still... 😁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Config-and-Build Platform: ESP32 Everything related specifically with ESP32 platform Type: enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OLIMEX has no network support

3 participants