If you're happy with all clients being able to ping while being un-authenticated, enable ICMP in the walled-garden IP level. That works for me just fine, we allow ICMP for troubleshooting purposes. Here the entry:
[admin@MikroTik] > /ip hotspot walled-garden ip pri
Flags: X - disabled, I - invalid
# SERVER PROTOCOL DST-HOST DST-ADDRESS DST-PORT ACTION
0 ;;; Allow hotspot users to ping for troubleshooting purposes
icmp accept
Here's an unauthenticated host:
[admin@MikroTik] > /ip hotspot host pri
Flags: S - static, H - DHCP, D - dynamic, A - authorized, P - bypassed
# MAC-ADDRESS ADDRESS TO-ADDRESS SERVER IDLE-TIMEOUT
0 H 00:1E:52:87:F4:4A 10.2.1.254 10.2.1.254 Hotspot 30m
With the walled-garden entry disabled, ping from the router to the client does not work:
[admin@MikroTik] > /ip hotspot walled-garden ip disable 0
[admin@MikroTik] > ping 10.2.1.254
10.2.1.254 ping timeout
2 packets transmitted, 0 packets received, 100% packet loss
With the entry enabled, it does:
[admin@MikroTik] > /ip hotspot walled-garden ip enable 0
[admin@MikroTik] > ping 10.2.1.254
10.2.1.254 ping timeout
10.2.1.254 64 byte ping: ttl=64 time=2 ms
10.2.1.254 64 byte ping: ttl=64 time=5 ms
10.2.1.254 64 byte ping: ttl=64 time=3 ms
4 packets transmitted, 3 packets received, 25% packet loss
round-trip min/avg/max = 2/3.3/5 ms
[admin@MikroTik] >