-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
esp32: esp-idf version thoughts -- v3, v4.0, v4.1 #5830
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
Comments
Update, I found an easy fix for the LwIP error codes and will produce a PR. However, this doesn't help any other modules that use EXXX error constants. Dunno what bluetooth uses, etc. |
An upgrade to 4.1 when it's released would be great, there still is espressif/esp-idf#2892 |
Once the port moved to support v4.1 (when v4.1 is officially released, not just beta) then v4.0 support would be dropped. I don't see any reason to have both, too much effort to maintain.
Support for v4 was added to get Nimble support. But that is now also working in v3, hence not much effort has been put in to making v4 the default. To make v4 on par with v3 requires getting network.LAN and network.PPP working on v4. |
Interesting... LAN and PPP... not sure how think about that. I don't have HW to even try LAN, not sure how PPP gets used, over serial? In any case, it seems to me that must be <1% of user base? So we have to put the burden on everyone to maintain v3 for those few? Why isn't the burden on those few to submit PRs to upgrade to V4? |
Yes, usually through a cellular module, which is very useful. And LAN use also seems to be relatively popular.
It's not that hard to maintain v3, and it's well tested. And we can't just have useful features disappear. |
What is the plan WRT supported esp-idf versions? I have only used v4 personally and have been happy. V4.0 is released. V4.1 just entered beta.
Motivation: I've just spent ~2 hours tracking down why
tests/net_inet/test_tls_sites.py
is broken in v1.12 for api.telegram.org. It produces error 113. That seems to be EHOSTUNREACH according to MP's mperrno.h and linux's errno.h. But truth is that esp-idf v4.0 uses newlib's errno.h and there 113 is ECONNABORTED, hmmm. EHOSTUNREACH is 118, which has sent others into a loop (cf mqtt_as.py).Why does esp-idf use newlib's errno.h when it has its own that is properly posix compliant? Probably because other esp-idf components also use errno.h, like bluetooth.
How to fix? I could add more error code mappings into various MP esp32 libs, but esp-idf v4.1 no longer has newlib's sys includes so moving to that probably fixes the issue (I haven't tried).
Questions I have:
The text was updated successfully, but these errors were encountered: