A bad router, even wired, can fail on large pings and succeed on small ones, until restarted, so it can be used for debugging issues like this one
Packet loss may be a result of a bad connection, and can't always be detected with a normal ping.
ping 208.67.222.222 -l 40096 -n 20
or on linux it's -s 40096
This pings a special server that allows large ping traffic, and looks for packet loss on the line. I had had packet loss on a wired line that prevented some traffic from going round trip.