Felix Kaechele wrote:
diff --git 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
index ec88233..e99c172 100644
--- 
a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
+++ 
b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c
@@ -181,6 +193,12 @@ static int ag71xx_mdio_reset(struct mii_bus *bus)
        ag71xx_mdio_wr(am, AG71XX_REG_MII_CFG, t);
        udelay(100);

+       if(am->pdata->wake_phys) {
+               for (i = 0; i < PHY_MAX_ADDR; i++)
+                       ag71xx_mdio_write(bus, i, 0x0, BIT(12));
+               udelay(600);
+       }
+
        return 0;
  }

Did some more testing today. Looks like this is not it.
The switch port only negotiates 10 Mbps Half Duplex.

I observed, the more I replicate what the ar8327_hw_init function from the ar8216 phy driver does, the closer to the desired result I get.

If I just plainly reset each PHY on the switch it then get's detected by the mdio bus scan but obviously isn't initialized correctly.

However, I end up with everything looking good but I'm still unable to actually transfer data (i.e. ping) to other hosts connected to the switch.

So I guess the initialization isn't done correctly, but I can't seem to figure out where.

Any ideas?

- Felix
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to