I have an embedded linux system with an ethernet PHY that is connected to a switch and then directly to my PC. After setting static IP addresses I found I could not get a working ping in either direction. Using Wireshark I notice that the ping ARP request is received and a response sent but it appears that the sender never sees the response (From 192.168.10.146 icmp_seq=130 Destination Host Unreachable).
Wireshark ARP packets Transmitter request Receiver responds
I can get a link through the switch using my PC and laptop, so the switch should be OK. I can also connect the embedded linux system directly to my PC and the pings work, suggesting that the linux system is correctly configured.