NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Ethernet Triage Checklist for AM3x/4x/5x CPSW

From Texas Instruments Wiki
Jump to: navigation, search

When posting to the TI e2e forums here are some recommendations on steps to try to isolate possible issues involving CPSW Ethernet on AM3x/4x/5x devices.

  • Requirement
    • Any questions posted concerning the Linux CPSW Ethernet driver must be from using a TI Processor Linux SDK U-Boot/Linux Kernel and filesystem on either a TI EVM or a custom board. Texas Instruments only supports Linux Kernels and U-Boot images that are based on the TI Processors Linux SDK.


  • During the boot process check to make sure the Ethernet PHYs being are reported correctly in the console log. This means that the PHY being used should be reported and the driver being used is indicated. The CPSW should indicate it has initialized and finally it should report the interface is up. This is example with eth0 connected to a link partner. It should look something like this:


davinci_mdio 48485000.mdio: phy[0]: device 8485000.mdio:00, driver Micrel KSZ9031 Gigabit PHY
davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Micrel KSZ9031 Gigabit PHY
cpsw 48484000.ethernet: Detected MACID = a0:f6:fd:b2:79:90
cpsw 48484000.ethernet: cpts: overflow check period 800
cpsw 48484000.ethernet: cpsw: Detected MACID = a0:f6:fd:b2:79:91
net eth1: initializing cpsw version 1.15 (0)
net eth0: initialized cpsw ale version 1.4
net eth0: initializing cpsw version 1.15 (0)
cpsw 48484000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx


  • Look at basic link elements after the system is booted to make sure that there is a link partner detected. No Ethernet traffic will be possible until the PHY is reporting a link detection. In fact, if no link is detected by the PHY that issue needs to be debugged first. Do not proceed debugging until the PHY is detecting a link. This means working with the PHY manufacturer to resolve the link detection issue. The commands are in bold.
    • ethtool eth0 : This will show what the link status is. Here are some questions that might help with link status trouble-shooting.
      • Is auto negotiation enabled on both ends of the link?
      • Do the link speeds match between the TI device and the link partner?
      • Is the Link duplex mode correct?
    • ethtool -S eth0 : This will show the hardware statistics. Here errors are reported for CRC errors, overruns etc. Errors reported by the hardware typically indicate the packet was dropped. Here are a couple of key errors to review:
      • RX Checksum errors – Can indicate bad cables, layout issues.
      • RX Overrun errors – This indicates packet drops due to the RX DMA descriptors being momentarily exhausted.
      • RX Start of Frame errors – This indicates that packets that have been dropped due the internal FIFOs of the switch being temporarily full.


  • What does the interface say:
    • ifconfig
      • Is the link up?
      • Is there an IP address?
      • Is the interface reporting data being received or transmitted?


  • Network view
    • Use Wireshark from the view of a link partner, typically the Linux PC is used here to capture packets.
    • Start a ping transaction from the device which will start an ARP process. Do any ARP packets show up in Wireshark?


  • Performance
    • When testing the interface with iperf a very common question is about not being able to match the numbers reported as part of the performance datasheet release with the TI SDK. The most common reason for this is because the developer started with a mainline kernel and not a TI SDK kernel. Also, when pulling a mainline kernel the defconfig supplied with mainline is not the same as the kernel defconfig supplied and tested with the TI SDK. Using a mainline kernel will have a significant performance drop.


  • When posting to the forums please capture the information requested below. Please send these as attachments as some of the logs will be lengthy.
    • Kernel version and source, also include the results of this command: uname -a
    • File system, TI SDK or Arago/Yocto based filesytem
    • Custom board or TI board? Please include device tree source file.
    • Console log of the boot process that includes U-Boot and the Kernel.
    • ethtool <interface such as eth0 or eth1>
    • ethtool -S <interface such as eth0 or eth1>
    • ifconfig <interface such as eth0 or eth1>
E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Ethernet Triage Checklist for AM3x/4x/5x CPSW here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity