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.

DP83822I: Linux/DP83822: Can' t ping using zynq to transplant Linux

Part Number: DP83822I

Hello,

Our customer use the xilinx-release-2019-02-01 core which has supported the driver, but can't ping. Could you please provide some suggestions?

macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 27 (00:0a:35:00:01:22)
TI DP83822 10/100 Mbps PHY e000b000.ethernet-ffffffff:1f: attached PHY driver [TI DP83822 10/100 Mbps PHY]
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
eth0      Link encap:Ethernet  HWaddr 00:0A:35:00:01:22 
          inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:27 Base address:0xb000
 
  • Hello Kailyn,

    Here are a few comments on the schematic and attached screenshots:

    1. Please confirm that the power supply filtering caps are present in the schematic as shown in "Figure 36. Power Connections". Also although it looks like you are able to access registers with no problem because 0x0002 and 0x0003 reads are correct, the MDC pin does not require a pullup resistor, only MDIO does.
    2. Based on your screenshot of register 0x0001 contents it looks like the auto-negotiation process was not completed, can you confirm the link partner is also capable of auto-negotiation and is set for this? Also please send me the read back value of register 0x0004, 0x0005 and 0x0010.

    Thanks,

    Vibhu

  • Hi Vibhu,

    Thank you very much for your reply.

    The readback value of related register is as following:

    register 0x00 is 0x3100
    register 0x01 is 0x7849
    register 0x02 is 0x2000
    register 0x03 is 0xa240
    register 0x04 is 0x1e1
    register 0x05 is 0x0
    register 0x06 is 0x4
    register 0x09 is 0x0
    register 0x0a is 0x100
    register 0x0d is 0x0
    register 0x0e is 0x0
    register 0x0f is 0x0
    register 0x12 is 0x0
    register 0x13 is 0x800
    register 0x14 is 0x0
    register 0x15 is 0x0
    register 0x16 is 0x100
    register 0x17 is 0x2c1
    register 0x18 is 0x400
    register 0x19 is 0x801f
    register 0x1a is 0x0
    register 0x1b is 0x7d
    register 0x1c is 0x5ee

    Best regards

    Kailyn

  • Hello Kailyn,

    Based on your screenshot of register 0x0001 contents it looks like the auto-negotiation process was not completed, can you confirm the link partner is also capable of auto-negotiation and is set for this? Also please send me the read back value of register 0x0004, 0x0005 and 0x0010.

    PHYSTS register 0x0010 will tell you whether the auto-negotiation process is complete or not, currently 0x0005 does not show any link capability from the link partner, it may not be set to auto-negotiation, please check.

    Thanks,

    Vibhu

  • Hello Vibu,

    Thank you very much. According to the customer feedback, the auto-negotiation has no problem and  the link speed is 100M, but couldn't Ping.

    The value of register 0x0004, 0x0005 and 0x0010 is listed as above.

    0x04 is 0x1e1

    0x05 is 0x0

    0x0a is 0x100

    Best regards

    kailyn

  • Hello Kailyn,

    0x0010 is not listed above. This register contains, link speed and link status.

    Register 0x0001[5] = 0 => auto-negotiation not complete.

    Thanks,

    Vibhu

  • Hello Kailyn,

    Do you have an update on the above?

    Thanks,

    Vibhu

  • Hello Kailyn,

    I am closing this thread, please re-open a new thread if further support is needed.

    Thanks,

    Vibhu