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.

Linux: DP83TC811S-Q1 link failed

Other Parts Discussed in Thread: DP83TC811

Tool/software: Linux

Hi Ti:

      I has layout question about DP83TC811S-Q1 . 

      Kernel :3.18.20

      EMAC + PHY SGMII mode

      start shell:

      

insmod $MODULE_BASE_PHY/libphy.ko
insmod $MODULE_BASE_OF/of_mdio.ko
insmod $MODULE_BASE_PHY/dp83tc811.ko
insmod $MODULE_BASE/qcom_emac.ko
ifconfig eth0 down
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo "arp_ignore is set" > $DUMP_TO_KMSG
ifconfig eth0 hw ether 00:80:48:BA:d1:30
ifconfig eth0 up
ethtool -s eth0 autoneg off speed 100 duplex full
ethtool -s eth0 autoneg off speed 100 duplex full
ethtool -s eth0 autoneg off speed 100 duplex full

console LOG:

[ 37.014068] bridge0: port 1(rndis0) entered forwarding state
[ 135.768276] emac start
[ 136.047460] get_phy_id: ----- phy_id=0x2000a253
[ 136.051452] phy_device_create: 187,set irq = PHY_POLL
[ 136.353809] USB QCMAP NL IOCTL Snd GETNEIGH Succ
[ 136.391776] arp_ignore is set
[ 136.433958] qcom-emac 7c40000.qcom,emac eth0: TX queues 1, TX descriptors 512
[ 136.451144] qcom-emac 7c40000.qcom,emac eth0: RX queues 1, Rx descriptors 256
[ 136.504147] emac_mac_up: 1926, set phydev->irq PHY_IGNORE_INTERRUPT, call phy_start
[ 136.555901] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 136.623612] USB QCMAP NL IOCTL Snd GETNEIGH Succ
[ 136.638657] qcom-emac 7c40000.qcom,emac eth0: ethtool cmd autoneg 0, speed 100, duplex 1
[ 136.669249] phy_state_machine: 851, PHY_FORCING, call genphy_update_link
[ 136.688406] ethtool (6283) used greatest stack depth: 4228 bytes left
[ 136.707804] qcom-emac 7c40000.qcom,emac eth0: ethtool cmd autoneg 0, speed 100, duplex 1
[ 136.724163] qcom-emac 7c40000.qcom,emac eth0: Link is Up - 100Mbps/Full - flow control off
[ 136.731952] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xc0 bits:0xc0
[ 136.740438] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xc0 bits:0xc0
[ 136.766931] qcom-emac 7c40000.qcom,emac eth0: ethtool cmd autoneg 0, speed 100, duplex 1
[ 136.799211] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 136.806666] start_emac_le (6205) used greatest stack depth: 4172 bytes left
[ 136.829362] QTI:Processing LINK_UP
[ 136.850811] QTI:Setup TETHERED link
[ 136.855328] QTI:ETH mode
[ 136.863435] QTI:LINK_UP message posted
136.934367] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 136.967441] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
[ 137.028573] device eth0 entered promiscuous mode
[ 137.039735] bridge0: port 3(eth0) entered forwarding state
[ 137.044731] bridge0: port 3(eth0) entered forwarding state
[ 137.051522] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 137.069103] phy_state_machine: 790, PHY_UP, set needs_aneg ture
[ 137.157937] QTI:LINK_UP Processed
[ 137.262470] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 137.282924] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
[ 137.334196] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 137.346847] phy_state_machine: 790, PHY_UP, set needs_aneg ture
[ 137.522075] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 137.547164] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
[ 137.609893] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 137.625095] phy_state_machine: 790, PHY_UP, set needs_aneg ture
[ 137.792244] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 137.814598] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
[ 137.871142] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 137.877913] phy_state_machine: 790, PHY_UP, set needs_aneg ture
[ 138.062195] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 138.081951] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
[ 138.134355] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 138.148232] phy_state_machine: 790, PHY_UP, set needs_aneg ture
[ 138.342560] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 138.361010] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
[ 138.414221] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 138.421319] phy_state_machine: 790, PHY_UP, set needs_aneg ture
[ 138.598881] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 138.618337] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
[ 138.679442] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked
[ 138.691777] phy_state_machine: 790, PHY_UP, set needs_aneg ture
[ 138.897881] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
[ 138.914776] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd

root@mdm9607:~# ifconfig
bridge0 Link encap:Ethernet HWaddr 22:82:88:7A:FA:6B
inet addr:192.168.225.1 Bcast:192.168.225.255 Mask:255.255.255.0
inet6 addr: fe80::2082:88ff:fe77:f768/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:543 errors:0 dropped:0 overruns:0 frame:0
TX packets:273 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:33055 (32.2 KiB) TX bytes:101481 (99.1 KiB)

eth0 Link encap:Ethernet HWaddr 00:80:48:BA:D1:30
inet addr:169.254.4.1 Bcast:169.254.4.255 Mask:255.255.255.0
inet6 addr: fe80::280:48ff:feba:d130/64 Scope:Link
UP BROADCAST RUNNING 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:108

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4312 errors:0 dropped:0 overruns:0 frame:0
TX packets:4312 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:158178 (154.4 KiB) TX bytes:158178 (154.4 KiB)

rmnet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING MTU:2000 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)

oot@mdm9607:~#

Link led keep flickering,please check it,

  • hi user1357100,

    It appears you are having some issues with the CDR of your SGMII remaining locked from the messages shown.

    [ 138.342560] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xc0
    [ 138.361010] qcom-emac 7c40000.qcom,emac eth0: error: failed clear SGMII irq: status:0xdd bits:0xdd
    [ 138.414221] qcom-emac 7c40000.qcom,emac eth0: SGMII CDR not locked

    Your initial problem says loopback mode is being used, but you indicate link LED is flickering.

    Please disable the loopback and connect the DP83TC811 to another 100base-t1 link partner. Is the link LED stable with the loopback OFF?

    I'd also like to see a schematic of your board if possible.

    Best Regards,