SNLA343A April   2020  – July 2021 DP83825I

 

  1.   Trademarks
  2. 1Introduction
  3. 2Device Overview
  4. 3Merging DP83825 Onto Sitara Steps
    1. 3.1  Step 1 – DP83825 vs. DP83822
    2. 3.2  Step 2 – Check 8710A Pins with AM335
    3. 3.3  Step 3 – De-populate the LAN8710A from AM335 EVM - BBB
    4. 3.4  Step 4 – Check the AM335 (BBB) RMII Connection Pins
    5. 3.5  Step 5 – Check the DP83825 Connection Pins
    6. 3.6  Step 6 – PinMux Tool To Generate DTS/DTSI Files.
    7. 3.7  Step 7 – DP83822 Code Base Review
    8. 3.8  Step 8 – DP83825 Code Base Review / Patch Adaption
    9. 3.9  Step 9 – Patch the Linux uboot/kernel
    10. 3.10 Step 10 – Change the Menu Config
    11. 3.11 Step 11 – Building the Components (menuconfig/dtb/zimage)
    12. 3.12 Step 12 – (Optional) Important Fix for DTS Build
    13. 3.13 Step 13 – Copy the Built Files onto the SD Card
    14. 3.14 Step 14 – Register Checking for the DP83825.
    15. 3.15 Step 15 – Linux Command To Assist The Debug
    16. 3.16 Step 16 – Linux ethtool Command Dumps (example)
    17. 3.17 Step 17 – Linux dmesg to Check the Ethernet Driver Status.
    18. 3.18 Step 18 – Testing Result with Detail Log Analysis (Success Case).
    19. 3.19 Step 19 – YouTube Demonstration Video
  5. 4Required Hardware and Software
    1. 4.1 Hardware
    2. 4.2 Software
  6. 5References
  7. 6Revision History

Step 16 – Linux ethtool Command Dumps (example)

[Case1 : ethtool eth0] , success example

root@am335x-evm:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP AUI BNC MII FIBRE ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/FullRio: DP83825 will support 10/100.
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: YesRio: This is a key point to success.
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: YesRio: This is a key point to success.
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full Rio: Remote side support.
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 100Mb/sRio: Current link speed.
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000000 (0)
        Link detected: yes Rio: Current link Status, this is a key point to success.

[Case2 : ethtool –i eth0] , success

root@am335x-evm:~# ethtool -i eth0
driver: cpswRio: Prove that TI CPSW Ethernet driver is okay.
version: 1.0
firmware-version:
expansion-rom-version:
bus-info: 4a100000.ethernet
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

[Case3 : ethtool –S eth0] , success example

root@am335x-evm:~# ethtool -S eth0
NIC statistics:
     Good Rx Frames: 0
     Broadcast Rx Frames: 0
     Multicast Rx Frames: 0
     Pause Rx Frames: 0
     Rx CRC Errors: 0
     Rx Align/Code Errors: 0
     Oversize Rx Frames: 0
     Rx Jabbers: 0
     Undersize (Short) Rx Frames: 0
     Rx Fragments: 0
     Rx Octets: 0
     Good Tx Frames: 0
     Broadcast Tx Frames: 0
     Multicast Tx Frames: 0
     Pause Tx Frames: 0
     Deferred Tx Frames: 0
     Collisions: 0Rio: No Collision detect, good sign.
     Single Collision Tx Frames: 0
     Multiple Collision Tx Frames: 0
     Excessive Collisions: 0
     Late Collisions: 0
     Tx Underrun: 0
     Carrier Sense Errors: 0
     Tx Octets: 0
     Rx + Tx 64 Octet Frames: 0
     Rx + Tx 65-127 Octet Frames: 0
     Rx + Tx 128-255 Octet Frames: 0
     Rx + Tx 256-511 Octet Frames: 0
     Rx + Tx 512-1023 Octet Frames: 0
     Rx + Tx 1024-Up Octet Frames: 0
     Net Octets: 0
     Rx Start of Frame Overruns: 0
     Rx Middle of Frame Overruns: 0
     Rx DMA Overruns: 0
     Rx DMA chan 0: head_enqueue: 1
     Rx DMA chan 0: tail_enqueue: 127 Rio: RX is working.
     Rx DMA chan 0: pad_enqueue: 0
     Rx DMA chan 0: misqueued: 0
     Rx DMA chan 0: desc_alloc_fail: 0
     Rx DMA chan 0: pad_alloc_fail: 0
     Rx DMA chan 0: runt_receive_buf: 0
     Rx DMA chan 0: runt_transmit_bu: 0
     Rx DMA chan 0: empty_dequeue: 0
     Rx DMA chan 0: busy_dequeue: 0
     Rx DMA chan 0: good_dequeue: 0
     Rx DMA chan 0: requeue: 0
     Rx DMA chan 0: teardown_dequeue: 0
     Tx DMA chan 0: head_enqueue: 33
     Tx DMA chan 0: tail_enqueue: 27  Rio: TX is working.
     Tx DMA chan 0: pad_enqueue: 0
     Tx DMA chan 0: misqueued: 1
     Tx DMA chan 0: desc_alloc_fail: 0
     Tx DMA chan 0: pad_alloc_fail: 0
     Tx DMA chan 0: runt_receive_buf: 0
     Tx DMA chan 0: runt_transmit_bu: 5
     Tx DMA chan 0: empty_dequeue: 32
     Tx DMA chan 0: busy_dequeue: 0
     Tx DMA chan 0: good_dequeue: 33
     Tx DMA chan 0: requeue: 0
     Tx DMA chan 0: teardown_dequeue: 0

[Case4 : ethtool –a eth0] , success example

root@am335x-evm:~# ethtool -a eth0
Pause parameters for eth0:
Autonegotiate:  off    Rio: we can ignore this.
RX:             on     Rio: If the link is okay, this RX places will be “On”.
TX:             on     Rio: If the link is okay, this TX places will be “On”.

[Case5 : ethtool –A eth0 ….] , success example

root@am335x-evm:~# ethtool -A eth0 autoneg on rx on tx on 
rx unmodified, ignoringRio: It said: RX is already on.
tx unmodified, ignoring Rio: It said: TX is already on.

[Case6 : ethtool –s eth0 ….]

ethtool -s eth0 speed 100 autoneg on   Rio: This command will force to use 100M speed.