Hi. If OFW halts NSA320 or NSA310S (and probably NSA325) it sets network interface into "wol" mode (which does not work properly for me)
To fix this issue we can do power_resume trick or patch mv643xx_eth.c
Patch works with wheezy 3.2 kernel and should work with newer kernels (it also adds downshift)
$this->bbcode_second_pass_code('', '--- a/drivers/net/ethernet/marvell/mv643xx_eth.c 2014-04-09 03:20:47.000000000 +0200
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c 2014-06-13 19:12:20.341329352 +0200
@@ -2777,6 +2777,23 @@
{
struct phy_device *phy = mp->phy;
+ int reg;
+
+ /*Leds link and activity */
+ phy_write(mp->phy, 22, 0x3);
+ reg = phy_read(mp->phy, 16);
+ reg &=~0xf;
+ reg |=0xf;
+ phy_write(mp->phy, 16, reg);
+ phy_write(mp->phy, 22, 0x0);
+
+ /* Enable downshift; 4-pin cable may plug into gigabit switch */
+ phy_write(mp->phy, 22, 0x0);
+ reg = phy_read(mp->phy, 16);
+ reg |=(1<<11);
+ phy_write(mp->phy, 16, reg);
+
+
phy_reset(mp);
phy_attach(mp->dev, dev_name(&phy->dev), 0, PHY_INTERFACE_MODE_GMII);
')