[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] LWIP RAW API tcpip_callback()
From: |
Werner Motz |
Subject: |
Re: [lwip-users] LWIP RAW API tcpip_callback() |
Date: |
Wed, 17 May 2017 13:42:56 +0200 |
Hello,
by changing MEM_SIZE to 24 * 1024 my memerr disappeared.
Unfortunatelly I still have link errors and I cannot find a docu in the wiki
about it.
Link
Xmit 22888
RECV 10120
FW 0
DROP 1264
CHKERR 0
LENERR 0
MEMERR 0
RTERR 0
PROTERR 0
OPTERR 0
ERR 1264
CACHEHIT 0
TCP
XMIT 22886
RECV 19119
FW 0
DROP 0
CHKERR 0
LENERR 0
MEMERR 0
RTERR 0
PROTERR 0
OPTERR 0
ERR 0
CACHEHIT 10109
MEM
ERR 0
AVAIL 24576
USED 0
MAX 15512
ILLEGAL 0
Thank you very much for your answers.
It finally (partly) works now :)
I had a priority problem in my freertos which made the lwip init task call
too late.
I am able to send data outside of the lwip thread now.
I am still worried because in my stats I see the following problems/errors:
Link
Xmit 22220
RECV 9841
FW 0
DROP 1230
CHKERR 0
LENERR 0
MEMERR 0
RTERR 0
PROTERR 0
OPTERR 0
ERR 1230
CACHEHIT 0
TCP
XMIT 22218
RECV 9832
FW 0
DROP 0
CHKERR 0
LENERR 0
MEMERR 411
RTERR 0
PROTERR 0
OPTERR 0
ERR 0
CACHEHIT 9831
MEM
ERR 411
AVAIL 8192
USED 0
MAX 7828
ILLEGAL 0
Right now I send every 3ms 1000 bytes. I wounder why I drop packets.
#define TCP_MSS 1460
#define TCP_SND_BUF 16 * TCP_MSS
#define TCP_SND_QUEUELEN 48
#define TCP_WND 4 * TCP_MSS
#define MEM_SIZE 8 * 1024
#define MEMP_NUM_PBUF 6
#define PBUF_POOL_SIZE 8
#define PBUF_POOL_BUFSIZE 2048
Could these errors occure because I call 'tcp_active_pcbs' or is it maybe a
problem of my settings?
I am always looking forward to constructive comments :)
____________________________________________________________________________
___
> ---> passing tcp_active_pcbs is not necessary because as u already
> mentioned, I could call it everywhere. I just tried to give a
> parameter to the callback function.
The usage of tcpip_callback should be OK.
> ---> Obviously it is not good / right to call macros and functions
> ---> from
> there. Could you mention another way where to get the active pcbs from
> outside the lwip thread?
There is absolutely *no* need to get the active pcbs! An application should
work on its own pcb, not on all active pcbs!
I can only repeat myself:
- regarding C knowledge, this is off-topic here. You might have noticed
noone but Dirk and me answered...
- regarding lwIP: I don't think such a stack is a good project to start with
C, but if you insist: try reading other applications to see how the stack is
being used.
> ---> You are wrong! Lwip_init() has been called before. If you would
> ---> have
> read my message you would know that I am able to establish a
> connection and receive data via recv callback.
What makes you think I haven't read your message? I can imagine bogus
configuration/usage scenarios where connect/recv works without the
tcpip_thread mbox allocated.
> [..] and going
> to cancel my address from the mail list.
Oh, in that case, maybe I should not have answered... Well...
Cheers,
Simon
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users