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.

DP83867E: Impossible to make a ping with DP83867E Ethernet

Part Number: DP83867E


Hi,

I have done a lot of test on the DP83867E to find the issue but i have any idea of the source!

The PHY DP83867E was configured in the Far-End Loopback mode. I have used CatKarat and Wireshark as a Link partner. I have send a ethernet frame in 802.3 raw with CatKarat and i have seen the feedback on Wireshark.

The problem is to find how to the MII loopback....to test the SGMII link between the MACs.

I have a Yocto Linux on my Processor but i have any idea how to send data on the SGMII link and control the good feedback.

What's the value that correspond to a SGMII link status OK? Is it only on the register 0x0037 or others registers?

Thanks a lot!

Best regards

Guillaume Arrias

  • Hi Guillaume, 

    Could you please explain your request in this sentence below

    "The problem is to find how to the MII loopback....to test the SGMII link between the MACs." Are you wondering how to put the device in MII loopback?

    If you refer to table 4 it shows the availability of SGMII in MII loopback however, it does not provide the link status indication.

    Cecilia

  • Hi Cecilia,

    I'm looking for a solution or methodoly with Linux commands or other things to test the SGMII link between the PHY MAC and the T1042 MAC.

    The first Step consist of setting the PHY DP83867E into MII/Digital loopback mode. I have found in the Troubleshooting guide but not for the SGMII link. Does it just necessary to change the value of the register 0x0032?

    For the SGMII link, the AC-coupled capacitors must be place near the receiver or transmitter or at any position?

    The register 0x0037 is always at 0x0000. Could you tell me what the reasons of no received sgmii page and no auto neg sgmii completion?

    I have check the requirements to establish a SGMII link and i don't find where is the problem....

    Could you help me?

    Thanks a lot!

    Best regards

    Guillaume Arrias

  • Hi Guillaume

    Can you share the entire register dump you see with the device?

    Thanks!

    Cecilia

  • Hi Cecilia,

    Of course!

    Have you any command that can i send on the mdio link to have the register's value of all registers with a minimum commmands?

    I go to try Post increment access!

    Guillaume

  • Hi,

    Do you tell me if the lack of a pull up resistor on the MDIO signal might cause auto negotiation problem on SGMII? 

    However, this lack might cause also communication on MII link, no?

    Could you explain me the importance to set le LED1 for the Autoneg? It's just for the MDI interface?

    Thanks a lot for your help!

    I start to get back register values soon :)

    Guillaume

  • Hi Guillaume

    Yes, you are correct. LED1 set for autonegotiation enable is for the MDI side. It negotiates between the two link partners the highest performance advertised from both (speed, duplex, master/slave etc)

    Thanks,

    Cecilia

  • Hi Cecilia,

    Please find the values of a lot of registers:

    address     Data

    0x0000 0x1140
    0x0001 0x796D
    0x0002 0x2000
    0x0003 0xA231
    0x0004 0x01E1
    0x0005 0xCDE1
    0x0006 0x006F
    0x0007 0x2001
    0x0008 0x5006
    0x0009 0x0300
    0x000A 0x3800
    0x000B 0x0000
    0x000C 0x0000
    0x000D 0x401F
    0x000E 0x3800
    0x000F 0x3000
    0x0010 0x5848
    0x0011 0xBC02
    0x0012 0x0000
    0x0013 0x1C40
    0x0014 0x29C7
    0x0015 0x0000
    0x0016 0x0000
    0x0017 0x0040
    0x0018 0x6150
    0x0019 0x4444
    0x001A 0x0002
    0x001B 0x0000
    0x001C 0x0000
    0x001D 0x0000
    0x001E 0x0002
    0x001F 0x000d
    0x0025 0x0400
    0x002C 0x141F
    0x002D 0x0000
    0x002E 0x0221
    0x0031 0x10B0
    0x0032 0x00D3
    0x0033 0x0000
    0x0037 0x0000
    0x0043 0x07A0
    0x0053 0x2055
    0x0055 0x0000
    0x006E 0x0801
    0x006F 0x0100
    0x0071 0x0000
    0x0072 0x0000
    0x007B 0x05DC
    0x007C 0x007D
    0x0086 0x0077
    0x00C6 0x0000
    0x00D3 0x0000
    0x00E9 0x9F22
    0x00FE 0xE721
    0x012C 0x0C2D
    0x0134 0x1000
    0x0135 0x0000
    0x016F 0x0095
    0x0170 0x0C0F
    0x0172 0x0000
    0x0180 0x0752
    0x01D5 0xF500

    I have checked the clock electrical and frequency caracteristics and everything works fine!

    Please, could you take a look on the register? Maybe there is a problem on 0x0032 and 0x005E? Maybe there is a bad value into the register 0x0170 for the IO_IMPEDANCE_CTRL bit name? FFFF is not to low to set the impedance of MAC IO/s? Normally, it must be set to 50Ohms and not at 35Ohms.... What's the meaning of this "impedance"? Is it for the SGMII link? The default value is set à 35Ohms by this register? Where is the trim indicated in our documentation page 87?

    Is it necessary to put a pull resistor of 1.5K on the MDIO signal? The lack of this resistor could create SGMII autenogociation error?

    Thanks a lot for your help!

    Have a good day!

    Guillaume Arrias

  • Hi Guillaume,

    Yes I can take a look at the registers you have sent over. Thank you for recording these values for me. Please allow me 3-5 days to review these items and get back to you with my feedback.

    In the meantime you can also look at our troubleshoot guide for the DP83867 on items to confirm some key measurements to ensure proper function.

    http://www.ti.com/lit/an/snla246a/snla246a.pdf

    Thanks!

    Cecilia 

  • Hi Cecilia,

    Have you taken a look at the registers sent almost two weeks ago?

    I have already read the troubleshoot guide for the DP83867.

    Maybe the problem is the lack of the pull up resistance on the MDIO signal that the SGMII Autonegotiation has not been done! I don't know.

    What are the signs that would allow me to recognize signs of unstable MDIO link?

    Perhaps the problem is the bad configuration of IO_IMPEDANCE_CTRL in the 0x0170 register. What is the impedance setted by this parameter?  single ended to ground impedance of SGMII link? 

    Thanks so much for your fast reply!

    Have a good day!

    Take care of you!

    Guillaume

  • Hi Guillaume,

    Apologies on the delay, due to external circumstances and COVID-19 I have had a delay in responses to some E2E questions. On your question about the unstable MDIO link have you been able to probe the MDIO and MDC lines? You would be able to then see on your oscilloscope whether or not the signals are unstable. 

    Based on the register reads for 0x1, it looks like you had a link established and that Auto-negotiation has been enabled. 

    Are you still seeing issues on the SGMII registers? 

    Thanks,

    Cecilia

  • Hi Cecilia,

    The current circumstances require more time to do the same job than ever before!

    I have proben the MDC line and the frequency signal was about 500KHz. I think it's rather slow... I haven't proben the MDIO line. I could take a look with my own oscilloscope to get some mease of there signals. Maybe i need to solder a 1.5K pull-up resistor on the MDIO line?

    Yes the SGMII registers are still at 0x00....

    I would like to try to set the IO_IMPEDANCE_CTRL of the 0x0170 register at a 50 Ohms impedance. Could you tell me if this parameter set the impedance output of the DP83867 SGMII link? Actually this impedance has been set to 35Ohms impedance. However, the actual layout of this SGMII signals have been routed with 100 Ohms differential traces and single ended impedance to ground at 55 Ohms...

    Have you another idea that i can to check?

    Thanks a lot!

    Guillaume Arrias

  • Hi Guillaume

    Yes that is very true. Thanks for your patience, hope you are staying healthy and safe during these times.

    Yes you can use register 0x170 to change the impedance control. Please let me know what you are reading and if you are able to adjust the values and see any change.

    Have you also added the dummy straps shown in Figure 25?

    Thanks,

    Cecilia