Ethernet autonegotiation problem in ESP32C6
Posted: Wed Feb 14, 2024 10:27 am
I have an ESP32C6 and I want to have an ethernet connection to another device. I enable autonegotiation so that the ESP32C6 selects at which speed it has to work with respect to the connected device.
The device can work at 10Mbps or 100Mbps (depending on a setting).
The autonegotiation is always successful and sets the speed of the ESP32C6 always to 100Mbps because the connected device is capable of that speed, so the speed programmed in the ESP32C6 is sometimes not correct.
When the speed is not correct (ESP32C6 working at 100Mbps and the device at 10 Mbps) I have a latency of one second on average in the ping response.
How can I solve this problem?
- (ESP_ERROR_CHECK(esp_eth_ioctl(eth_handle, ETH_CMD_S_AUTONEGO, &auto_nego_en));)
The device can work at 10Mbps or 100Mbps (depending on a setting).
The autonegotiation is always successful and sets the speed of the ESP32C6 always to 100Mbps because the connected device is capable of that speed, so the speed programmed in the ESP32C6 is sometimes not correct.
When the speed is not correct (ESP32C6 working at 100Mbps and the device at 10 Mbps) I have a latency of one second on average in the ping response.
How can I solve this problem?