Hi,
I noticed a strange problem with my openwrt access point. Looking for ideas and suggestions.
When it freshly boots all is working fine. After 24H (quite on the spot) there seems to be no more broadcast traffic going to the wireless interfaces. I have confirmed this with ARP and mDNS packets. A restart of the bridge (in luci or via /etc/init.d/network restart
resolves this for another 24H.
I have a D-Link DIR-882 device with a recent build. It has the MediaTek MT7621A SoC inside.
I know another user with the same device and he also confirmed the issue. We made a monitoring script to make ARP requests and were able to observe the recurring behavior.
To reproduce, 'nping -arp' an ip on the wifi interface from a device on the wired interface. Wait for uptime to reach 24H, see if there are ARP requests responses from the wifi device.With some time, entries in ARP caches expire and this also manifests as inability to ping devices in the LAN between interfaces.
Issue doesn't happen when target is in the wired interface. Issue does happen when target is in the wireless interface regardless if the source is the same interface of another one.
I have just a default config. Didn't add any fancy routing or anything. Just configured wifi networks.
Once I was away from home and it was in the malfunctioning state for over 24H, it then switched back to working state. I only had the chance to test this once so it is just a theory but it might be toggling between good and bad states every 24H.
And now to the questions:
Does this sound familiar? Anybody else experiences this?
Is there anything in openwrt code that runs specifically after the bridge is up for 24H?
Does this seem like an issue in the core of openwrt or is this specific to the mt76?
Any suggestions on how to troubleshoot this further? Enable some additional logs in the "bridge", etc?
Should I open a bug for this somewhere?
Possibly related (but no solution): Clients in same WLAN can't reach each other
Based on the topic above I suspect the issue might be related to multicast_to_unicast feature. I am not sure how to turn it off. Is there a way?
Here are some of my settings that might be relevant:
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_wlan0/brport/hairpin_mode
1
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_wlan1/brport/hairpin_mode
1
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_lan1/brport/hairpin_mode
0
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_wlan0/brport/multicast_to_unicast
1
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_wlan1/brport/multicast_to_unicast
1
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_lan1/brport/multicast_to_unicast
0
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_wlan0/brport/isolated
0
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_wlan1/brport/isolated
0
root@OpenWrt-882:~# cat /sys/devices/virtual/net/br-lan/lower_lan1/brport/isolated
0
root@OpenWrt-882:~# cat /var/run/hostapd-phy0.conf | grep iso
ap_isolate=1
root@OpenWrt-882:~# cat /var/run/hostapd-phy1.conf | grep iso
ap_isolate=1
Thanks,
Arik.