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.

DP83867IR: Unable to connect to ethernet as auto-negotiation is not complete

Part Number: DP83867IR

We are using DP83867IR as the ethernet phy in our board with NXP IMX8MP. We have two etherner ports, and the first port works correctly, and the second port does not. So, we tried to debug the issue and took the register dump of the DP83867 ethernet phy before and after connecting the ethernet cable to the second ethernet port and found that the auto-negotiation was not complete (Register 0x0002). So, what can be done to fix the issue? Below is the register dump of DP83867 before and after connecting the ethernet cable to the second ethernet port.

Before connecting the ethernet cable:

0x0=0x140
0x1=0x7949
0x2=0x2000
0x3=0xA231
0x4=0x1E1
0x5=0x0
0x6=0x64
0x7=0x2001
0x8=0x0
0x9=0x1300
0xA=0x0
0xD=0x0
0xE=0x0
0xF=0x3000
0x10=0x5448
0x11=0xA802
0x12=0x0
0x13=0x0
0x14=0x29C7
0x15=0x0
0x16=0x0
0x17=0x40
0x18=0x6150
0x19=0x4444
0x1A=0x2
0x1E=0x2
0x1F=0x0

After connecting the ethernet cable:

0x0=0x1000
0x1=0x794D
0x2=0x2000
0x3=0xA231
0x4=0xDE1
0x5=0x0
0x6=0x64
0x7=0x2001
0x8=0x0
0x9=0x1300
0xA=0x0
0xD=0x0
0xE=0x0
0xF=0x3000
0x10=0x5448
0x11=0x702
0x12=0x0
0x13=0x440
0x14=0x29C7
0x15=0x0
0x16=0x0
0x17=0x40
0x18=0x6150
0x19=0x4444
0x1A=0x2
0x1E=0x2
0x1F=0x0

  • Hi Benz,

    Based on the register read, it seems like you are using force mode instead of auto-negotiation mode based on register 0x0000. That is why you are not able to see auto-negotiation complete. I also see that you are able to link up in the force mode. Are you not able to see ping after link up on second ports?

    We usually recommend customer to use auto-negotiation mode instead of force mode by writing 0x0000 to 1140. Could you also try that and see if you are able to link up? Also make sure link partner is in auto-negotiation mode.

    --

    Regards,

    Hillman Lin

  • Hi Hillman,

    We are not able to ping in the second port. We tried writing 0x0000 to 1140, but that didn't solve the problem. 

  • Hi Benz,

    Thank you for attempting. I do have couple request on my side for further debug:

    • Could you clarify on the scenario after connecting the cable? I see that you are able to see link up but no auto-negotiation complete. Am I correct with this understanding?
      • If so, trying writing 0x001F to 4000 after connecting the cable and see if you are abl to fix the issue.
    • Could you share me the block diagram on your current setup (a picture would be helpful)
      • What is the link partner that you in your system?
      • What cable are you using and how long is the cable?
      • Are you able able to see link up when connecting two DP83867PHY?
    • If possible, could you also share the register dump after you configure 0x0000 to 1140?
    • Is there any schematic difference between two ports?

    --

    Regards,

    Hillman Lin

    --

    Regards,

    Hillman Lin

  • Hi Hillman,

    Thanks for the reply.

    The scenario is we are connecting an ethernet cable to the second ethernet port and we find that the link is up, but auto-negotiation has not completed. I am saying that auto-negotiation hasn't been completed by reading the phy register 0x0001 after connecting the ethernet cable. There is no schematic difference between the two ethernet ports, but the first ethernet port supports Quality of Service(QoS). We are using the same ethernet cable to test both the ports and the length of the cable is 3 meters long and it is Untwisted Pair (UTP) cable. 

    I will update you further with the register dump.

  • Hi Benz,

    Have you try the following and see if that help with your scenario?

    • writing 0x001F to 4000 after connecting the cable and see if you are able to fix the issue
    • writing 0x0000bit[9] = 1 and see if that solve the issue?

    One more thing I would like to confirm is the following. Is the link partner also DP83867PHY on NXP IMX8MP board?

    • If so, try the following and see if that help with the issue.
      • Write 0x0009 bit[12:11] to 11 on one of the DP83867PHY and write 0x0009 bit[12 :11] to 10 on
        another DP83867PHY.

    --

    Regards,

    Hillman Lin