[OpenWrt-Devel] [PATCH] ath79: dev-eth: Don't advertise 1gbit in link code word on ar9331

Felix Fietkau nbd at openwrt.org
Sun Sep 7 05:46:23 EDT 2014

On 2014-09-07 06:10, Harald Welte wrote:
> While the AR9331 has a gigabit MAC towards the internal switch, the
> integrated PHYs however are only 100-base-tx capable.  The existing code
> however advertieses gigabit capability in the link status word.  If you
> attach such a PHY to a gigabit capable switch on the remote end, with
> some probability it attempts to negotiate gigabit and fails, falling
> baco to the AR9331 assuming a 10mbit half-duplex link.  This has been
> observed quite frequently with the Carambola2 and gigabit capable
> switches.
> In ath79_register_eth(), "pdata->has_gbit = 1;" is set unconditionally
> for both AR9331 ethernet ports. This is most likely wrong. Despite the
> two MAC IP cores being gigabit MACs, the MAC for eth1 is connected to a
> 100base-T PHY via MII. The has_gbit attribute is used in the ethernet
> driver to determine the supported link modes.
> So either pdata->has_gbit is not set to 1 anymore, or the ethernet
> driver needs to be modified to determine the advertised link code word
> on another criteria than pdata->has_gbit.  This patch implements the
> former solution.
> Signed-off-by: Harald Welte <laforge at gnumonks.org>
Committed in r42432, thanks.

- Felix
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list