Sometimes when ping insist to fail you can try arping to know if the machine is online.
First verify with arp command if it has some idea about the physical address:
$ arp -n Address HWtype HWaddress Flags Mask Iface 192.168.0.16 ether 7c:dd:90:1e:83:71 C wlan0
Good, it knows about our device.
Now let arping it:
$ arping -I wlan0 192.168.0.16 ARPING 192.168.0.16 from 192.168.0.14 wlan0 Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 84.565ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 7.834ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 4.652ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 5.264ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 6.393ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 4.790ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 12.274ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 8.041ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 6.286ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 5.045ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 5.012ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 6.834ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 4.571ms Unicast reply from 192.168.0.16 [7C:DD:90:1E:83:71] 9.275ms
So the issue is related to ICMP (ping) but ARP is fine.