On Wed, Jun 07, 2017 at 03:51:15PM +0200, Christian Lamparter wrote:
> This patch fixes a problem where the AR8035 PHY can't be
> detected on an Cisco Meraki MR24, if the ethernet cable is
> not connected on boot.
> 
> Russell Senior provided steps to reproduce the issue:
> |Disconnect ethernet cable, apply power, wait until device has booted,
> |plug in ethernet, check for interfaces, no eth0 is listed.
> |
> |This appears to be a problem during probing of the AR8035 Phy chip.
> |When ethernet has no link, the phy detection fails, and eth0 is not
> |created. Plugging ethernet later has no effect, because there is no
> |interface as far as the kernel is concerned. The relevant part of
> |the boot log looks like this:
> |this is the failing case:
> |
> |[    0.876611] /plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
> |[    0.882532] /plb/opb/ethernet@ef600c00: reset timeout
> |[    0.888546] /plb/opb/ethernet@ef600c00: can't find PHY!
> |and the succeeding case:
> |
> |[    0.876672] /plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
> |[    0.883952] eth0: EMAC-0 /plb/opb/ethernet@ef600c00, MAC 00:01:..
> |[    0.890822] eth0: found Atheros 8035 Gigabit Ethernet PHY (0x01)
> 
> Based on the comment and the commit message of
> commit 23fbb5a87c56 ("emac: Fix EMAC soft reset on 460EX/GT").
> This is because the AR8035 PHY doesn't provide the TX Clock,
> if the ethernet cable is not attached. This causes the reset
> to timeout and the PHY detection code in emac_init_phy() is
> unable to detect the AR8035 PHY. As a result, the emac driver
> bails out early and the user left with no ethernet.
> 
> In order to stay compatible with existing configurations, the driver
> tries the current reset approach at first. Only if the first attempt
> timed out, it does perform one more retry with the clock temporarily
> switched to the internal source for just the duration of the reset.
> 
> LEDE-Bug: #687 
> <https://bugs.lede-project.org/index.php?do=details&task_id=687>
> 
> Cc: Chris Blake <chrisrblak...@gmail.com>
> Reported-by: Russell Senior <russ...@personaltelco.net>
> Fixes: 23fbb5a87c56e98 ("emac: Fix EMAC soft reset on 460EX/GT")
> Signed-off-by: Christian Lamparter <chunk...@googlemail.com>

Reviewed-by: Andrew Lunn <and...@lunn.ch>

    Andrew

Reply via email to