DP83867IR: 1Gbps link fails with specific cables

Part Number: DP83867IR

Tool/software:

Hi everyone,

I'm having some problems with the DP83867IR PHY and certain Ethernet cables. Our product is in mass production stage and some units over thousands experience this behaviour.

Let me explain with a practical example.

I have three different Ethernet cables, which I will call A, B and C.

The PHY links at 1 Gbps with cables A and B, but only at 100 Mbps with cable C.

The same cables are used to connect other products of the same model (same PHY, same electronics, same layout), and all of them link at 1 Gbps with cables A, B and C.

This test is highly reproducible, even with different NICs.

I have read almost all of the PHY registers, but nothing seems suspicious.

Here are some registers when the camera is connected via cable C (the one that connects at 100 Mbps)

name address value
BMCR 0x0000 0x1140
BMSR 0x0001 0x7949
PHYIDR2 0x0003 0xA231
ANAR 0x0004 0x0D81
ANLPAR 0x0005 0xCDE1
ANER 0x0006 0x0064
ANNPTR 0x0007 0x2001
ANNPTR 0x0008 0x0000
CFG1 0x0009 0x0300
STS1 0x000A 0x0000
PHYSTS 0x0011 0x0302
ISR 0x0013 0x0040
RECR 0x0015 0x0000
BISCR 0x0016 0x0000
STS2 0x0017 0x0040
CFG3 0x001E 0x0002
CRE 0x008A 0x0000
ALTFGAB 0x00A0 0x0908
ALTFGCD 0x00A1 0x060A
RXFSTS 0x0135 0x0000
IO_MUX_CFG 0x0170 0x0C0E

TDR done with cable C connected and NIC disabled:

name address value
TDR_PEAKS_SIGN_A_B  0x01A5 0x0021 (with cables A, B the value is 0x0021)
TDR_PEAKS_SIGN_C_D 0x01A6 0x0061 (with cables A, B the value is 0x0021)

Do you have any suggestions?

Thank you in advance for your time.

Regards.

  • Hi Mirko, 

    It looks like the link is disabled in the register dump. But, you are seeing that the link is up and is 100Mbps, right?
    Also, what are the cable length?

    Best,
    J

  • Hi J,

    I apologise; I attached the register dump that was performed during the TDR, so the connection was down. For completeness, here is the one with the link up at 100Mbps with the cable C.

    name address value
    BMCR 0x0000 0x1140
    BMSR 0x0001 0x796D
    PHYIDR2 0x0003 0xA231
    ANAR 0x0004 0x0D81
    ANLPAR 0x0005 0xCDE1
    ANER 0x0006 0x006F
    ANNPTR 0x0007 0x2001
    ANNPTR 0x0008 0x6001
    CFG1 0x0009 0x0300
    STS1 0x000A 0x2800
    PHYSTS 0x0011 0x6F02
    ISR 0x0013 0x1800
    RECR 0x0015 0x0000
    BISCR 0x0016 0x0000
    STS2 0x0017 0x0040
    CFG3 0x001E 0x0002
    CRE 0x008A 0x0000
    ALTFGAB 0x00A0 0x0908
    ALTFGCD 0x00A1 0x060A
    RXFSTS 0x0135 0x0000
    IO_MUX_CFG 0x0170 0x0C0E

    The cables are in range of 1-10 m, the cable C is 10 m.

    I'd also like to mention that I tried the improvements suggested in Section 3 of the SNLA246C: '3.2 Improving Link Margins across Different Channels' and '3.4 Unstable Link Up Debug in 1 Gbps Communication'. However, these didn't make any difference.

    Regards,

    Mirko