-
Notifications
You must be signed in to change notification settings - Fork 22
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
Open SDK #27
Comments
When IPv6 is not enabled, |
Okay, and what about the error in |
I remember I had to replace a Tell me more about the error you have. |
|
That's because espressif changed this type a year ago. |
Okay thanks- still I am wondering which version/release is being used exactly? or should it not matter? |
On this repository, master is always better, generally. |
Deleted previous comment since it seems those arose from trying to start with a project that had too much going on dependency-wise. Now where I'm at: Re-compiled esp-open-sdk from the PR. Was getting linker errors for
I think it's looking for those in irom so I added Next was fixing includes for my project. I think the issue is that esp-open-sdk copies Now my test project can boot, and including
The router shows the ESP as associated but no IP. Is this a symptom of the older version in use? Or should I be getting an IP with dhcp? Or maybe something else I'm missing? update: I started working on some other stuff and just left my ESP sit on serial. Amazingly, I got an IP address finally, after about 30-35 minutes of nothing. Shows up on router and ping working. So that's a good sign, but need to figure out what is up with DHCP. Thoughts? I let another esp sit and it took the exact same amount of time- perhaps something todo with a timer somewhere..? update2: Started working back up the commits with open-sdk. After c3f36d4 and rebuilt, DHCP works right away |
okay I got it all working up to 163bb82. Still need to figure out the deal with linking for update3: fixed malloc/free linking simply by patching core/mem.c. Was able to compile the project I was trying originally and saw immediate improvements. On some routers/networks my project will frequently get tcp disconnects unless put on a separate vlan. Doing just the bare minimum to switch to lwip2 and now no more disconnects. Thanks @d-a-v ! |
👍 Thanks to you! Is there any modification you had to do in my repository ?
There is. You may start posting your steps in a new issue in esp-open-sdk. |
Definitely some interest from my side also... |
Okay- I would like to maintain compatibility with the work in this repo, and right now it is forked off from a fairly early commit that introduced all the changes to put debugs into PROGMEM (or at least that's how I interpreted it). The gluedebug.h had a lot going on so I just kept what it had originally. My project places all strings into flash NodeMCU-style already so for me it wasn't a problem. Maybe it's not actually that much that needs to be changed to make it compatible with both, but the commit I'm referring to is d45ac2a. This one compiled (lwip2.a) but then trying to actually compile a simple test project created a ton of errors. Then also this one: 1b88267. When I get some time, I'll make a branch that goes back to that version to reproduce the error for you to see, so we can try to resolve. My forked version is here. If you scroll through commit history on the I also have my own version of git clone --recursive https://github.com/someburner/esp-open-sdk.git -b sdk2-lwip2 That said- the later commits on my So I think the best course of action would be to try to resolve the strings-in-flash thing, and then after that a diff between the 2 repos should show all the other changes I made (which are not that many, and mostly self-describing). I also want to try to get up to lwip 2.1.2. I have a feeling pfalcon is going to want sntp implementation to be provided one way or the other. lastly- I had a question- what is the deal with TCP_MSS 536 vs. 1460? Is 1460 considered stable or what is wrong with it? |
Okay I finished getting it up to master of this repo. Like I said before, I generally see an improvement on the ~5 or 6 devices I've ran this on. However I have noticed one thing that I do not see with vendor lwip1.4 - which is resets due to exceptions. One in particular is getting this constantly, but I saw one on another running lwip210 too. I am almost positive this must be coming from the new lwip (base fw is stable running on >1K devices - no exceptions ever, all restarts/low-mem are handled gracefully). I am using TCP_MSS = 1460. It's worth noting these are probably the 2 worst connections I've ever had to deal with, but nonetheless exceptions are no bueno. I suppose it could be due to mis-handling up the stack as the behavior of lwip2 might be a bit different. This might warrant a separate issue but wanted to get some feedback on stability at 1460 first / maybe something that I have configured that is Arduino-only. Unfortunately I don't have a way of recovering stack frame from any of these.. maybe I should work on that next :) |
@d-a-v - Think I may have found the issue: When calling ets_post(espconn_TaskPrio, SIG_ESPCONN_CLOSE, (uint32_t)pclose); Seems that |
First, sorry for being silent to your questions,
Only ram occupation. Also, working with 536 allowed me to check on good quality code that does not rely on this 1460 constant (that is on arduino core side). It is safe to work with 1460, allows better bandwidth (less inter-packet latency).
I have never used espconn (Arduino core does not use it). I have only ported it and included in the library for further test, also because it was requested at some point. I have never had any feedback. About my rather complex debug print system. That was long ago and at that time I couldn't configure my usb/serial to 74880bauds. That is why I am using buffers. I guess this could be completely removed.
What are the issues ? |
Not a problem! But I do hope to get my changes merged in while this is still fresh in my head.
Okay good to know. On a related note, there were other changes in
Okay that makes much more sense. After fixing
In that case I will try to resolve the issue by using some |
For the record, here is what happens when trying to link after commit d45ac2a:
Found the issue- that commit sets |
Nice work. What is preventing you to use master ? |
No I'm already on master with my |
@someburner latest "locking" commit is good for everyone. |
@d-a-v Thanks. I will pull that in on my esp-open-sdk. |
Looks like this is coming along! I'm interested in trying it out with my project but using esp-open-sdk.
I was able to get it to build with a fresh clone of the PR to esp-open-sdk, and then incrementally applied changes, but I got stuck at around this point: ea83a83
From there on I can't get it to compile, getting the message that I should be using "lwip 1.4 headers" - I tried taking them from Arduino but no luck, I guess I don't have a good enough grasp on which headers should go where? I also tried compiling with what I had, but couldn't figure out what had to be done for
ipv4_addr
.If it's not a priority I don't mind working on it- I just need some more direction on the headers and what sorts of things I might need to change in my project to resolve
ipv4_addr
vsip_addr
. Thanks in advance!The text was updated successfully, but these errors were encountered: