Propagating MAC-hostname mappings across WiFi network with multiple APs

I have 3 OpenWRT routers on a home network. They are connected via ethernet and broadcast the same SSID with the same WPA-2PSK key, so devices occasionally move between WiFi access points. I want to be able to quickly tell which device is connected to which AP's WiFi but many of the devices broadcast no hostname or have an opaque hostname like ESP_4303E2. When I use DHCP static leases on my main router (the only one running DHCP) to map decriptive hostnames onto MACs I see those hostnames in the list of Associated Stations. But if that device migrates to one of the APs I no longer see the hostname on that AP's list of Associated Stations.

How can I set up MAC-hostname mappings so that they propagate to the "Associated Stations" list of the Dumb APs? Otherwise I will have to add the same set of static leases on all 3 Wifi APs.


You could set MAC address to hostname mapping in /etc/ethers of each AP. This way you’ll see the configured client name in the Associated Station section.

root@OpenWrt:~# cat /etc/ethers
#  Lookup man 5 ethers for syntax documentation
#  Examples :
#       02:00:11:22:33:44       OpenWrt.lan
#       02:00:11:22:33:44
8C:F5:A3:CB:A2:AD Galaxy-S6
1 Like

Hi Pavel,

I notice that /etc/ethers does not reflect the static leases set through LUCI, so it looks like I would have to add the mappings manually to the ethers file, then copy the ethers file to the dumb APs any time I added a new mapping. Does that sound right?

Is there a more automatic way to do this via DNS that's not more trouble than it's worth?

/etc/ethers worked great. Thanks again Pavel. The only minor issue is that it looks like I have to reload dnsmasq to read in the new file. That's fine on the main router but I have dnsmasq and odhcpd disabled on the DumbAPs, so I've been reloading dnsmasq then stopping and disabling it again. I guess I can script the process from the main router to push the ethers file and restart (then stop and disable) on the DumpAPs.

I am not sure why you have to do that. For my DumbAps I use custom build without dnsmasq and odhcpd installed. I just use scp to copy the ethers file to all APs and the names are resolved locally by each device.