That's a great point that I did not realize. All this time I was going off the assumption the pbufs were holding only data for the application. I can see now how 2 or 3 would not work.
I was using uIP before this, and configuration was much easier. But, I believe that stack was hopeless as far as suitability for what I'm trying to do. --- On Thu, 7/30/09, [email protected] <[email protected]> wrote: From: [email protected] <[email protected]> Subject: Re: [lwip-users] Issues receiving streaming data To: "Mailing list for lwIP users" <[email protected]> Date: Thursday, July 30, 2009, 11:25 AM Setting PBUF_POOL_SIZE *much* lower than 16 is also not a good idea as this limits the number of RX-packets being processed simultaneously. If you are low on memory, it's a better idea to decrease the size of each pbuf in the pool so that, for a big packet, multiple pbufs are used, while smaller packets (e.g. ACKs) consume less memory. Also, if you're on a slow system, chances are high the place were a buffer overrun occurs is the ethernet MAC and lwIP won't even notice an overrun (if the MAC driver doesn't record). Simon JM wrote: > Thank you for the quick reply Kieran. After looking at these settings again, > and finding an old post where you give a rough estimate for MEMP_NUM_TCP_SEG, > I believe I have this set way too low. I will try your suggestions later and > see what happens. Some of the defaults, such as PBUF_POOL_SIZE = 16, is so > high it will consume too much RAM. My guess is I can get by with much less. > Oops....for the TCP_WND discrepancy, that's easy to explain. I changed it > after taking the capture, but it the Wireshark results were basically the > same. > > I will enable Stats and I can view them with my debugger after it runs for > awhile. That is something I haven't thought of before and should give good > information. I'll set these numbers high, and try shrinking them until > things stop working. > > > > --- On *Thu, 7/30/09, Kieran Mansley /<[email protected]>/* wrote: > > > From: Kieran Mansley <[email protected]> > Subject: Re: [lwip-users] Issues receiving streaming data > To: "Mailing list for lwIP users" <[email protected]> > Date: Thursday, July 30, 2009, 10:05 AM > > On Thu, 2009-07-30 at 05:26 -0700, JM wrote: > > > > I've included two Wireshark captures in an attached .zip file > (please > > add .zip to filename). The one labeled "lan" is when the server was > > my computer on my LAN, and the one labeled "wan" is a streaming > audio > > server on the Internet. I've verified these both work fine when a > > computer is is playing the stream. On the "lan" trace, there is a > > perfectly repeated Dup ACK and retransmission that should not be > > happening. On the "wan" trace, the connection just seems to break > > down before I close it. This is similar behavior to all other > > Internet streaming audio servers, so it's not just this one. > The retransmissions are happening because there are packets being > dropped. They are repetitive because after packet loss the sender is > very cautious about the sending rate. As soon as the sending rate > increases, you see packet loss. This suggests strongly that your lwIP > device can't handle > 1 packet arriving at a time, and so you're > likely > running out of buffers. You could confirm this by using the lwIP > stats, > and seeing which of the buffer types are reporting errors (if you can > get a print out of these somehow). > > Looking at your settings, I think it would be good to change: > > MEMP_NUM_PBUF: you'll need more than one of these, I'm pretty sure. > PBUF_POOL_SIZE: 3 seems rather small. What's the default here - see > src/include/lwip/opt.h > MEMP_NUM_TCP_SEG: only having 2 TCP segments is going to cause you > problems > LWIP_UDPLITE: you can probably set this to zero > TCP_SNDBUF: you could set this larger (smallest sane size is two MSS) > without using any extra memory, but probably not the source of your > problems as you're not sending much. > > Something that looks odd to me is that you're setting TCP_WND to 2920, > but in the packet captures lwIP is giving out a larger receive > window of > 4380. > Kieran > > > > _______________________________________________ > lwip-users mailing list > [email protected] </mc/[email protected]> > http://lists.nongnu.org/mailman/listinfo/lwip-users > > > ------------------------------------------------------------------------ > > _______________________________________________ > lwip-users mailing list > [email protected] > http://lists.nongnu.org/mailman/listinfo/lwip-users _______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
