martin-ger / esp-open-lwip Goto Github PK
View Code? Open in Web Editor NEWThis project forked from pfalcon/esp-open-lwip
ESP8266 lwIP library with NAT, SLIP, ENC28j60 Ethernet, and routing support
This project forked from pfalcon/esp-open-lwip
ESP8266 lwIP library with NAT, SLIP, ENC28j60 Ethernet, and routing support
Hi,
I integrated the lwip stack for ehternet and find that the stack is working for Ethernet. However I am not able to start the wifi stack. Is there an issue for wifi with this stack?
regards,
Rajkumar
I got an fatal exception 9 in espconn_Task()
esp-open-lwip/lwip/app/espconn_tcp.c
Line 388 in 1ebad4d
In the arduino version https://github.com/martin-ger/lwip_nat_arduino/blob/master/lwip/src/app/espconn_tcp.c#L418 a variable active_flag was added. Should this also be done to this one? And possibly fix the exception?
anyone succeed in building with MEM_USE_POOLS=1 to avoid memory fragmentation?
tried to removed attr/DMEM_ATTR parameters in meme_std.h and creating a lwippools.h with:
#if MEM_USE_POOLS
LWIP_MALLOC_MEMPOOL_START
LWIP_MALLOC_MEMPOOL(100, 256)
LWIP_MALLOC_MEMPOOL(50, 512)
LWIP_MALLOC_MEMPOOL(20, 1024)
LWIP_MALLOC_MEMPOOL(20, 1536)
LWIP_MALLOC_MEMPOOL_END
#endif /* MEM_USE_POOLS */
but still get error when compiling:
In file included from lwip/core/memp.c:141:0:
include/lwip/memp_std.h:42:1: error: initializer element is not constant
LWIP_MEMPOOL(TCP_PCB, MEMP_NUM_TCP_PCB, sizeof(struct tcp_pcb), "TCP_PCB")
^
include/lwip/memp_std.h:42:1: error: (near initialization for 'memp_num[2]')
lwip/core/memp.c:160:47: error: variably modified 'memp_memory_TCP_PCB_base' at file scope
#define LWIP_MEMPOOL(name,num,size,desc) u8_t memp_memory_ ## name ## _base
^
include/lwip/memp_std.h:42:1: note: in expansion of macro 'LWIP_MEMPOOL'
LWIP_MEMPOOL(TCP_PCB, MEMP_NUM_TCP_PCB, sizeof(struct tcp_pcb), "TCP_PCB")
^
think I don't quite understand how the LWIP_MEMPOOL macro stuff works
any clues?
When I include #include "netif/tunif.h"
and try to call some funtions such as
tunif_add_dns(134744072); // ip 8.8.8.8
It occurs some errors like
tunif.c:(.text+0x70): undefined reference to `event_add'
tunif.c:(.text+0x94): undefined reference to `event_add'
tunif.c:(.text+0xc4): undefined reference to `event_del'
tunif.c:(.text+0xc8): undefined reference to `event_free'
tunif.c:(.text+0xdb): undefined reference to `event_del'
tunif.c:(.text+0xe4): undefined reference to `event_free'
I understand that there is some routing happening on the ESP.
what I want to do now is to always route the devices connected to the ESP NAT to a specific website.
how can this be achieved ?
Hello,
I have installed this library in my project using the ESP-NONOS-SDK-v2.2.0. However, the UDP part is not working. I am initializing the espconn structure with the UDP configured and then i am calling espconn_create(...).
Everything was working nice with the old library i add (got from pfalcon) but now nothing happens. I can't send nor receive anything in UDP. Is there some things i have forgotten to call or init or has changed in this project?
I have also some troubles relatives to the TCP stack but i think it is mostly because this library doesn't have an ssl stack, am i right? And i want secure connection.
Clancys
Do you mind to explain about
the purpose of using loopback interface in ESP8266 ?
Thank you.
I can get everything to compile to the liblwip_open.a file but can't seem to find where I need to put it to have it compiled into my firmware. I tried replacing the liblwip_gcc.a in the ".platformio/packages/framework-arduinoespressif8266/tools/sdk/lib" folder. (This liblwip_open.a is much smaller for some reason.) . But that didn't work. I've been searching but have not found a solution yet.
Any help would be greatly appreciated.
I cloned the rep and then run make. Got the following error
esp-open-lwip$ make
make: Nothing to be done for 'FORCE'.
Any idea what is wrong ?
Thanks in advance
reposting this:
I found out it was fixed by setting LWIP_HAVE_LOOPIF=0 and LWIP_HAVE_SLIPIF=0 but I had to disable content of lwip/netif/espenc.c in order to get it to compile without errors
using latest sdk 992479e from master branch, it appears that wifi_set_opmode_current(STATIONAP_MODE) is leaking memory:
wifi_set_opmode_current(NULL_MODE);
[...]
if (wifi_get_opmode() != STATIONAP_MODE) {
printf("HEAP1=%u\n\r", system_get_free_heap_size());
wifi_set_opmode_current(STATIONAP_MODE);
printf("HEAP2=%u\n\r", system_get_free_heap_size());
}
HEAP1=24888
mode : sta(ec:fa:bc:21:27:94) + softAP(ee:fa:bc:21:27:94)
4010b0b0 already freed
add if0
add if1
dhcp server start:(ip:10.0.5.1,mask:255.255.255.0,gw:10.0.5.1)
bcn 100
3fff7720 already freed
HEAP2=21472
I have already built the esp-open-sdk's toolchain , it looks fine.
When compiling the example's blinky, it's ok.
However when I tried to compile this repo esp-open-lwip
,
it occurs some errors as the following..
I don't know much about Makefile.
How to fix this error for compiling this repo's esp-open-lwip ?
Thank you very much.
Can you support esp-open-lwip another version that is based on LWIP v.2 ?
Thank you.
Is it possible if I uses this lwip version (with NAPT feature supported) to make a WiFi repeater with a WiFi module support SPI interface communicate with STM32 host MCU? This WiFi module also supports run STA and AP concurrency.
It can lead to DNS entries table is full error if more request for same host are made at a faster rate than the timeout happens
But enabling it affects the use of the function, have to check return value and handle
Line 968 in 916395b
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.