[OpenWrt-Devel] [PATCH 1/2] ar71xx: fix ethernet packet loss issues on OM5P-AN

Sven Eckelmann sven at open-mesh.com
Fri Apr 10 11:58:04 EDT 2015

On Friday 10 April 2015 17:39:04 Daniel Golle wrote:
> Hi!
> Sorry for hijacking this thread...
> I observed some recent ubiquiti gear suffering from similar issues,
> suspected the hardware being broken or some EE functionality missing in
> the driver as the issue usually occurs after some time of inactivity...
> My logs repeatedly get filled with stuff like that:
> Fri Apr 10 17:31:07 2015 kern.info kernel: [75029.020000] eth0: tx timeout
> Fri Apr 10 17:31:07 2015 kern.info kernel: [75029.020000] eth0: link down
> Fri Apr 10 17:31:08 2015 kern.info kernel: [75029.850000] eth0: link up
> (100Mbps/Full duplex)
> Observed on ubnt nanostation loco m5 xw and recent bullet m5 with phy
> having phy_id 0x004dd041
> Could that be related?

I don't know the nanostation loco m5 xw. But this is at least not what I see
here. The link would be stable (at least the PHY thinks that it is stable) but
no frames/not all fames are transfered from the device to its link-partner.

I had problems in the past with some optimization by from Felix which caused
situations like that. For some reason the device was not correctly reseted on
errors. This looked like it was caused by his reset optimizations. When this
device uses the ag71xx driver, is a ar724x device and you suspect that this is
a partial reset problem then you may try something like this

--- 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
@@ -865,12 +865,6 @@ static void ag71xx_restart_work_func(struct work_struct *work)
 	struct ag71xx *ag = container_of(work, struct ag71xx, restart_work);
-	if (ag71xx_get_pdata(ag)->is_ar724x) {
-		ag->link = 0;
-		ag71xx_link_adjust(ag);
-		return;
-	}

Of course, this is only a test and may only be useful when you can reproduce
the problem. It could easily be something completely else. But hard to tell
without knowing the hardware or having seen the problem before. :)

Kind regards,
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list