ZHCAAP7A April   2020  – July 2021 DP83825I

 

  1.   商标
  2. 1引言
  3. 2器件概述
  4. 3将 DP83825 合并到 Sitara 上的步骤
    1. 3.1  第 1 步 – DP83825 与 DP83822
    2. 3.2  第 2 步 – 检查 8710A 引脚与 AM335
    3. 3.3  第 3 步 – 从 AM335 EVM - BBB 上取出 LAN8710A
    4. 3.4  第 4 步 – 检查 AM335 (BBB) RMII 连接引脚
    5. 3.5  第 5 步 – 检查 DP83825 连接引脚
    6. 3.6  第 6 步 – 使用 PinMux 工具生成 DTS/DTSI 文件。
    7. 3.7  第 7 步 – DP83822 代码库审查
    8. 3.8  第 8 步 – DP83825 代码库审查/补丁修改
    9. 3.9  第 9 步 – 修补 Linux uboot/内核
    10. 3.10 第 10 步 – 更改菜单配置
    11. 3.11 第 11 步 – 构建元件 (menuconfig/dtb/zimage)
    12. 3.12 第 12 步 –(可选)用于 DTS 构建的重要修复
    13. 3.13 第 13 步 – 将构建文件复制到 SD 卡上
    14. 3.14 第 14 步 – 检查 DP83825 的寄存器。
    15. 3.15 第 15 步 – 协助进行调试的 Linux 命令
    16. 3.16 第 16 步 – Linux ethtool 命令转储(示例)
    17. 3.17 第 17 步 – 用 Linux dmesg 检查以太网驱动程序状态。
    18. 3.18 第 18 步 – 包含详细日志分析的测试结果(成功情况)。
    19. 3.19 第 19 步 – YouTube 演示视频
  5. 4需要的硬件和软件
    1. 4.1 硬件
    2. 4.2 软件
  6. 5参考文献
  7. 6修订历史记录

第 16 步 – Linux ethtool 命令转储(示例)

[案例 1:ethtool eth0],成功示例

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.

[案例 2:ethtool –i eth0],成功

root@am335x-evm:~# ethtool -i eth0
driver: cpswRio: Prove that TI CPSW Ethernet driver is okay.
版本: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

[案例 3:ethtool –S eth0],成功示例

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

[案例 4:ethtool –a eth0],成功示例

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”.

[案例 5:ethtool –A eth0 ….],成功示例

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.

[案例 6:ethtool –s eth0 ….]

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