This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83825I: Ethernet Interface Fails to Reconnect After Cable Replug – Requires Manual Restart

Part Number: DP83825I

Tool/software:

We are experiencing an intermittent issue with the Ethernet interface on our system. When the Ethernet cable is continuously connected, the link remains stable, and network communication works fine. However, if we disconnect the cable for a few minutes (or sometimes hours) and then reconnect it, the link does not come back up automatically.

We need to manually bring the Ethernet interface down and up again to restore the connection. The issue is random—sometimes it occurs after a short disconnection, other times after hours, and occasionally it does not happen at all.

When the issue occurs, the following status is observed:

# cat /sys/class/net/eth0/carrier
0
# ip link show eth0
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether ce:92:2f:1a:a3:f8 brd ff:ff:ff:ff:ff:ff
# cat /sys/class/net/eth0/operstate
down
# ethtool eth0
Settings for eth0:
   Supported ports: [ TP     MII ]
   Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
   Supported pause frame use: Symmetric Receive-only
   Supports auto-negotiation: Yes
   Supported FEC modes: Not reported
   Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
   Advertised pause frame use: No
   Advertised auto-negotiation: Yes
   Advertised FEC modes: Not reported
   Speed: Unknown!
   Duplex: Unknown! (255)
   Auto-negotiation: on
   Port: MII
   PHYAD: 0
   Transceiver: external
Current message level: 0x00000001 (1)
drv
   Link detected: no
#
# dmesg | grep eth
[ 5.847423] ambarella-eth e000e000.ethernet: select RMII mode
[ 5.918519] ambarella-eth e000e000.ethernet: Ethernet PHY[0]: 0x2000a140, Fixed!
[ 5.936872] ambarella-eth e000e000.ethernet: using random Ethernet MAC
[ 5.954813] using random self ethernet address
[ 5.958439] ambarella-eth e000e000.ethernet: CONFIG_PTP_1588_CLOCK is not set
[ 5.968465] using random host ethernet address
[ 5.975373] ambarella-eth e000e000.ethernet: MAC Address[7a:63:51:f4:84:aa].
[ 5.996406] using random self ethernet address
[ 6.002130] using random host ethernet address

  • Hi Jishnu,

    This may be an auto-negotiation issue where the PHY <-> SoC are not properly restarting auto-negotiation process when reconnecting the cable.

    To confirm, please apply these register writes in the failing case:

    0x0[9] = '1' (restart auto-negotiation)

    0x1F = 0x4000 (soft reset)

    Thank you,

    Evan