From 93bed97ecca9ce0fbfd8e54175ea425b1b504723 Mon Sep 17 00:00:00 2001 From: Tim Niemeyer Date: Thu, 1 Aug 2013 20:23:00 +0200 Subject: [PATCH] wr841n8: fix eth1 multicast (see OpenWRT r35564) This fixes #603 Signed-off-by: Tim Niemeyer --- bsp/board_wr841n8.bsp | 3 ++- .../wr841n8-enable_multicast_eth1.patch | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 build_patches/wr841n8-enable_multicast_eth1.patch diff --git a/bsp/board_wr841n8.bsp b/bsp/board_wr841n8.bsp index 586dd5e..3927d6b 100644 --- a/bsp/board_wr841n8.bsp +++ b/bsp/board_wr841n8.bsp @@ -3,7 +3,8 @@ machine=wr841n8 target=$builddir/$machine board_prepare() { - echo "nothing todo" > /dev/null + # Fix multicast on eth0 (see OpenWRT r35564) + cat build_patches/wr841n8-enable_multicast_eth1.patch | patch -p1 -d $target } board_prebuild() { diff --git a/build_patches/wr841n8-enable_multicast_eth1.patch b/build_patches/wr841n8-enable_multicast_eth1.patch new file mode 100644 index 0000000..43cfa4c --- /dev/null +++ b/build_patches/wr841n8-enable_multicast_eth1.patch @@ -0,0 +1,21 @@ +Index: trunk/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c +=================================================================== +--- trunk/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c (revision 35535) ++++ trunk/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_ar7240.c (revision 35564) +@@ -210,4 +210,5 @@ + + #define AR934X_REG_FLOOD_MASK 0x2c ++#define AR934X_FLOOD_MASK_MC_DP(_p) BIT(16 + (_p)) + #define AR934X_FLOOD_MASK_BC_DP(_p) BIT(25 + (_p)) + +@@ -581,7 +582,8 @@ + ar7240sw_reg_set(mii, AR934X_REG_QM_CTRL, + AR934X_QM_CTRL_ARP_EN); +- /* Enable Broadcast frames transmitted to the CPU */ ++ /* Enable Broadcast/Multicast frames transmitted to the CPU */ + ar7240sw_reg_set(mii, AR934X_REG_FLOOD_MASK, +- AR934X_FLOOD_MASK_BC_DP(0)); ++ AR934X_FLOOD_MASK_BC_DP(0) | ++ AR934X_FLOOD_MASK_MC_DP(0)); + + /* Enable MIB counters */