Netgear R7800 does not receive multicast messages on LAN interfaces
Username: Graham Cobb
Origin: https://bugs.openwrt.org/index.php?do=details&task_id=580
Netgear R7800 running lede-17.01.
Multicast packets are not received on LAN (wired) interfaces but work fine on WiFi interfaces. I think the problem is at device/driver level.
The problem was first noticed using Avahi, which did not see announcements on LAN interfaces. However it can be easily reproduced with a simple IP Multicast sender/receiver like
https://github.com/GrahamCobb/Multicast-Client-Server-Example
To reproduce:
Run the “client” on the R7800 using:
client 232.0.1.1 4545 100
Run the “server” on another system using:
server 232.0.1.1 4545 100 1000
If the server is connected to the client using a WiFi interface, the messages are received. If it using a LAN, they are not.
The messages
are
received if the LAN interface is set in promiscuous mode (
ifconfig ... promisc
) or all multicast mode (
ifconfig ... allmulti
). They stop again immediately if the mode is turned off.
I believe this is the same problem as reported in
https://forum.lede-project.org/t/ipv6-works-only-with-wan-in-promiscuous-mode/490/9
– in that thread it is mentioned that the AC2600 (which uses the same driver) has the same problem.
As the problem goes away in promiscuous or all multicast modes, I am guessing that the device is just not sending the multicast packets to the driver. This could be a hardware bug, a bug in the multicast filter setup code in dwmac1000_core.c or the devicetree incorrectly reporting device characteristics such as the number of multicast filter bins.