lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 11 May 2023 17:34:24 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Ron Eggler <ron.eggler@...tywest.com>
Cc: netdev@...r.kernel.org
Subject: Re: PHY VSC8531 MDIO data not reflected in ethernet/ sub-module

> ***[ 6.728165] DEBUG: in ravb_emac_init_gbeth(), calling
> ravb_set_rate_gbeth(), priv->duplex: 0, priv->speed: 0*
> ***[ 6.751973] DEBUG: in ravb_set_rate_gbeth() - priv->speed 0*
> ***[ 6.831153] DEBUG: in ravb_adjust_link(), phydev->speed -1, priv->speed
> 0*
> ***[ 6.839952] DEBUG: in ravb_adjust_link(), priv->no_avb_link 0,
> phydev->link 0*

If there is no link, everything else is meaningless. You cannot have
speed without link.

> While I also receive the following using the mii-tool utility:
> # mii-tool -vv eth0
> Using SIOCGMIIPHY=0x8947
> eth0: negotiated 1000baseT-FD flow-control, link ok
>   registers for MII PHY 0:
>     1040 796d 0007 0572 01e1 cde1 000f 2001
>     4006 0300 7800 0000 0000 4002 0000 3000
>     0000 f000 0088 0000 0000 0001 3200 1000
>     0000 0000 0000 0000 a035 0054 0400 0000
>   product info: vendor 00:01:c1, model 23 rev 2
>   basic mode:   autonegotiation enabled
>   basic status: autonegotiation complete, link ok
>   capabilities: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD
> 10baseT-FD 10baseT-HD
>   advertising:  1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
>   link partner: 1000baseT-HD 1000baseT-FD 100baseTx-FD 100baseTx-HD
> 10baseT-FD 10baseT-HD flow-control

Assuming you are not using interrupts, phylib will poll the PHY once a
second, calling
phy_check_link_status()->
  phy_read_status()->
    phydev->drv->read_status()
or
    genphy_read_status()

Check what these are doing, why do they think the link is down.

      Andrew

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ