bcm53xx: try to fix network on Asus RT-AC87U
This device seems to have switch port 7 connected to the CPU: vlan1ports=1 2 3 5 7* vlan2ports=0 7u it should be handled by eth1 and NVRAM seems to confirm that (no et0macaddr entry, existing et1macaddr & et1phyaddr entries). One of the remaining ports (4/8?) may be connected to the Quantenna SoC. Original firmware boot log contains following messages: (0x00,0x5d)Port 5 States Override: 0xfb (0x00,0x5f)Port 7 States Override: 0xfb (0x00,0x0e)Port 8 States Override: 0x0a (why does it force port 5 state?!) Signed-off-by: Rafał Miłecki <zajec5@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45692 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
9dfbfe30e0
commit
d1f2cc220a
|
@ -9,6 +9,9 @@ board_config_update
|
|||
|
||||
board=$(cat /proc/device-tree/compatible | tr '\0' '\t' | cut -f 1)
|
||||
case "$board" in
|
||||
asus,rt-ac87u)
|
||||
ifname=eth1
|
||||
;;
|
||||
netgear,r8000)
|
||||
ifname=eth2
|
||||
;;
|
||||
|
@ -32,6 +35,10 @@ if echo "$vlan1ports" | egrep -q "^1 2 3 4 5" && \
|
|||
echo "$vlan2ports" | egrep -q "^0 5"; then
|
||||
ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t"
|
||||
ucidef_add_switch_vlan "switch0" "2" "0 5t"
|
||||
elif echo "$vlan1ports" | egrep -q "^1 2 3 5 7" && \
|
||||
echo "$vlan2ports" | egrep -q "^0 7"; then
|
||||
ucidef_add_switch_vlan "switch0" "1" "1 2 3 5 7t"
|
||||
ucidef_add_switch_vlan "switch0" "2" "0 7t"
|
||||
elif echo "$vlan1ports" | egrep -q "^0 1 2 3 5 7 8" && \
|
||||
echo "$vlan2ports" | egrep -q "^4 8"; then
|
||||
ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 5 7 8t"
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
From ec2ae8fc837772afd7a89f98c8a1ec71e2ab322b Mon Sep 17 00:00:00 2001
|
||||
From 4abdde3ad6bc0b3b157c4bf6ec0bf139d11d07e8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
|
||||
Date: Wed, 13 May 2015 14:13:28 +0200
|
||||
Subject: [PATCH] b53: add hacky CPU port fix for Netgear R8000
|
||||
Subject: [PATCH] b53: add hacky CPU port fixes for devices not using port 5
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
---
|
||||
drivers/net/phy/b53/b53_common.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
drivers/net/phy/b53/b53_common.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/phy/b53/b53_common.c b/drivers/net/phy/b53/b53_common.c
|
||||
index 2b05d5d..ba16107 100644
|
||||
index 2b05d5d..fd3b39c 100644
|
||||
--- a/drivers/net/phy/b53/b53_common.c
|
||||
+++ b/drivers/net/phy/b53/b53_common.c
|
||||
@@ -25,6 +25,7 @@
|
||||
|
@ -23,11 +23,13 @@ index 2b05d5d..ba16107 100644
|
|||
|
||||
#include "b53_regs.h"
|
||||
#include "b53_priv.h"
|
||||
@@ -1313,6 +1314,9 @@ static int b53_switch_init(struct b53_device *dev)
|
||||
@@ -1313,6 +1314,11 @@ static int b53_switch_init(struct b53_device *dev)
|
||||
sw_dev->cpu_port = 5;
|
||||
}
|
||||
|
||||
+ if (of_machine_is_compatible("netgear,r8000"))
|
||||
+ if (of_machine_is_compatible("asus,rt-ac87u"))
|
||||
+ sw_dev->cpu_port = 7;
|
||||
+ else if (of_machine_is_compatible("netgear,r8000"))
|
||||
+ sw_dev->cpu_port = 8;
|
||||
+
|
||||
/* cpu port is always last */
|
Loading…
Reference in New Issue