I have a measurement setup with two DP83867ERGZ-S-EVM and want to connect the two boards back-to-back via SGMII.
The two boards can establish a connection but when running an iperf3 measurement or a netAlly LANBERT measurement I can see packet errors of about 0.01%.
Reading the MDIO registers of both phys results in this table:
0 (0x00): 0x1140 0x1140 1 (0x01): 0x7969 0x7969 2 (0x02): 0x2000 0x2000 3 (0x03): 0xa231 0xa231 4 (0x04): 0x0181 0x0181 5 (0x05): 0xc001 0xc001 6 (0x06): 0x006f 0x006f 7 (0x07): 0x2001 0x2001 8 (0x08): 0x6801 0x6801 9 (0x09): 0x0300 0x0300 10(0x0a): 0x3800 0x38ff 11(0x0b): 0x0000 0x0000 12(0x0c): 0x0000 0x0000 13(0x0d): 0x0000 0x0000 14(0x0e): 0x0000 0x0000 15(0x0f): 0x3000 0x3000 16(0x10): 0x5848 0x5848 17(0x11): 0xbc02 0xbc02 18(0x12): 0x0000 0x0000 19(0x13): 0x1d46 0x9d46 20(0x14): 0x29c7 0x29c7 21(0x15): 0x0000 0x121f 22(0x16): 0x0000 0x0000 23(0x17): 0x0040 0x0040 24(0x18): 0x6150 0x6150 25(0x19): 0x4440 0x4440 26(0x1a): 0x0002 0x0002 27(0x1b): 0x0000 0x0000 28(0x1c): 0x0000 0x0000 29(0x1d): 0x0000 0x0000 30(0x1e): 0x0002 0x0002 31(0x1f): 0x0000 0x0000
I see IDLE_ERRORS on one device in register 0x0a. Furthermore I see some pending interrupts in register 0x13, but they change over time.
Register 0x15 shows a growing amount of RX_ER on one device.
I saw in related questions that SGMII autoneg should be disabled, so I updated register 0x14 from 0x29c7to 0x2947 and soft reset the device afterwards (0x4000 into 0x1f).
With this setting I still see the packet errors on one side.
Is there anything I forgot?
I would need 10/100/1000 speeds on MDI side, MII side will be always a pair of these Phy.