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.

DP83822I: When dp83822i is currently used, the network interface will be blocked

Part Number: DP83822I

We use dp83822i to do 10m / 100M adaptive Ethernet Design in the redesign. There are two pieces in total, and each piece is connected with two RJ45 network ports

1. When dp83822i is currently used, the network interface will be blocked. If the network interface is blocked, ifconfig eth0 down must be executed, and then ifconfig eth0 up must be executed before the network interface can resume communication normally;

2. Another phenomenon is that when the network interface is blocked, the link light of the network interface will be on, and the data light will also flash; the network interface can't be restored to normal by the operation of plugging and unplugging the network cable, and the network interface can be restored to normal by rebooting or power-off restart, or executing ifconfig eth0 down or ifconfig eth0 up;

3. In order to find out this problem, I added some PHY chip register information to the bottom register, and found that the 12bit value of the phystat register is not correct when the network port is not connected, but according to the manual, this bit value will not affect the communication of the 100m network port; under normal conditions, the 12bit value should be 0, and the 12bit value is 1 when the network port is not connected.

4. At present, there are not too many exceptions, only the difference of status register between the connected machine and the disconnected machine is found, and the value of other registers is not different;

I want to know:

1. When there is an exception, which registers and which bits should I look at?

2. Is it related to the network electromagnetic environment? How to improve?

Register when network port 1 is not available:

 *********** phy_id[1] regs ************
phy_id[1] = 0x2000,0xa240
BMCR[1] = 0x3100
BMSR[1] = 0x786d
FLDS[1] = 0x0
PHYSTS[1] = 0x1715
MISR1[1] = 0x0
MISR2[1] = 0x0
CR1[1] = 0x20
CR2[1] = 0x100
CR3[1] = 0x1000
REGCR[1] = 0x401f
PHYSCR[1] = 0x108
FCSCR[1] = 0x0
RECR[1] = 0x0
BISCR[1] = 0x100

 

Register when network port 1 is  available:

*********** phy_id[1] regs ************
phy_id[1] = 0x2000,0xa240
BMCR[1] = 0x3100
BMSR[1] = 0x786d
FLDS[1] = 0x0
PHYSTS[1] = 0x715
MISR1[1] = 0x0
MISR2[1] = 0x0
CR1[1] = 0x20
CR2[1] = 0x100
CR3[1] = 0x1000
REGCR[1] = 0x401f
PHYSCR[1] = 0x108
FCSCR[1] = 0x0
RECR[1] = 0x0
BISCR[1] = 0x100