From: René Mayrhofer <[email protected]>
This change is required to make the GBit switch work on my Mikrotik Routerboard
RB2011UiAS-RM, and I assume that the other RB2011 variants are exactly the same
in terms of the switch. I have tested the board without and with the patch and
confirm that the GBit ports are not supported at all (i.e. no communication
works) with the current version in trunk and that everything works with the
patch applied. The test box has been running for a few days with the patch
applied, and does not show any performance problems in a test setting. I have
not used it with LEDE in production so far, but with a previous turnk version
of OpenWRT for many years - with the same patch applied. I therefore have good
indication that it is stable.
For the record, the switch chip on my test box is identified as
switch0: Atheros AR8327 rev. 4 switch registered on ag71xx-mdio.0
The value 0x6f000000 has been taken from the table at
https://wiki.openwrt.org/toh/mikrotik/rb2011uias with the previous discussion
thread still online at
https://lists.openwrt.org/pipermail/openwrt-devel/2014-December/029949.html.
One definite improvement from the older OpenWRT trunk version I have been
running in production and current LEDE trunk is that the SFP interface can be
kept in the default configuration without excessive kernel messages about it
constantly going up and down. I have not yet tested an actual SFP module,
though.
Performance seems to be reasonable. Routing between two GBit ports on that
switch separated by different VLANs with the default firewall ruleset (and one
additional rule two allow traffic between the VLANs), but without NAT, iperf3
results are:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 508 MBytes 426 Mbits/sec 102
sender
[ 4] 0.00-10.00 sec 506 MBytes 425 Mbits/sec
receiver
With a connection going through NAT (also 2 ports on the same GBit switch, same
ruleset, but NAT active), routing performance drops to around 250 MBit/s.
(Note that RouterOS achieves beyond 900 MBit/s on the same hardware with the
default rule set and the FastTrack rule active even for NAT, see
https://wiki.mikrotik.com/index.php?title=Manual:IP/Fasttrack and
http://www.mikrotik.com/download/share/FastTrack.pdf).
Summarizing, I strongly recommend to apply this patch in trunk, so that the
GBit switch chip rev. 4 can be supported upstream in the next LEDE release
(hopefully soon).
Signed-off-by: René Mayrhofer <[email protected]>
---
target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
index 0db359c..6e49839 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb2011.c
@@ -270,6 +270,7 @@ static int __init rb2011_setup(u32 flags)
rb2011_nand_init();
ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 |
+ AR934X_ETH_CFG_RXD_DELAY |
AR934X_ETH_CFG_SW_ONLY_MODE);
ath79_register_mdio(1, 0x0);
@@ -283,7 +284,7 @@ static int __init rb2011_setup(u32 flags)
ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
ath79_eth0_data.phy_mask = BIT(0);
ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
- ath79_eth0_pll_data.pll_1000 = 0x06000000;
+ ath79_eth0_pll_data.pll_1000 = 0x6f000000;
ath79_register_eth(0);
--
2.7.4
_______________________________________________
Lede-dev mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/lede-dev