Hello.
Using lwIP 2.0.0 Beta1, I have been able to connect my target via PPP to an 
embedded Linux control.  After successful connection, I am trying to ping the 
lwIP target.  It has about 25-33% packet loss over time.  From the debug 
output, I see that I'm occasionally getting a "(not enough space for new header 
size)" message from pbuf_header_impl() in pbuf.c.

I don't really understand what that's trying to tell me since I'm only 
receiving about 90 bytes from the ping packet, but I think I have my pbuf size 
set well above that.  (I've tried setting PBUF_POOL_BUFSIZE to 500, 600, 1500, 
and 1520).
But I do see why it causes packets to get dropped.  So I have fiddled with 
various PBUF, UDP, and MRU/MTU options to no avail.  Can someone please help me 
understand how to troubleshoot this message and/or what options to try?
Is this really a RAM issue?  Is it a timing/task priority issue?  Or is it my 
serial driver not buffering the data properly?
(I'm running on an STM32F2 part under FreeRTOS 8.2.3.)

Thank you.

==== Debug Output Snip ====
pppos_input[0]: got 89 bytes
pbuf_alloc(length=0)
pbuf_alloc: allocated pbuf 0x200150a4
pbuf_alloc(length=0) == 0x200150a4
pbuf_header: old 0x200150b4 new 0x200150b6 (-2)
ppp_input[0]: ip in pbuf len=84
pbuf_header: old 0x200150b6 new 0x200150ca (-20)
pbuf_header: failed as 0x200150a8 < 0x200150b4 (not enough space for new header 
size)
pbuf_alloc(length=84)
pbuf_alloc(length=84) == 0x20015874
pbuf_header: old 0x20015894 new 0x200158a8 (-20)
pbuf_copy(0x20015874, 0x200150a4)
pbuf_copy: end of chain reached.
pbuf_free(0x200150a4)
pbuf_free: deallocating 0x200150a4
pbuf_header: old 0x200158a8 new 0x20015894 (20)
pbuf_alloc(length=0)
pbuf_alloc: allocated pbuf 0x200150a4
pbuf_alloc(length=0) == 0x200150a4
pbuf_free(0x200150a4)
pbuf_free: deallocating 0x200150a4
pppos_netif_output[0]: proto=0x21, len = 84
pbuf_free(0x20015874)
pbuf_free: deallocating 0x20015874
pppos_input[0]: got 56 bytes
pbuf_alloc(length=0)
pbuf_alloc: allocated pbuf 0x200150a4
pbuf_alloc(length=0) == 0x200150a4
pppos_input[0]: got 33 bytes
pbuf_header: old 0x200150b4 new 0x200150b6 (-2)
ppp_input[0]: ip in pbuf len=84
pbuf_header: old 0x200150b6 new 0x200150ca (-20)
pbuf_header: failed as 0x200150a8 < 0x200150b4 (not enough space for new header 
size)
pbuf_alloc(length=84)
pbuf_alloc(length=84) == 0x20015874
pbuf_header: old 0x20015894 new 0x200158a8 (-20)
pbuf_copy(0x20015874, 0x200150a4)
pbuf_copy: end of chain reached.

-- G
---------------------------------------------------------------------------------------
 This email has been scanned for email related threats and delivered safely by 
Mimecast.
 For more information please visit http://www.mimecast.com
---------------------------------------------------------------------------------------
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to