0

In my home I have my ISP's router installed with WiFi turned off. To that, a second router is connected via LAN and set-up in access-point mode to provide WiFi.

Connected via that WiFi, I have a repeater that repeats the AP's WiFi with the same SSID.

When a device (e.g. my phone) connects to the repeater's WiFi, everything works fine. Same goes when a device connects to the AP's WiFi.

Interestingly however, when switching from the AP's WiFi to the repeater's WiFi (or vice versa, i.e. when walking through my home), the device cannot ping the AP nor the router, and cannot connect to the internet.

Turning WiFi off and on on the device itself allows for accessing the internet, but the same thing happens when switching again.

Any ideas on what could be causing this behavior?

user219095
  • 65,551

1 Answers1

1

My initial guess is change of MAC address.

Due to the asymmetric design of Wi-Fi, client devices – including modern "repeaters" – cannot forward Ethernet frames on behalf of another MAC address. (Whichever single MAC address was used to establish the Wi-Fi connection is also the one that's the "source" of Ethernet frames; the same field in the Wi-Fi header serves two purposes at different layers.)

This means that when your device connects through a repeater, the rest of your network (most importantly your router) sees you as having the repeater's MAC address; the repeater even alters the ARP responses that your device sends. If you look at the ARP cache on other devices that had recently communicated with your phone (e.g. arp -a on Windows or ip nei[ghbor] on Linux) you'll likely see all the repeater-using devices as having the same MAC.

So the likely problem is that as you roam from one access point to another, your effective MAC address changes (even though the real address does not) – and goes out of sync with the previous ARP results other devices have cached; they still keep trying to answer you to your previous address.

I can't quite guess exactly why restarting your Wi-Fi connection leads to the issue going away, but there are several possibilities. (At this point I'd be staring at a Wireshark packet capture to see what is actually happening on the wire.)

grawity
  • 501,077