lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] R: ping slow down


From: Rastislav Uhrin
Subject: [lwip-users] R: ping slow down
Date: Mon, 30 May 2016 22:44:31 +0200

Yes, there has been a problem with the driver. It caused that in TCP 
communication after some time
"retransmission" and "double ACK" started to appear and communication slowed 
such that it was then impossible to keep link with client on PC. This is I 
believe has been already fixed by extracting from MAC all data after an 
interrupt. Here is code fragment

  for(;;)
  {
    xSemaphoreTake(xSemaphoreETHRXprocess, portMAX_DELAY);

    p = low_level_input();

    while (p != NULL)
    {
          ethhdr = p->payload;
          switch (htons(ethhdr->type))
          {
            case ETHTYPE_IP:
            case ETHTYPE_ARP:
              /* full packet send to tcpip_thread to process */
          if (netif->input( p, netif) != ERR_OK)
          {
            pbuf_free(p);
          }

          break;

            default:
              pbuf_free(p);
              break;
          }
      
      p = low_level_input();
    }
  }

Now communication continues without stopping.

Sorry that I was asking again but I thought that this regular interval delay 
could be a normal behavior (I am not an expert).
So, if there are any other suggestions what specific I could check I would 
appreciate. Anyway I will continue investigate since you say it is not normal.

rum 


-----Messaggio originale-----
Da: lwip-users [mailto:address@hidden Per conto di Sergio R. Caprile
Inviato: lunedì 30 maggio 2016 14:37
A: address@hidden
Oggetto: Re: [lwip-users] ping slow down

As it has been kindly explained to you on the former thread you opened, and in 
this one, you have either a driver or a port problem.
Most likely your code is polling at regular intervals and what you see as 
varying delay is the phase difference of your ping frequency and your poll 
frequency "signals".
Other possibility is that you are extracting only one frame out of the 
controller, as we've seen countless times here in the list, that you should 
search for others having had this very same problem and having been solved.
Regards.

_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users



reply via email to

[Prev in Thread] Current Thread [Next in Thread]