I've been working with the STM32F767ZIT6 rev. 'Z' and this went pretty well up to the point where I needed to add an Ethernet connection. My project is running fine with FreeRTOS, UART2, UART3, some Input and some Output connected, and also using TIM2 for an Rotary Encoder.
Now ive added ETH and LWIP and I cannot get an simple ping command to work. There is approx 10% change that it sometimes responds. Obviously I have read alot about the known issue with ethernet on the F767 but this was rev 'A' and I am using rev 'Z'.
My ETH settings are:
- I am using a static connection between my Laptop (192.168.1.101) and the F767 as client (192.168.1.102).
- I am using stm32Cube to configure the settings.
- RMII mode, PHY address = 0, IP and NETMASK are set, DHCP is disabled. Everything else is default. (So clock settings are set to HSI, if that matters)
When debugging (ping send from laptop) I get the following results:
- MX_LWIP_Init goes fine, netif_is_link_up is also succes.
- I enter the function etharp_input and the settings received are all fine. for_us is set to 1. (so there is a match with IP)
- Then the function ethernet_output is called and eventually netif->linkoutput(netif, p) is called.
If I stop the debugger at this point I can see all information is correct. IP addresses, and both MAC addresses are correct. However the moment I let it send the output I see a garbage response at WireShark.
Even when for some reason a Ping does work, this response is still garbage.
Also when a Ping does work, it is terribly slow (average of 500ms)
Does anybody has an idea if this is SW related (clock settings, or something).
Or if I will be better of ordering a STM32F746ZG and see if it does work on this board.