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
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
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
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
> 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
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
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