I’m having an issue with my raspberry pi wireless network. I have multiple clients connected to an access point with, wpa2 encryption, a netgear A7000 usb wifi adapter, running fedora42 server edition. the WAP stack is using NetworkManager to host an access point, dnsmasq for dns and dhcp, wifi backend is wpa_supplicant.
the clients to this network are other raspis running the same fedora distro, and my laptop also running fedora.
the issue manifests as network discovery being incredibly unpredictable and slow. I have traced this issue to arp. if I join the network, manually add an arp entry for the host I want to ping, communication is fast with no packet loss. however if I rely on arp to populate my routing table it can take an unreasonably long amount of time(several minutes then I get frustrated and stop testing).
The thing that’s so confusing about this issue is that it sometimes randomly starts working, and the amount of time it takes to make a connection is very random.
arping a host named atlas on my WLAN from my laptop.
arping -b atlas at the same time having tcpdump -ne -i wlp4s0 arp running in another terminal, an ssh going to the WAP running another tcpdump -ne -i wlp1s0u1u4 arp I can see the arp requests leaving my laptop and landing on the WAP.
if I connect a monitor to atlas and run the same tcpdump, I rarely see arp requests coming through, when they do arrive responses are sent out unicast and reliably received by my laptop.
once arping starts getting responses it typically works until I re-connect, restart the command, or delete the arp entry.
it’s as if my WAP isn’t propagating link-layer broadcast packets to all of it’s clients.
I’ve tried the same network topology many different wifi adapters:
netgear a7000
netgear a7500
D-Link DWA-171
Broadcom BCM43438 combo and Bluetooth Low Energy (raspi builtin adapter)
and all of these have the same behavior.
hosting a similar network using my laptop(MEDIATEK MT7922 802.11ax) as a hotspot exhibits the same behavior.
loading a raspberry pi with raspian, trying different adapters yields the same behavior.
sshing into the WAP and arping the target host, or even my own laptop(that I’m sshing from) yields the same inconsistancy in responses.
why is arp so slow? why are there so many broadcast packets received by the access point that aren’t heard by the clients?
why does this issue start and stop so inconsistently? sometimes the network works perfectly, other times it doesn’t work at all?