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.

DP83867CR: DP83867 dropping packets

Part Number: DP83867CR

Hi - I am using 2 DP83867 Phy's on my board - here is how they are connected:

Port A                      Port B

    |                               |

Phy A ---------------> Phy B

          <----------------

                RGMii bus

When I run fixed size packets from A -> B or B -> A - all packets are passed.

When I run "random" size packets (A -> B or B -> A), there is some packet loss.

The random packet size is 64-1518 and it does not matter if traffic is 90% or 25%.

Also - if I program the PHYs into loopback mode, no packets are dropped.

Any ideas what would cause random size packets, to drop???

Thank you,

Mike

  • Hi Mike,

    Are you implementing any internal delay in the TX or RX path for the PHYs?

  • Hey Ross - we have not yet set any internal delays on the PHYs. Do you think this would cause an issue with random packet sizes??

    Thank you,

    Mike

  • Hey Ross - here's another interesting piece of information:

    When running random packet sizes - if I make the max packet size 1500 MTU - instead of 1518 MTU, the errors go away.

    Any ideas??

    Thank you,

    Mike

  • Hi Mike,

    Can you increase the size beyond 1518 to see if maybe there is issue with larger frames?

    Please send a schematic. 

  • Hello Ross,

    I have 2 PHYs on my design. When I put both into loopback, only the "A" phy runs errors. 

    Test 1 - ran fixed packet size of 64bytes - both PHYs drop no packets.

    Test 2 - ran fixed packet size of 9000bytes - both PHYs drop no packets

    Test 3 - ran random size packets - 64 to 9000 bytes - PHY A drops packets, PHY B does not.

    Please let me know if you can see the attached pdf - schematic pages for both PHYs.

    Thank you for your help - let me know if you have any questions,

    Mike

    400-0131_reva_pg6_7.pdf 

  • Hello Ross,

    I have done some more testing and captured packets with FCS errors. I have attached a document that shows results.

    Let me know what you think. The error'ed packets either have data "shifted" or fills the packet with FE's

    Thank you,

    Mike

    Packet_loss.pdf

  • Another question Ross - is there a limit as to the length of the MDI bus (Transformer to PHY) ?

    My good PHY has matched lengths to 3.5 inches and the bad PHY has matched lengths to 4.2 inches.

    Mike

  • Hello Ross,

    I have gathered more data, and it looks like the 2 DP83867 PHYs on my board are misbehaving. I have tested using 3 different boards with results the same on all 3 boards. (see attached document)

    Please let me know if you need any more information,

    Mike

    DP83867 packet loss Issue:

    Data is taken from 3 different boards.

    1 board has both PHYs in reverse loopback mode

    2 boards are running RGMii between PHYs

    Data:

    90% traffic on both PHYs – random packet sizes as follows:

    64byte to 1518byte – all 3 boards drop packets

    85byte to 1518byte – all 3 boards pass all packets

    85byte to 1700byte – all 3 boards drop packets

    85byte to 1600byte – all 3 boards pass all packets

    90% traffic on both PHYs – fixed packet size as follows:

    64byte to 9000byte – all 3 boards pass all packets

    (64,128,256,512,1024,2048,4096 and 9000 byte packet sizes were tested)

    Here are the register settings for the PHYs:

    Register Value Register Value

    0x0000 0x1140 0x0010 0xC040

    0x0001 0x7969 0x0011 0xBD02

    0x0002 0x2000 0x0012 0x0000

    0x0003 0xA231 0x0013 0x1044

    0x0004 0x01E1 0x0014 0x29C7

    0x0005 0xCD41 0x0015 0x0000

    0x0006 0x006F 0x0016 0x0000

    0x0007 0x2001 0x0017 0x0040

    0x0008 0x6001 0x0018 0xBBBB

    0x0009 0x0300 0x0019 0x0000

    0x000A 0x3800 0x001A 0x0002

    0x000B 0x0000 0x001E 0x0002

    0x000C 0x0000 0x001F 0x0002

    0x000D 0x401F 0x0031 0x10B0

    0x000E 0x00D3 0x0032 0x50D3

    0x000F 0x3000