-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RMII Ethernet fails on ESP32 Core 3.1.0 #22248
Comments
@arendst Can not reproduce. My esp32 board with RMI PHY chip LAN8720 works fine. |
I tryed to ask for support on the Olimex forum... maybe in the wrong way... https://www.olimex.com/forum/index.php?topic=9635.0 |
@ZioFabry Yeah, the answer is as expected from Olimex. Provide a sample sketch build with upcoming Arduino core 3.1.0 where the board fails. |
Sorry @Jason2866, I'm not so expert with the Arduino IDE, I'm still trying to understand how to add the library v3.1.0 |
@ZioFabry You can use pioarduino to use core 3.1.0 rc1.
|
OK. Did another test on a Wireless Tag WT32-S1:
Seems to work fine. So we have two failing units, Olimex ESP32-PoE and SOnoff SPM working fine on 3.0.5 but fail on 3.1.0... I'll test my other Olimex ESP32-PoE-ISO and see how that fares.... UPDATE: The test on Olimex ESP32-PoE-ISO failed too from:
to
|
I can confirm the same on several Olimex variants... POE, POE-ISO, POE-ISO-IND @Jason2866 I hope to found the time to test it before the end of day... |
Interresting compilke error:
|
@arendst as expected the jl1101 driver is added in our Tasmota IDF fork. |
I added it to their fork, Next compile error:
|
And with fixed the next error pops up:
|
And fixed by adding NimBLE to ignore list. A compiled binary results in:
Still no luck. I see they use IDF5.3 too. As I expect the error to be in IDF it explains why their 3.1.0_RC1 fails too. |
No help on the olimex support forum... https://www.olimex.com/forum/index.php?topic=9635.0 |
Well their suggestion to stay on core 3.0.5 seems to be the current valid response for Tasmota and GPIO17 based (EthClockMode 3) ethernet connections too. |
It seems it's not IDF related but Arduino Core 3.1.0 related. As a workaround add the below lines to your platformio
|
I can confirm that my custom build work fine with the workaround...
|
The issue is with IDF5.3. During testing PSRAM they claim GPIO's also used by Ethernet ClockMode 3. As they didn't release their claim Ethernet fails on non-PSRAM hardware. I've added the relaese to Tasmota boot code fixing the issue for now. Final solution should be in IDF but for now we're saved. |
Thanks @arendst , I confirm you that also on my custom build it's working fine. |
@ZioFabry - can you also confirm if firmware upgrade works via web UI with wifi disabled? Im using esp32s3 with w5500 ethernet chip [8 = ETH_PHY_W5500 (SPI)] and firmware upgrade via web does not work via ethernet .. the UI is stuck on "switching to safeboot" page .. thereafter i need to serially flash esp to restore.. however in the same setup if I enable wifi and then perform an upgrade it works fine! @arendst may I request you to guide please |
@nccchirag This issue is only for RMII (= LAN8720). Please ask questions in discussions |
PROBLEM DESCRIPTION
Installing core 3.1.0 on ESP32 hardware with Ethernet fails ethernet init. Core 3.0.5 still works fine. The issue is related to IDF changes in function
esp_eth_mac_new_esp32()
specific for RMII on ESP32.REQUESTED INFORMATION
Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!
Backlog Template; Module; GPIO 255
:Backlog Rule1; Rule2; Rule3
:Status 0
:weblog
to 4 and then, when you experience your issue, provide the output of the Console log:Correct functioning:
Bad functioning:
TO REPRODUCE
Steps to reproduce the behavior:
Install latest binaries.
EXPECTED BEHAVIOUR
A clear and concise description of what you expected to happen.
Ethernet should still work
SCREENSHOTS
If applicable, add screenshots to help explain your problem.
ADDITIONAL CONTEXT
Add any other context about the problem here.
Patching Core 3.1.0 file
ETH.cpp
with error return numbers revealed the error is in IDF functionesp_eth_mac_new_esp32()
. This is specific for RMII and is not used on SPI connected ethernet hardware.(Please, remember to close the issue when the problem has been addressed)
The text was updated successfully, but these errors were encountered: