Closed
Description
Is your feature request related to a problem?
In PPPoS application, if baudrate >= 921600, the data processing speed is less than the data arrival speed; sometimes, 'esp_netif_receive' will return ESP_OK, but actually the reception is not successful, which will cause the PPP link to be lost.
Describe the solution you'd like.
'esp_netif_receive' returns ESP_FAIL or other values for error handling when receiving fails, which will improve stability when hardware flow control pins are not connected and no software flow control.
Describe alternatives you've considered.
- I tried to increase the size of lwip pbuf, but because of the serial port fifo size and no idle interrupt, the amount of data notified each time is very small, and the pbuf can always be exhausted, so it is unstable.
- I tried to add a pre-filter before the data enters 'esp_netif_receive', and call 'esp_netif_receive' after receiving the complete PPP packet. Although there is an improvement, it is also unstable because I am not familiar with the structure of the PPP packet.
- Connect the flow control pin, this is a solution mentioned in an issue, and it works:
pppos_example: Modem Disconnect from PPP Server (IDFGH-8640) #10085 (comment)
Activity