#19498: Packet loss on ALFA Hornet-UB on one port
------------------------+------------------------
Reporter: anonymous | Owner: developers
Type: defect | Status: new
Priority: normal | Milestone:
Component: packages | Version: Trunk
Resolution: | Keywords:
------------------------+------------------------
Comment (by Sven Eckelmann <sven.eckelmann@…>):
It looks like MAC_CFG1_INIT has to be slightly modified. Right now it is:
{{{
#define MAC_CFG1_INIT (MAC_CFG1_RXE | MAC_CFG1_TXE | \
MAC_CFG1_SRX | MAC_CFG1_STX)
}}}
And it works by adding MAC_CFG1_TFC + MAC_CFG1_RFC
{{{
---
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
+++
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c
@@ -455,7 +455,11 @@ static void ag71xx_hw_setup(struct ag71xx *ag)
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
/* setup MAC configuration registers */
- ag71xx_wr(ag, AG71XX_REG_MAC_CFG1, MAC_CFG1_INIT);
+ if (pdata->is_ar724x)
+ ag71xx_wr(ag, AG71XX_REG_MAC_CFG1,
+ MAC_CFG1_INIT | MAC_CFG1_TFC | MAC_CFG1_RFC);
+ else
+ ag71xx_wr(ag, AG71XX_REG_MAC_CFG1, MAC_CFG1_INIT);
ag71xx_sb(ag, AG71XX_REG_MAC_CFG2,
MAC_CFG2_PAD_CRC_EN | MAC_CFG2_LEN_CHECK);
}}}
This basically enables flow control for the internal switch port of these
devices. This was already enabled before for ar724x in the past but Felix
disabled it with r27034 because he had problems with it (see the commit
description for more details).
--
Ticket URL: <https://dev.openwrt.org/ticket/19498#comment:3>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets