I have recently setup a RPi0W as a means to connect my Echo Dot to my University's WPA-Enterprise network (MSCHAPv2). I was successful in doing so following this Wifi Repeater Guide and modifying the wpa-supplicant file for PEAP authentication. However, while all connected devices are able to access the internet, they are not visible to each other on the local WLAN.

When I SSH into the router (RPi0W), all connected devices are visible by running arp -a.

? ( at 00:00:0c:9f:f2:00 [ether] on wlan0 ? ( at f0:d5:bf:b3:c1:e9 [ether] on wlan0 Main ( at a4:5e:60:ef:1b:8b [ether] on uap0 amazon-cfab5703d ( at 38:f7:3d:75:b0:39 [ether] on uap0 ? ( at d4:6a:6a:70:ae:db [ether] on wlan0 wemo ( at 24:f5:a2:ff:0a:2d [ether] on uap0

However when running that same command on a device connected to the AP (my Mac), it only shows the router. This doesn't allow me to setup WiFi IOT devices which need to be visible locally (my Wemo).

? ( at b8:26:ec:ef:f3:d8 on en0 ifscope [ethernet]

Any assistance would be greatly appreciated!

  • It might not show up on arp, but you should still be able to ping/connect to devices on your network regardless - just note the IP from the router.
    – trishmapow
    Jan 12, 2019 at 4:21

1 Answer 1


This is all as expected so far. You are only looking at the arp cache where the kernel caches ip address to mac address mappings for a defined time, by default for 5 minutes when it has made a connection. This way it does not have to broadcast for the ip address with arp request every time it established a connection within the timeout. But if there was no connection the last 5 minutes then there is also no entry in the arp cache. The RasPi has connections to all associated stations so you see all its mac addresses in the arp cache. A client has only a connection to the RasPi and therefore you see only its mac address in the cache.

If the access point is setup the right way to a broadcast domain then you should be able to ping from a station (your Mac) a neighbor station (any other client connected). Then the kernel broadcasts by arp for the neighbors ip address and stores it in the arp cache. Look at it with arp -a afterwards.

If you cannot ping a neighbor then something is wrong with your setup.

  • If you can't ping a neighbour then the NAT routing to bridge the networks isn't set up correctly. github.com/peebles/rpi3-wifi-station-ap#bridge-ap-to-cient-side
    – Dougie
    Jan 12, 2019 at 18:45
  • @Dougie To ping a neighbor on the same subnet of the access point (uap0) there is no routing needed. You only have to ensure that the subnet is a broadcast domain what's default normally. You only need routing if you want to go through the uplink router to the internet and you only need NAT if you cannot set static routes on the uplink router. The section you have linked to is named wrong with "Bridge AP to cient side". There is no bridge at all. There is routing enabled with ip_forward=1 between uap0 and wlan0.
    – Ingo
    Jan 12, 2019 at 19:55
  • how do you know that ip_forward=1 has been set? The OP hasn't told us that.
    – Dougie
    Jan 12, 2019 at 20:10
  • @Dougie You can read it behind the link. It is set with echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf and the OP said he uses that tutorial.
    – Ingo
    Jan 12, 2019 at 20:13
  • you're assuming that the OP has followed the instructions carefully and completely.
    – Dougie
    Jan 12, 2019 at 20:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.