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.

DP83TC811R-Q1: External interface link re-connection issues after disconnect

Part Number: DP83TC811R-Q1
Other Parts Discussed in Thread: DP83TC811

Hello,

we are having a strange Problem with the DP83TC811R Phy
which is connected to a lan7801. The lan7801 is connected
to a raspberrypi. We are using the Phy in Master mode.
We are facing a reconnect issue if the connected slave
is disconnected and reconnected again then the connection will
*sometimes* not be reestablished.

The strange thing is that in INT_STAT2 always "Overvoltage"
and in INT_STAT1 always "ESD Event" is set.
Also the "No Frame Detected" in INT_STAT3 is set event
there is a connection established.

Why are there NoFrame, overvoltage and ESD interrupts?

Overvoltage and ESD is almost always present.
What does overvoltage mean here? The datasheet says it's VDD. Which VDD is this?
When do you get an ESD event?

Do you think these messages are connected to not being able to sync
after the re-connect from the external interface?

I also attached our schematic.
Thanks for your help.

Best Regards,

Sven

  • Hi Sven,

    I have a few questions:

    1. Can you provide a block diagram of your setup for better clarity? What device are you referring to as the slave device in your description?
    2. Since you are seeing overvoltage/ESD interrupts, can you check the voltages on the rails (at VDDA, VDDIO, diode array, etc.) when the interrupts are triggered? Are the voltages actually higher or is the interrupt providing some sort of false positive result?
    3. Can you check if any of the parts are damaged since the overvoltage/ESD interrupts were triggered?

    Regards,

    Adrian Kam

  • Hi Adrian,

    1. Can you provide a block diagram of your setup for better clarity? What device are you referring to as the slave device in your description?
      - As Slave, we use USB to Automotive Ethernet Adaptor, connected to a Windows PC. This Adaptor is using NXPs TJA1100 PHY.
    2. Since you are seeing overvoltage/ESD interrupts, can you check the voltages on the rails (at VDDA, VDDIO, diode array, etc.) when the interrupts are triggered? Are the voltages actually higher or is the interrupt providing some sort of false positive result?
      - The Voltages are fine. VDDA and VDDIO = 3V3, Vpp < 200mV. In Standby, Vpp < 100mV.
      It seems the Overvoltage Interrupt will be generated, when we change the voltage range
      from 010 = VDDA- 4.5%< Voltage< VDDA+ 1.5%       to      001 = VDDA+ 1.5%< Voltage< VDDA+ 9%. But i can't see this change on VDDA or VDDIO.
    3. Can you check if any of the parts are damaged since the overvoltage/ESD interrupts were triggered?

    - As far as i can see, all other Parts are working correctly.

    Best regards,

    Michael

  • Hi Michael,

    Could you try to reupload the image of the block diagram? I don't see it on the thread.

    Regards,

    Adrian Kam

  • Hi Adrian,

    thank you for drawing attention.

    From DP83TC811 to the right side, the comment should be "100BASE-T1"

    Best regadrs,

    Michael

  • Hi Michael,

    Try the following:

    1. Can you read register 0x0448 and provide the results? The register indicates where the ESD event is detected.
    2. Can you try swapping the master/slave configuration and see if the issue is still present?

    In addition, can you provide the full schematic? You can upload it to the thread or email it to me if it cannot be publicly shared.

    Regards,

    Adrian Kam

  • Hi Adrian,

    Here the registers in Master and Slave mode:

    dp83811 Master Mode:

    Slave Power Off
    dp83811: dp83811_ack_interrupt
    dp83811: INT_STAT1           : 0xe8f7 ESD Event Interrupt / Link Status Changed / Energy Detected Interrupt / Link Quality
    dp83811: INT_STAT2           : 0x4007 Overvoltage
    dp83811: INT_STAT3           : 0x0811 No Frame Detected
    dp83811: SQI           0x0198: 0x0000
    dp83811: LD_CTRL       0x0400: 0x1020
    dp83811: xMII_IMP_CTRL 0x0461: 0x0410
    dp83811: MON_STAT2     0x0484: 0x1110
    dp83811: ESDS          0x0448: 0x000c

    Slave Power On
    dp83811: dp83811_ack_interrupt
    dp83811: INT_STAT1           : 0x6cf7 100BASE-T1 Master Training Complete Interrupt / ESD Event Interrupt / Link Status Changed / Energy Detected Interrupt
    dp83811: INT_STAT2           : 0x4007 Overvoltage
    dp83811: INT_STAT3           : 0x0811 No Frame Detected
    dp83811: SQI           0x0198: 0x034B
    dp83811: LD_CTRL       0x0400: 0x1020
    dp83811: xMII_IMP_CTRL 0x0461: 0x0410
    dp83811: MON_STAT2     0x0484: 0x1110
    dp83811: ESDS          0x0448: 0x000c

    Only read INT_STAT Registers, ESD Event Interrupt still active
    INT_STAT1 0x12: 0x08f7 ESD
    INT_STAT2 0x13: 0x4007 OVER_VOL
    INT_STAT3 0x18: 0x0811 NO_FRAME




    dp83811 Slave Mode:
    Master Power Off
    dp83811: dp83811_ack_interrupt
    dp83811: INT_STAT1           : 0xe8f7 ESD Event Interrupt / Link Status Changed / Energy Detected Interrupt / Link Quality
    dp83811: INT_STAT2           : 0x4007 Overvoltage
    dp83811: INT_STAT3           : 0x0011
    dp83811: SQI           0x0198: 0x0000
    dp83811: LD_CTRL       0x0400: 0x1000
    dp83811: xMII_IMP_CTRL 0x0461: 0x0410
    dp83811: MON_STAT2     0x0484: 0x1110
    dp83811: ESDS          0x0448: 0x000c

    Master Power On
    dp83811: dp83811_ack_interrupt
    dp83811: INT_STAT1           : 0x6cf7 100BASE-T1 Master Training Complete Interrupt / ESD Event Interrupt / Link Status Changed / Energy Detected Interrupt
    dp83811: INT_STAT2           : 0x4007 Overvoltage
    dp83811: INT_STAT3           : 0x0811
    dp83811: SQI           0x0198: 0x034b
    dp83811: LD_CTRL       0x0400: 0x1000
    dp83811: xMII_IMP_CTRL 0x0461: 0x0410
    dp83811: MON_STAT2     0x0484: 0x1110
    dp83811: ESDS          0x0448: 0x000c

    The Interrupts are in both modes present. Master or Slave makes no difference.
    Also you can see, the ESD counter has still the same value, but the interrupt is still pending.


    Best regards,
    Michael

  • Hi Michael,

    1. From the register data you provided, it seems that the ESD events are detected on the MDI side. Can you monitor the MDI lines and see if there are spikes that would trigger an ESD event? This could be why link is not stable.
    2. If there does not seem to be anything wrong with the MDI lines, can you try linking with a DP83TC811 EVM? Since we know the EVM can establish a stable link, if it works, you can cross-reference the EVM design with your design and see if there are major differences.

    Regards,

    Adrian Kam

  • Hi Adrian,

    1. Yes, it looks as we had a ESD Interrupt on MDI side.

    In my opinion, there are 2 scenarios:
    - we  have always an ESD event, which explains why there is always an interrupt pending, and the counter in register 0x0448 is not working.
    or:
    - we don't have an ESD interrupt, which explains why the counter doesn't continue counting, but the interrupt can't be cleared and is therefore pending.

    I can't imagine, that me have everytime 64 ESD pulses that we can't see the counter working.


    what do you think? did i forget to mention a possibility?

    2. I made the measurments, but i haven't seen any spikes or overvoltage/undervoltage on MDI lanes.

    Best regards,

    Michael

  • Hi Michael,

    Can you try removing the ESD diode array and see if the connection issues still exists? This seems to be the biggest difference between your schematic and the EVM.

    Regards,

    Adrian Kam

  • Hi Adrian,

    I tested already with removed ESD diodes, but without success.

    We found out, that the MAC (LAN7801) detects sometime a RUNT Frame from PHY after disconnecting the "Slave" device.  Everytime this occurs, our Board isn't able to reconnect without a reset.

    Do you have any idea where these could be coming from?

    Best regards,

    Michael

  • Hi Michael,

    1. Do you have an NDA with TI? There is something I can have you try but it requires an NDA.
    2. Can you try with a DP83TC811 EVM or different slave devices and see if the issues still persist?
    3. Do the issues still persist with a different or smaller length cable?

    Regards,

    Adrian Kam

  • Hi Adrian,

    No, we can't try with EVM board, but we tested it with other slave devices and see the same Problem.

    The issue is also with other cable lengths present.

    We logged Rx Data, CLK and Data Valid in the moment of disabling the Slave Device

    Here we can see that we receive short Frames from PHY. We tested it multiple times, with almost the same result.

    The data isn't always the same, but the frames are everytime in this length.

    If you have any ideas, please let me know,

    Best regards,

    Michael

  • Hi Michael,

    Would you be able to provide two sets of register dumps for all the registers shown in the datasheet? I would like to see the register values during normal operation and after disconnecting the slave device. Maybe some configurations changed that would cause this issue.

    Regards,

    Adrian Kam

  • Hello Adrian,

    in general we are using this driver from Linux Kernel 5.10:
    github.com/.../dp83tc811.c
    I hooked into the function dp83811_ack_interrupt() and print
    out the register states.

    1) I took the slave down, not runt frame detected by MAC from dp83811
    2) I took the salve up, normal operation resumed
    3) I took the slave down, but a runt frame was detected by the MAC from dp83811
    4) I took the salve up, no normal operation anymore


    1) After normal slave down:
    register       0x0000: 0x2100
    register       0x0001: 0x0061
    register       0x0002: 0x2000
    register       0x0003: 0xA253
    register       0x0009: 0x2000
    register       0x000D: 0x401F
    register       0x000E: 0x1000
    register       0x0011: 0x010B
    register       0x0012: 0xE030
    register       0x0013: 0x4004
    register       0x0014: 0x0000
    register       0x0015: 0x0001
    register       0x0016: 0x0100
    register       0x0017: 0x5A49
    register       0x0018: 0x0811
    register       0x001B: 0x007D
    register       0x001C: 0x05EE
    register       0x001E: 0x0000
    register       0x001F: 0x0000
    register MMD1F 0x0133: 0x05E0
    register MMD1F 0x016B: 0x0000
    register MMD1F 0x0180: 0x0000
    register MMD1F 0x0181: 0x0000
    register MMD1F 0x018A: 0x0000
    register MMD1F 0x018B: 0x001A
    register MMD1F 0x018C: 0x0000
    register MMD1F 0x0197: 0x010C
    register MMD1F 0x0198: 0x0000
    register MMD1F 0x0400: 0x1020
    register MMD1F 0x0401: 0x000A
    register MMD1F 0x0446: 0x0077
    register MMD1F 0x0448: 0x0000
    register MMD1F 0x0460: 0x2610
    register MMD1F 0x0461: 0x0410
    register MMD1F 0x0462: 0x0000
    register MMD1F 0x0463: 0x0001
    register MMD1F 0x0467: 0x033C
    register MMD1F 0x0469: 0x0040
    register MMD1F 0x0475: 0x0000
    register MMD1F 0x0480: 0x0002
    register MMD1F 0x0481: 0x00A2
    register MMD1F 0x0482: 0x7007
    register MMD1F 0x0483: 0x0001
    register MMD1F 0x0484: 0x1110
    register MMD1F 0x0485: 0x1078
    register MMD1F 0x0486: 0x0A05
    register MMD1F 0x0487: 0x0A00
    register MMD1F 0x0489: 0x0001
    register MMD1F 0x0493: 0x0014
    register MMD1F 0x0496: 0x044C
    register MMD1F 0x0497: 0x01C0
    register MMD1F 0x04A0: 0x1000
    register MMD1F 0x04A1: 0x0000
    register MMD1F 0x04A2: 0x0000
    register MMD1F 0x04A3: 0x0000
    register MMD1F 0x04A4: 0x0000
    register MMD1F 0x04A5: 0x0000
    register MMD1F 0x04A6: 0x0000
    register MMD1F 0x04A7: 0x0000
    register MMD1F 0x04A8: 0x0000
    register MMD1F 0x04A9: 0x0000
    register MMD1F 0x04AA: 0x0000
    register MMD1F 0x04AB: 0x0000
    register MMD1F 0x04AC: 0x0000
    register MMD1F 0x04AD: 0x0000
    register MMD1F 0x04AE: 0x0000
    register MMD1F 0x04AF: 0x0000
    register MMD1F 0x04B0: 0x0000
    register MMD1F 0x04B1: 0x0000
    register MMD1F 0x04B2: 0x0000
    register MMD1F 0x04B3: 0x0000
    register MMD1F 0x04B4: 0x0000
    register MMD1F 0x04B5: 0x0000
    register MMD1F 0x04B6: 0x0000
    register MMD1F 0x04B7: 0x0000
    register MMD1F 0x04B8: 0x0000
    register MMD1F 0x04B9: 0x0000
    register MMD1F 0x04BA: 0x0000
    register MMD1F 0x04BB: 0x0000
    register MMD1F 0x04BC: 0x0000
    register MMD1F 0x04BD: 0x0000
    register MMD1F 0x04BE: 0x0000
    register MMD1F 0x04BF: 0x0000
    register MMD1F 0x04C0: 0x0000
    register MMD1F 0x04C1: 0x0000
    register MMD1F 0x04C2: 0x0000
    register MMD1F 0x04C3: 0x0000
    register MMD1F 0x04C4: 0x0000
    register MMD1F 0x04C5: 0x0000
    register MMD1F 0x04C6: 0x0000
    register MMD1F 0x04C7: 0x0000
    register MMD1F 0x04C8: 0x0000
    register MMD1F 0x04C9: 0x0000
    register MMD1F 0x04CA: 0x0000
    register MMD1F 0x04CB: 0x0000
    register MMD1F 0x04CC: 0x000C
    register MMD1F 0x04E0: 0x0000
    register MMD1F 0x04E5: 0x00C3
    register MMD0  0x0007: 0x003D
    register MMD0  0x000B: 0x0800
    register MMD0  0x0012: 0x0001
    register MMD0  0x0834: 0xC000



    2) After normal slave up:
    register       0x0000: 0x2100
    register       0x0001: 0x0065
    register       0x0002: 0x2000
    register       0x0003: 0xA253
    register       0x0009: 0x2000
    register       0x000D: 0x4001
    register       0x000E: 0x0000
    register       0x0011: 0x010B
    register       0x0012: 0x6430
    register       0x0013: 0x4004
    register       0x0014: 0x0000
    register       0x0015: 0x0000
    register       0x0016: 0x0100
    register       0x0017: 0x5A41
    register       0x0018: 0x0811
    register       0x001B: 0x007D
    register       0x001C: 0x05EE
    register       0x001E: 0x0000
    register       0x001F: 0x0000
    register MMD1F 0x0133: 0x75FF
    register MMD1F 0x016B: 0x0000
    register MMD1F 0x0180: 0x0000
    register MMD1F 0x0181: 0x0000
    register MMD1F 0x018A: 0x0000
    register MMD1F 0x018B: 0x001A
    register MMD1F 0x018C: 0x0000
    register MMD1F 0x0197: 0x013C
    register MMD1F 0x0198: 0x034B
    register MMD1F 0x0400: 0x1020
    register MMD1F 0x0401: 0x000A
    register MMD1F 0x0446: 0x0077
    register MMD1F 0x0448: 0x0000
    register MMD1F 0x0460: 0x2610
    register MMD1F 0x0461: 0x0410
    register MMD1F 0x0462: 0x0000
    register MMD1F 0x0463: 0x0001
    register MMD1F 0x0467: 0x033C
    register MMD1F 0x0469: 0x0040
    register MMD1F 0x0475: 0x0000
    register MMD1F 0x0480: 0x0002
    register MMD1F 0x0481: 0x00A2
    register MMD1F 0x0482: 0x7007
    register MMD1F 0x0483: 0x0001
    register MMD1F 0x0484: 0x1110
    register MMD1F 0x0485: 0x1078
    register MMD1F 0x0486: 0x0A05
    register MMD1F 0x0487: 0x0A00
    register MMD1F 0x0489: 0x0001
    register MMD1F 0x0493: 0x0014
    register MMD1F 0x0496: 0x044C
    register MMD1F 0x0497: 0x01C0
    register MMD1F 0x04A0: 0x1000
    register MMD1F 0x04A1: 0x0000
    register MMD1F 0x04A2: 0x0000
    register MMD1F 0x04A3: 0x0000
    register MMD1F 0x04A4: 0x0000
    register MMD1F 0x04A5: 0x0000
    register MMD1F 0x04A6: 0x0000
    register MMD1F 0x04A7: 0x0000
    register MMD1F 0x04A8: 0x0000
    register MMD1F 0x04A9: 0x0000
    register MMD1F 0x04AA: 0x0000
    register MMD1F 0x04AB: 0x0000
    register MMD1F 0x04AC: 0x0000
    register MMD1F 0x04AD: 0x0000
    register MMD1F 0x04AE: 0x0000
    register MMD1F 0x04AF: 0x0000
    register MMD1F 0x04B0: 0x0000
    register MMD1F 0x04B1: 0x0000
    register MMD1F 0x04B2: 0x0000
    register MMD1F 0x04B3: 0x0000
    register MMD1F 0x04B4: 0x0000
    register MMD1F 0x04B5: 0x0000
    register MMD1F 0x04B6: 0x0000
    register MMD1F 0x04B7: 0x0000
    register MMD1F 0x04B8: 0x0000
    register MMD1F 0x04B9: 0x0000
    register MMD1F 0x04BA: 0x0000
    register MMD1F 0x04BB: 0x0000
    register MMD1F 0x04BC: 0x0000
    register MMD1F 0x04BD: 0x0000
    register MMD1F 0x04BE: 0x0000
    register MMD1F 0x04BF: 0x0000
    register MMD1F 0x04C0: 0x0000
    register MMD1F 0x04C1: 0x0000
    register MMD1F 0x04C2: 0x0000
    register MMD1F 0x04C3: 0x0000
    register MMD1F 0x04C4: 0x0000
    register MMD1F 0x04C5: 0x0000
    register MMD1F 0x04C6: 0x0000
    register MMD1F 0x04C7: 0x0000
    register MMD1F 0x04C8: 0x0000
    register MMD1F 0x04C9: 0x0000
    register MMD1F 0x04CA: 0x0000
    register MMD1F 0x04CB: 0x0000
    register MMD1F 0x04CC: 0x000C
    register MMD1F 0x04E0: 0x0000
    register MMD1F 0x04E5: 0x00C3
    register MMD0  0x0007: 0x003D
    register MMD0  0x000B: 0x0800
    register MMD0  0x0012: 0x0001
    register MMD0  0x0834: 0xC000


    3) After slave down (failed):
    register       0x0000: 0x2100
    register       0x0001: 0x0061
    register       0x0002: 0x2000
    register       0x0003: 0xA253
    register       0x0009: 0x2000
    register       0x000D: 0x4001
    register       0x000E: 0x0000
    register       0x0011: 0x010B
    register       0x0012: 0xE030
    register       0x0013: 0x4004
    register       0x0014: 0x0000
    register       0x0015: 0x0002
    register       0x0016: 0x0100
    register       0x0017: 0x5A49
    register       0x0018: 0x0011
    register       0x001B: 0x007D
    register       0x001C: 0x05EE
    register       0x001E: 0x0000
    register       0x001F: 0x0000
    register MMD1F 0x0133: 0x05E0
    register MMD1F 0x016B: 0x0000
    register MMD1F 0x0180: 0x0000
    register MMD1F 0x0181: 0x0000
    register MMD1F 0x018A: 0x0000
    register MMD1F 0x018B: 0x001A
    register MMD1F 0x018C: 0x0000
    register MMD1F 0x0197: 0x011E
    register MMD1F 0x0198: 0x0000
    register MMD1F 0x0400: 0x1020
    register MMD1F 0x0401: 0x000A
    register MMD1F 0x0446: 0x0077
    register MMD1F 0x0448: 0x0000
    register MMD1F 0x0460: 0x2610
    register MMD1F 0x0461: 0x0410
    register MMD1F 0x0462: 0x0000
    register MMD1F 0x0463: 0x0001
    register MMD1F 0x0467: 0x033C
    register MMD1F 0x0469: 0x0040
    register MMD1F 0x0475: 0x0000
    register MMD1F 0x0480: 0x0002
    register MMD1F 0x0481: 0x00A2
    register MMD1F 0x0482: 0x7007
    register MMD1F 0x0483: 0x0001
    register MMD1F 0x0484: 0x1110
    register MMD1F 0x0485: 0x1078
    register MMD1F 0x0486: 0x0A05
    register MMD1F 0x0487: 0x0A00
    register MMD1F 0x0489: 0x0001
    register MMD1F 0x0493: 0x0014
    register MMD1F 0x0496: 0x044C
    register MMD1F 0x0497: 0x01C0
    register MMD1F 0x04A0: 0x1000
    register MMD1F 0x04A1: 0x0000
    register MMD1F 0x04A2: 0x0000
    register MMD1F 0x04A3: 0x0000
    register MMD1F 0x04A4: 0x0000
    register MMD1F 0x04A5: 0x0000
    register MMD1F 0x04A6: 0x0000
    register MMD1F 0x04A7: 0x0000
    register MMD1F 0x04A8: 0x0000
    register MMD1F 0x04A9: 0x0000
    register MMD1F 0x04AA: 0x0000
    register MMD1F 0x04AB: 0x0000
    register MMD1F 0x04AC: 0x0000
    register MMD1F 0x04AD: 0x0000
    register MMD1F 0x04AE: 0x0000
    register MMD1F 0x04AF: 0x0000
    register MMD1F 0x04B0: 0x0000
    register MMD1F 0x04B1: 0x0000
    register MMD1F 0x04B2: 0x0000
    register MMD1F 0x04B3: 0x0000
    register MMD1F 0x04B4: 0x0000
    register MMD1F 0x04B5: 0x0000
    register MMD1F 0x04B6: 0x0000
    register MMD1F 0x04B7: 0x0000
    register MMD1F 0x04B8: 0x0000
    register MMD1F 0x04B9: 0x0000
    register MMD1F 0x04BA: 0x0000
    register MMD1F 0x04BB: 0x0000
    register MMD1F 0x04BC: 0x0000
    register MMD1F 0x04BD: 0x0000
    register MMD1F 0x04BE: 0x0000
    register MMD1F 0x04BF: 0x0000
    register MMD1F 0x04C0: 0x0000
    register MMD1F 0x04C1: 0x0000
    register MMD1F 0x04C2: 0x0000
    register MMD1F 0x04C3: 0x0000
    register MMD1F 0x04C4: 0x0000
    register MMD1F 0x04C5: 0x0000
    register MMD1F 0x04C6: 0x0000
    register MMD1F 0x04C7: 0x0000
    register MMD1F 0x04C8: 0x0000
    register MMD1F 0x04C9: 0x0000
    register MMD1F 0x04CA: 0x0000
    register MMD1F 0x04CB: 0x0000
    register MMD1F 0x04CC: 0x000C
    register MMD1F 0x04E0: 0x0000
    register MMD1F 0x04E5: 0x00C3
    register MMD0  0x0007: 0x003D
    register MMD0  0x000B: 0x0800
    register MMD0  0x0012: 0x0001
    register MMD0  0x0834: 0xC000
    register MMD0  0x0836: 0x0000

    4) After slave up (down failed):
    register       0x0000: 0x2100
    register       0x0001: 0x0065
    register       0x0002: 0x2000
    register       0x0003: 0xA253
    register       0x0009: 0x2000
    register       0x000D: 0x4001
    register       0x000E: 0x0000
    register       0x0011: 0x010B
    register       0x0012: 0x6430
    register       0x0013: 0x4004
    register       0x0014: 0x0000
    register       0x0015: 0x0000
    register       0x0016: 0x0100
    register       0x0017: 0x5A41
    register       0x0018: 0x0011
    register       0x001B: 0x007D
    register       0x001C: 0x05EE
    register       0x001E: 0x0000
    register       0x001F: 0x0000
    register MMD1F 0x0133: 0x75FF
    register MMD1F 0x016B: 0x0000
    register MMD1F 0x0180: 0x0000
    register MMD1F 0x0181: 0x0000
    register MMD1F 0x018A: 0x0000
    register MMD1F 0x018B: 0x001A
    register MMD1F 0x018C: 0x0000
    register MMD1F 0x0197: 0x013C
    register MMD1F 0x0198: 0x034B
    register MMD1F 0x0400: 0x1020
    register MMD1F 0x0401: 0x000A
    register MMD1F 0x0446: 0x0077
    register MMD1F 0x0448: 0x0000
    register MMD1F 0x0460: 0x2610
    register MMD1F 0x0461: 0x0410
    register MMD1F 0x0462: 0x0000
    register MMD1F 0x0463: 0x0001
    register MMD1F 0x0467: 0x033C
    register MMD1F 0x0469: 0x0040
    register MMD1F 0x0475: 0x0000
    register MMD1F 0x0480: 0x0002
    register MMD1F 0x0481: 0x00A2
    register MMD1F 0x0482: 0x7007
    register MMD1F 0x0483: 0x0001
    register MMD1F 0x0484: 0x1110
    register MMD1F 0x0485: 0x1078
    register MMD1F 0x0486: 0x0A05
    register MMD1F 0x0487: 0x0A00
    register MMD1F 0x0489: 0x0001
    register MMD1F 0x0493: 0x0014
    register MMD1F 0x0496: 0x044C
    register MMD1F 0x0497: 0x01C0
    register MMD1F 0x04A0: 0x1000
    register MMD1F 0x04A1: 0x0000
    register MMD1F 0x04A2: 0x0000
    register MMD1F 0x04A3: 0x0000
    register MMD1F 0x04A4: 0x0000
    register MMD1F 0x04A5: 0x0000
    register MMD1F 0x04A6: 0x0000
    register MMD1F 0x04A7: 0x0000
    register MMD1F 0x04A8: 0x0000
    register MMD1F 0x04A9: 0x0000
    register MMD1F 0x04AA: 0x0000
    register MMD1F 0x04AB: 0x0000
    register MMD1F 0x04AC: 0x0000
    register MMD1F 0x04AD: 0x0000
    register MMD1F 0x04AE: 0x0000
    register MMD1F 0x04AF: 0x0000
    register MMD1F 0x04B0: 0x0000
    register MMD1F 0x04B1: 0x0000
    register MMD1F 0x04B2: 0x0000
    register MMD1F 0x04B3: 0x0000
    register MMD1F 0x04B4: 0x0000
    register MMD1F 0x04B5: 0x0000
    register MMD1F 0x04B6: 0x0000
    register MMD1F 0x04B7: 0x0000
    register MMD1F 0x04B8: 0x0000
    register MMD1F 0x04B9: 0x0000
    register MMD1F 0x04BA: 0x0000
    register MMD1F 0x04BB: 0x0000
    register MMD1F 0x04BC: 0x0000
    register MMD1F 0x04BD: 0x0000
    register MMD1F 0x04BE: 0x0000
    register MMD1F 0x04BF: 0x0000
    register MMD1F 0x04C0: 0x0000
    register MMD1F 0x04C1: 0x0000
    register MMD1F 0x04C2: 0x0000
    register MMD1F 0x04C3: 0x0000
    register MMD1F 0x04C4: 0x0000
    register MMD1F 0x04C5: 0x0000
    register MMD1F 0x04C6: 0x0000
    register MMD1F 0x04C7: 0x0000
    register MMD1F 0x04C8: 0x0000
    register MMD1F 0x04C9: 0x0000
    register MMD1F 0x04CA: 0x0000
    register MMD1F 0x04CB: 0x0000
    register MMD1F 0x04CC: 0x000C
    register MMD1F 0x04E0: 0x0000
    register MMD1F 0x04E5: 0x00C3
    register MMD0  0x0007: 0x003D
    register MMD0  0x000B: 0x0800
    register MMD0  0x0012: 0x0001
    register MMD0  0x0834: 0xC000
    register MMD0  0x0836: 0x0000

    Best Regards,

       Sven

  • Hi Sven,

    I'm taking a look at the register data, and I will get back to you by EOD Thursday at the latest.

    Regards,

    Adrian Kam

  • Hi Sven,

    After looking at the register data, it seems that the ESD event interrupt in register 0x0012 is no longer present. Was anything changed between now and when you saw the interrupt event? The registers also suggest that in the scenario "After slave up (failed)" that there is a link established (look at register 0x0001 and register 0x0133). Are you using the LEDs to determine if there is a connection? Since the register seem to indicate link, have you tried sending packets again in scenario 4 (after slave goes up again)?

    Regards,

    Adrian Kam

  • Hello Adrian,

    after the slave up failed the phy seems to send and receive packets. From the linux side ethtool also shows me that there is a link established.
    So everything looks quite normal. Also we see packets going out of of the phy to the mac (lan7801). At this time we are looking at the mac why it does not
    seem to receive those packets anymore sent by the phy. 

    But why is the mac detecting a runt frame sent by the phy on a link change (posted screenshot above)?
    This does not look normal.

    Also why has the phy ESD and/or Overvoltage set? I think this could be part
    of the problem that somehow the communication between phy and mac breaks.

    Best Regards,

       Sven

  • Hi Sven,

    1. Can you check the data to clock skew timing/settings and see if it is correct? It is possible that both the MAC and PHY introduced some skew internally, which causes the data to be sampled incorrectly.
    2. Do you take the slave down while the slave is in the middle of transmitting packets? If so, then the detected runt frame could be caused by the interrupted transmission when the slave is taken down while transmitting.
    3. You can double check the pins and see if there is an overvoltage. If I recall correctly, you did not seem to find any issues there. In the end, even if the overvoltage/ESD interrupt is set, it should not affect the functionality of the PHY if it is a false positive. Is it possible that a spike was detected on power-up and that is why the overvoltage interrupt is set?

    Regards,

    Adrian Kam