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
Lwip update #76
Lwip update #76
Conversation
Signed-off-by: David Gauchard <gauchard@laas.fr>
… better diffs) Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
…r to a known version of lwip (removing optimisations from espressif and other little useful patch) (tested running: STA mode, dhcp client, telnet and echo) Signed-off-by: David Gauchard <gauchard@laas.fr>
same tests working (STA, telnet, echo) Signed-off-by: David Gauchard <gauchard@laas.fr>
add missing.h with definitions that should go to antares (tests telnet+echo running) Signed-off-by: David Gauchard <gauchard@laas.fr>
…s in makefiles. (they actually are thanks to antares build system with the good default configuration) Signed-off-by: David Gauchard <gauchard@laas.fr>
Adding print in some special cases which never happen: PBUF_ESF_RX case never encountered while echo tester is flying at 2.5Mbits/s in STA mode Signed-off-by: David Gauchard <gauchard@laas.fr>
…y me (telnet, echo, STA mode). (goal: minimal patch, Will deal with it later when/if pbuf-type error is encountered with updated lwip) Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
this is not the latest but diff/repatch scripts are provided into src/contrib/ add an option into kcnf to choose lwip version reduce TCP_MSS and TCM_RWND to the smallest for ram memory footprint Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
no more log2(size) for cbuf reintroduced ack cb in tcpservice
add tcpservice api comments
…n (compile-time and run-time) Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
reduce again both lwip patches add tcpservice options to setup poll (and nagle) Signed-off-by: David Gauchard <gauchard@laas.fr>
Signed-off-by: David Gauchard <gauchard@laas.fr>
this is a big commit including change of structure name ip_addr -> ip4/6_addr (this is still working) Signed-off-by: David Gauchard <gauchard@laas.fr>
|
Forgot to tell: |
|
That looks like one hell of awesomeness. Just a few questions though:
|
|
On mar., avril 21, 2015 at 10:06:33 -0700, Andrew wrote:
head banging for this to happen. really.
They are. There's one left in cmd_listen.c which I did not touch. If I understand well (according to what you told me before - Currently antares, thanks to a kcnf option, artificially tags What would be interesting is to tag only the minimum subset Right ?
We could do that. But I guess the #if and #ifdef names need to david |
|
david gauchard писал 21.04.2015 20:23:
Nope, the opposite. .text gets copied and executed from RAM ICACHE_FLASH_ATTR instructs compiler to put function into irom0.text To avoid that ICACHE_FLASH_ATTR everywhere antares does the following:
Therefore, ICACHE_FLASH_ATTR is no longer needed, so that we only
Regards, |
|
In other words, the rule of thumb for frankenstein is - screw the ICACHE_FLASH_ATTR and never use it. |
|
got it. |
|
For the record, I have now 5 echoservice running concurrently for 17.5 hours. They transfered 2.75GBytes each so far, at an average bitrate of 1800 kbits/s overall (on a busy wifi network). The bit rate could be better at the price of bigger buffer (and less free ram). But my thinking is that there is no need for a large bandwidth, if it is at least above the maximal serial bitrate. |
|
@d-a-v I'm talking about ICACHE_FLASH_ATTR as seen in for example src/lwip/include/ipv4/lwip/icmp.h and other lwip headers. Do we really need them? |
|
src/lwip does not exist anymore. It is now src/lwip-esp/ and there is no ICACHE_FLASH_ATTR in the pull request. |
|
@d-a-v I gave your lwip branch a quick try, looks like most stuff works, so I've merged it into master. |
|
On sam., avril 25, 2015 at 11:08:00 -0700, Andrew wrote:
Thanks, I have a timer management fix. I'll push in a short while. |
|
@d-a-v Yes, and mind that we have something broken on the latest SDK. I've updated the README, but had no chance to troubleshoot it yet. |
two main changes:
LWIP:
Old src/lwip is reworked and moved to src/lwip-esp/, new one is in src/lwip-git/.
Both are working and improved, lwip-git version is bigger in rom.
make menuconfig selects the version you wish.
For both of them, hard work has been done to reduce the espressif diff against original versions to its minimum.
Scripts are provided in src/contrib/lwipupdate/ to watch espressif patches against original version, and to bump lwip-git if needed (lwip guys should tag their repo, the git version is named 1.4.1 although the official stable 1.4.1 does not come from the git repo). espressif version is based on something between 1.4.0RC1 and RC2.
Timers management (sys_now()) has been reworked. espressif odd coarse timer removed. Original lwip timers are working (in both versions).
tcpservice:
it is aimed to be a very small and efficient infrastructure for raw tcp. the optional echo service is able to run for hours (with the tester src/contrib/tcpechotester.c) and transfer megabits with no freeze and no leaks. The very much goal of this is for a direct and above all stable serial<->wlan service which hopefully come soon.
Note that I have not tested AP and APSTA modes at all.
enjoy :)