I am working on an application based on STM32F4DISCOVERY plus DiscoveryBB - with 8720A phy. Goal 1 - reliable DHCP and ability to ping device: I have been tearing my hair out with intermittent total success and total failure.
If I connect the stm32 via laptop or pc (both windows 10, both using windows bridge to wifi network) I can send/receive packets but fail DHCP as I consistently get offered an address that is already assigned to the PC, and so fail the ARP check. This captures nicely on wireshark - I assume something to do with how windows bridges connections - has anyone got this to work?
If I connect direct stm32 to router, everything works beautifully. Yay!
If I connect to the network via TP-Link access point in 'client' mode I get nothing. Both LEDs come on on the RJ45 jack but don't flash at all, and although LWIP says its sending something, it obviously doesn't hit the wire. This seems to be very low level problem but I have no idea how to get to the bottom of it. Any suggestions? Occasionally (very) this will just work perfectly, but not for the last day or so, on exactly the same build. I have tried disabling auto-negotiation, different cables, with no result. A laptop plugged into the same access point will work perfectly, immediately. I am reluctant to blame the low level driver, as it works perfectly when plugged into a PC, or direct to the router (as far as actually moving packets and flashing LEDs, anyway).
I am using the STM32CubeMX HAL libraries and included LWIP 1.4.1
I need this to be a reliable device that works with a wide variety of typical home networks, so I'd like to get to the bottom of this.
Any help or suggestions much appreciated!