Subject: Re: Davicom DM9162 PHY supported in the kernel?

From: Andrew Lunn <[email-masked]>
Date: Wed, 25 May 2016 14:39:41 +0200

On Wed, May 25, 2016 at 11:28:37AM +0100, Amr Bekhit wrote:
> Hi Andrew,
> 
> I added the following line to genphy_read_status to print out the value of BMCR:
> 
>  phydev->lp_advertising = 0;
> 
> +printk(KERN_DEBUG "MII_BMCR: 0x%04X\n", phy_read(phydev, MII_BMCR));
> 
>  if (AUTONEG_ENABLE == phydev->autoneg) {
> 
> After booting up the kernel and running ifconfig eth0 up, I get the
> following in kernel log:
> 
> [   83.890625] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [   85.328125] MII_BMCR: 0x1000
> [   86.328125] MII_BMCR: 0x1000
> [   87.328125] MII_BMCR: 0x3100
> [   87.328125] macb f802c000.ethernet eth0: link up (100/Full)
> [   87.328125] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [   88.328125] MII_BMCR: 0x3100
> [   89.328125] MII_BMCR: 0x3100
> [   90.328125] MII_BMCR: 0x3100
> 
> So it appears that after bringing the interface up, the PHY is
> configured for 100Mbps, autoneg enabled and duplex mode. The PHY is
> not isolated or powered down.

So this all looks good. So it suggests your problem is between the MAC
and the PHY, since the PHY is able to talk to the PHY on the other end
of the cable.

What do you have in device tree?

     Andrew