"etharp_request" workaround does not work anymore
Posted: Thu Jan 04, 2018 11:23 am
Hi everybody,
some time ago i used this workaround, because my ESP32 became inresponsive in the network after some time:
extern "C" {
extern char *netif_list;
uint8_t etharp_request(char *, char *); // required for forceArp to work
}
void forceARP() {
char *netif = netif_list;
while (netif)
{
etharp_request((netif), (netif + 4));
netif = *((char **) netif);
}
}
It is called every second and worked great. Now I try to compile it with another computer with a newer version of the Arduino IDE and the ESP32 core. It compiles, but when the forceARP() function is called I get the following error:
assertion "netif->hwaddr_len must be the same as ETH_HWADDR_LEN for etharp!" failed: file "/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/lwip/netif/etharp.c", line 1306, function: etharp_raw
abort() was called at PC 0x400dac57 on core 1
Any ideas?
Thanks!
some time ago i used this workaround, because my ESP32 became inresponsive in the network after some time:
extern "C" {
extern char *netif_list;
uint8_t etharp_request(char *, char *); // required for forceArp to work
}
void forceARP() {
char *netif = netif_list;
while (netif)
{
etharp_request((netif), (netif + 4));
netif = *((char **) netif);
}
}
It is called every second and worked great. Now I try to compile it with another computer with a newer version of the Arduino IDE and the ESP32 core. It compiles, but when the forceARP() function is called I get the following error:
assertion "netif->hwaddr_len must be the same as ETH_HWADDR_LEN for etharp!" failed: file "/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/lwip/netif/etharp.c", line 1306, function: etharp_raw
abort() was called at PC 0x400dac57 on core 1
Any ideas?
Thanks!