ZHCAES5 July   2024 DP83822H , DP83822HF , DP83822I , DP83822IF , DP83826E , DP83826I , DP83848-EP , DP83848Q-Q1 , DP83867CR , DP83867CS , DP83867E , DP83867IR , DP83867IS , DP83TC812R-Q1 , DP83TC812S-Q1 , DP83TC813R-Q1 , DP83TC813S-Q1 , DP83TC814R-Q1 , DP83TC814S-Q1 , DP83TG720R-Q1 , DP83TG720S-Q1 , DP83TG721R-Q1 , DP83TG721S-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1德州仪器 (TI) 以太网 PHY 驱动程序
  5. 2以太网 PHY 驱动程序概述
    1. 2.1 了解 Linux 驱动程序类型
      1. 2.1.1 U-Boot 驱动程序
      2. 2.1.2 内核驱动程序
  6. 3驱动程序集成
    1. 3.1 Linux 器件树
    2. 3.2 集成式驱动程序
  7. 4常见终端命令
    1. 4.1 初始化命令
      1. 4.1.1 dmesg | grep -i mdio
      2. 4.1.2 ifconfig
    2. 4.2 功能命令
      1. 4.2.1 Phytool
      2. 4.2.2 ethtool
      3. 4.2.3 强制执行主/从配置
    3. 4.3 诊断命令
      1. 4.3.1 SQI
      2. 4.3.2 TDR
      3. 4.3.3 吞吐量测试 - ping 和 iPerf
  8. 5总结
  9. 6参考资料

TDR

时域反射计 (TDR) 是识别电缆故障的功能。并非所有以太网 PHY 都具有 TDR 功能,请务必检查 PHY 的数据表确认。要让 TI 的汽车单线对以太网 (SPE) PHY 正确运行 TDR,就必须知道 PHY 的主/从 状态。

当 PHY 为主器件 时:

  • 如果电缆已连接(链路良好)
    • PHY 失掉链路、执行 TDR 并重获链路
  • 如果电缆断开或损坏
    • PHY 执行 TDR 并输出:
      • 故障类型
        • 开路或短路
      • 故障距离(以米为单位)
当 PHY 为从器件 时:
  • 如果电缆已连接(链路良好)
    • 链路伙伴(主器件)需要强制静默(不传输任何数据包),否则 TDR 将失败
      • 电缆可与主器件 断开,以使 TDR 作为从器件 运行
在下面的代码块中,eth3 最初与已知良好的电缆相连并配置为主器件。TDR 按预期运行并完成,未检测到故障。TDR 完成后,从链路伙伴上拔下电缆,导致 eth3:链路断开。然后再次运行 TDR。

TDR 命令:ethtool --cable-test ethx

root@j7-evm:~# ethtool --cable-test eth3        
am65-cpsw-nuss c000000.ethernet eth3: Link is Down       
PHY is set as Master.
Cable test started for device eth3.
Cable test completed for device eth3.
Pair A code OK
TDR HAS COMPLETED AND PASSED
root@j7-evm:~# No Fault Detected.                        
am65-cpsw-nuss c000000.ethernet eth3: Link is Up - 100Mbps/Full - flow control off
                                                        
am65-cpsw-nuss c000000.ethernet eth3: Link is Down       

root@j7-evm:~# ethtool --cable-test eth3                
PHY is set as Master.
Cable test started for device eth3.
Cable test completed for device eth3.
Pair A code Open Circuit
TDR HAS COMPLETED AND PASSED
Open Cable Detected
Length of Fault: 3 Meters
在下面的代码块中,eth4 最初与已知良好的电缆相连并配置为从器件。TDR 按预期运行并失败。接下来,从链路伙伴上拔下电缆,导致 eth4:链路断开。然后再次运行 TDR。
root@j7-evm:~# ethtool --cable-test eth4
am65-cpsw-nuss c000000.ethernet eth4: Link is Down
PHY is set as Slave.
Cable test started for device eth4.
Cable test completed for device eth4.
TDR HAS FAILED
root@j7-evm:~# am65-cpsw-nuss c000000.ethernet eth4: Link is Up - 100Mbps/Full - flow control off

am65-cpsw-nuss c000000.ethernet eth4: Link is Down

root@j7-evm:~# ethtool --cable-test eth4
PHY is set as Slave.
Cable test started for device eth4.
Cable test completed for device eth4.
Open Circuit
TDR HAS COMPLETED AND PASSED
Open Cable Detected
Length of Fault: 3 Meters