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.