Re: [lwip-users] TCP Retransmission when receiving consecutive packets

2014-03-21 Thread Julien Jemine
Hi Jens, hi Sergio, Yes that's exactly my problem. Here's the patch I've came up with on my driver : int packetCount = 0; static void eth_notify (ARM_ETH_MAC_EVENT event) { /* Send notification on RX event */ if (event == ARM_ETH_MAC_EVENT_RX_FRAME) { packetCount++; } } void etherneti

Re: [lwip-users] TCP Retransmission when receiving consecutive packets

2014-03-20 Thread Jens Nielsen
Alright, I also use the ST drivers (the ones from STM32Cube 1.0.0) on an STM32F4 I haven't verified that my fix is 100% accurate but I think it looks safe so I'm sending it to ST anyway so they can figure it out if they want to. My fix goes something like this: At the bottom of HAL_ETH_Get

Re: [lwip-users] TCP Retransmission when receiving consecutive packets

2014-03-20 Thread Sergio R. Caprile
Yes Jens, looks like you are absolutely right, missed that, there is no frame loss here, the receiving process must be getting only the first frame in the "chip" cue. Julien is using some ST microcontroller, I guess it has a built-in eth controller, probably with DMA. I've studied the Linux drive

Re: [lwip-users] TCP Retransmission when receiving consecutive packets

2014-03-20 Thread Jens Nielsen
Hi Yes you're probably right, that would be a better solution. What looks like happens next in the wireshark capture is that the interrupt triggered by the retransmission signals your code to read and ack the queued old packet. Then there's an ACK in packet 26 triggering another interrupt tha

Re: [lwip-users] TCP Retransmission when receiving consecutive packets

2014-03-20 Thread Sergio R. Caprile
> I am a bit surprised that the ethernet interrupt just raises a flag : Don't be surprised, lwIP is single threaded, meaning you shouldn't call an lwIP memory allocation routine from inside an interrupt, since it might have interrupted another lwIP memory allocation routine... (I might be wrong si

Re: [lwip-users] TCP Retransmission when receiving consecutive packets

2014-03-20 Thread Julien Jemine
Hi Sergio, I've found this drop packet thing in my driver, however it doesn't seem to break there. I've had a look at the driver code but I can't find anything... I am a bit surprised that the ethernet interrupt just raises a flag : static void eth_notify (ARM_ETH_MAC_EVENT event) { /* Send no

Re: [lwip-users] TCP Retransmission when receiving consecutive packets

2014-03-20 Thread Sergio R. Caprile
Hi Julien. Yes, there is a TCP retransmission from your host. I bet that is because when the two packets come in such a close proximity your Ethernet driver is losing the second one. This, in fact, can be because there is a problem with the driver itself, or you have a really low-memory condition a