Hello,
Our board have two 100Mb and two Gigabits interfaces. All interfaces are connected to the same PC (Centos 7 OS).
After a while (several minute or few hours), one of the 100Mb interfaces goes down without any reason (no link detected on our board). Problem appears with a Linux 4.1.35 and a FreeBSD 11.2 OS on our board.
The problem has been reproduce with other PC (Windows/Linux)
We made a dump of the PHY register before and after the problem:
Before :
BMCR: 0x1140 BMSR: 0x796d PHY_IDR1: 0x2000 PHY_IDR2: 0xa231 ANAR: 0x01e1 ANLPAR: 0xc5e1 ANER: 0x006d ANNPTR: 0x2001 ANNPRR: 0x7801 CFG1: 0x0300 STS1: 0x0800 REGCR: 0x401f ADDAR: 0x0481 1KSCR: 0x3000 DP_PHYCTR: 0x5848 DP_PHYSTS: 0x6c02 DP_MICR: 0x0008 DP_ISR: 0x0000 DP_CFG2: 0x29c7 DP_RECR: 0x0000 DP_BISCR: 0x0000 DP_STS2: 0x0040 DP_LEDCR1: 0x6150 DP_LEDCR2: 0x4444 DP_LEDCR3: 0x0002 DP_CFG3: 0x0082 DP_CTRL: 0x0000 DP_TMCH_CTRL: 0xc5e1 DP_FLD_CFG: 0x401f DP_CFG4: 0x6c02 DP_RGMIICTL: 0x0008 DP_RGMIICTL2: 0x0000 DP_100CR: 0xa231 DP_STRP_STS1: 0x0481 DP_STRP_STS2: 0x3000 DP_RGMIIDCTL: 0x006d DP_IO_MUX_CFG: 0x5848 DP_GPIO_MUX_CTRL1: 0x6c02 DP_GPIO_MUX_CTRL2: 0x0008
After:
BMCR: 0x1140 BMSR: 0x1140 PHY_IDR1: 0x1140 PHY_IDR2: 0x1140 ANAR: 0x1140 ANLPAR: 0x1140 ANER: 0x1140 ANNPTR: 0x1140 ANNPRR: 0x1140 CFG1: 0x1140 STS1: 0x1140 REGCR: 0x401f ADDAR: 0x1140 1KSCR: 0x1140 DP_PHYCTR: 0x1140 DP_PHYSTS: 0x1140 DP_MICR: 0x1140 DP_ISR: 0x1140 DP_CFG2: 0x1140 DP_RECR: 0x1140 DP_BISCR: 0x1140 DP_STS2: 0x1140 DP_LEDCR1: 0x1140 DP_LEDCR2: 0x1140 DP_LEDCR3: 0x1140 DP_CFG3: 0x1140 DP_CTRL: 0x1140 DP_TMCH_CTRL: 0x1140 DP_FLD_CFG: 0x401f DP_CFG4: 0x1140 DP_RGMIICTL: 0x1140 DP_RGMIICTL2: 0x1140 DP_100CR: 0x1140 DP_STRP_STS1: 0x1140 DP_STRP_STS2: 0x1140 DP_RGMIIDCTL: 0x1140 DP_IO_MUX_CFG: 0x1140 DP_GPIO_MUX_CTRL1: 0x1140 DP_GPIO_MUX_CTRL2: 0x1140
This problem does not seem to appear when connected to a switch. Moreover, we have not observed it on a Gigabit link.
For information, our board is not Half Duplex capable. But on the Centos PC, ethtool returns:
Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 100baseT/Half Link partner advertised pause frame use: No Link partner advertised auto-negotiation: No Link partner advertised FEC modes: Not reported Speed: 100Mb/s Duplex: Half Port: Twisted Pair PHYAD: 4 Transceiver: internal Auto-negotiation: on MDI-X: off Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) drv probe link timer ifdown ifup rx_err tx_err Link detected: yes
Do you have an idea of where this problem could come from?
Thank you for you help and do not hesitate if you need more information.