Hi Jens, thank you for your colaboration. Is it possible that you share if me your fix? I am trying not to reinvent the wheel.
As I said to Simon, I am trying to use the LWIP_NETIF_LINK_CALLBACK and LWIP_NETIF_STATUS_CALLBACK functions to keep track of the Phy Link, but these functions never gets called, even if I disconnect the cable. My demicode is as below: *#if LWIP_NETIF_STATUS_CALLBACK* *void status_callback(void) {* * LED_BLUE_TOGGLE();* *}* *#endif /* LWIP_NETIF_STATUS_CALLBACK */* *#if LWIP_NETIF_LINK_CALLBACK* *void link_callback(void) {* * if (netif_is_link_up(&fsl_netif0)) { //DES link up blink fast* * LED_GREEN_ON();* * dhcp_start(&fsl_netif0);* * netif_set_up(&fsl_netif0);* * } else {* * LED_GREEN_OFF();* * dhcp_stop(&fsl_netif0);* * netif_set_down(&fsl_netif0);* * }* *}* *#endif /* LWIP_NETIF_LINK_CALLBACK */* ------------------------------------------------------------------- * PRINTF("TCP/IP initializing...\r\n");* * tcpip_init(NULL, NULL);* * PRINTF("TCP/IP initialized.\r\n");* * xSemaphoreENET = xSemaphoreCreateBinary();* * while (netif_add(&fsl_netif0, &fsl_netif0_ipaddr, &fsl_netif0_netmask,* * &fsl_netif0_gw,* * NULL, ethernetif_init, tcpip_input) == NULL) {* * netif_remove(&fsl_netif0);* * vTaskDelay(1000 / portTICK_PERIOD_MS);* * }* * WDOG_Refresh(WDOG);* * netif_set_default(&fsl_netif0);* * netif_set_up(&fsl_netif0);* *#if LWIP_NETIF_STATUS_CALLBACK* * netif_set_status_callback(&fsl_netif0, status_callback);* *#endif /* LWIP_NETIF_STATUS_CALLBACK */* *#if LWIP_NETIF_LINK_CALLBACK* * netif_set_link_callback(&fsl_netif0, link_callback);* *#endif /* LWIP_NETIF_LINK_CALLBACK */* * err = dhcp_start(&fsl_netif0);* ------------------------------------------------------------ --------------------------- Thank you very much. Best Regards, *Gustavo Costa* *Engenheiro Eletricista* *Departamento de P&D* *Tap Eletro Sistemas Ltda.* *(31) 3395-1180/9 8769-8593 <callto:(31)%203395-1180>* *gustavo.co...@tapeletro.com <gustavo.co...@tapeletro.com>* 2017-10-12 12:24 GMT-03:00 Jens Nielsen <d...@telia.com>: > Yes I fixed this particular problem in a driver recently, it was waiting > for autonegotiation to complete. 6th parameter to netif_add is a function > pointer to an init function in your code, that's where you'll find your bug. > > On 2017-10-12 10:33, Simon Goldschmidt wrote: > > When the "netif_add" api is called without the cable being actually plugged > the function just hangs and my wdog barks. > > Now this can't be an lwIP bug: lwIP knows nothing of phys. That is part of > your netif driver, which probably needs fixing. > > > > > _______________________________________________ > lwip-users mailing list > lwip-users@nongnu.org > https://lists.nongnu.org/mailman/listinfo/lwip-users >
_______________________________________________ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users