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.

[参考译文] CPSW 端口无法从 PC 执行 ping 操作

Guru**** 2477875 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1458082/cpsw-port-not-able-to-ping-from-pc

器件型号:AM6421

工具与软件:

你(们)好

 我们在 定制 AM64X 板中使用 Linux 上的 CPSW 端口。

 无法对 PC 执行 ping 操作。

  AM64x 定制板 IP:192.168.1.10

  PC IP:192.168.1.100

  PHY DP83822通过 RMII 接口连接到 AM64x。

 以下是 dmesg 日志

[   1.287904] Davinci_MDIO 8000f00.MDIO:在手动模式下配置 MDIO
[   1.321722] Davinci_MDIO 8000f00.MDIO:Davinci MDIO 修订版9.7、总线频率1000000
[   1.329227] TI DP83822 8000f00.MDIO:00:dp83822_Read_strap MII_DP83822_SOR1[0x467] VAL:[0x43f3]*****
[   1.329245] TI DP83822 8000f00.MDIO:00:dp83822_config_intrxxx *
[   1.329889] Davinci_MDIO 8000f00.MDIO:PHY[0]:器件8000f00.MDIO:00、驱动程序 TI DP83822
[1.330103]   am65-cpsw-nuss 8000000.ethernet:initialized cpsw ale version 1.4
[   1.335939] am65-cpsw-nuss 8000000.ethernet:cpts ver 0x4e8a010c、freq:500000000、add_val:1pps:0
[   1.353671] am65-cpsw-nuss 8000000.ethernet:set new flow-id-base 16.
[   1.373892] am65-cpts 39000000.cpts:cpts ver 0x4e8a010c、freq:500000000、add_val:1pps:0

[  14.757272] am65-cpsw-nuss 80000.ethernet eth0:phy [8000f00.MDIO:00]驱动器[TI DP83822](IRQ=poll)
[  14.757303] am65-cpsw-nuss 8000000.ethernet eth0:配置 phy/RMII 链路模式

[  17.828388] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路准备就绪

我们就能够读取 PHY DP83822寄存器

其他信息如下。


root@am64xx-evm:~# ifconfig
eth0:flags=4163  MTU 1500
       INET 192.168.1.10 网络掩码255.255.255.0 广播192.168.1.255
       inet6 fe80::1e63:49ff:fe10:63d1 prefixlen 64 scopeid 0x20.
       以太网1c:63:49:10:63:D1 txqueuelen 1000 (以太网)
       RX 数据包0 字节0 (0.0B)
       RX 错误0 丢弃0 溢出0 帧0
       TX 数据包38 字节4838 (4.7KiB)
       TX 错误0 丢弃0溢出0 载波0 冲突0

Lo: flags=73.  MTU 65536
       INET 127.0.0.1 网络掩码255.0.0.0
       inet6 ::1 prefixlen 128 scopeid 0x10.
       loop txqueuelen 1000 (本地环回)
       RX 数据包95 字节7834 (7.6 KiB)
       RX 错误0 丢弃0 溢出0 帧0
       TX 数据包95 字节7834 (7.6 KiB)
       TX 错误0 丢弃0溢出0 载波0 冲突0

root@am64xx-evm:~# ethtool eth0
eth0的设置:
   支持的端口:[ TP    MII ]
   支持的链路模式:  10baseT/half 10baseT/full
                           100baseT/half 100baseT/Full
   支持的暂停帧使用:对称
   支持自动协商:可以
   支持的 FEC 模式:未报告
   广播链路模式: 10baseT/half 10baseT/full
                           100baseT/half 100baseT/Full
   广播暂停帧使用:对称
   广播的自动协商:是
   通告的 FEC 模式:未报告
   链路伙伴通告的链路模式: 10BaseT /半10 baseT/full
                                        100baseT/half 100baseT/Full
   连接方广播的暂停帧使用:对称仅接收
   连接方广播了自动协商:是
   连接伙伴通告的 FEC 模式:未报告
   速度:100MB/s
   双工:全双工
   自动协商:开启
   端口:双绞线
   PHYAD:0
   收发器:外部
   MDI-X:未知
   支持唤醒:GS
   唤醒:d.
       SecureOn 密码:00:00:00:00:00
       当前消息级别:0x000020f7 (8439)
                              对于 ifup rx_err tx_err HW、请使用 DRV probe 链路 ifdown
   检测到链路:是

我们的修改后的器件树


cpsw3g (&C){
   状态="正常";
   pinctrl-names ="默认值";
               
        pinctrl-0 =<&R mii1_pins_default>;

   /*将 HW8_TS_PUSH 映射到 GENF1 */
   /* CPTS@3d000 {
       ti、pps =<7 1>;
   };*/
};

&cpsw3g_mdio{
   状态="正常";
   pinctrl-names ="默认值";
   pinctrl-0 =<&mdio1_pins_default>;
   
   // RESET-GPIOs = <&MCU_GPIO0 4 GPIO_ACTIVE_LOW>;   //由我们注释
   // reset-delay-us =<2>;                   //由我们注释

   cpsw3g_py0:ethernet-phy@0{
       状态="正常";   
       Compatible ="ti、dp83822"、"ethernet-phy-IEEE802.3-c22"、"TI DP83822";
       
       REG =<0>;
   
   };
};
   
   rmii1_pins_default:rmii1-pins-default{
       PINCTL-SINGLE、PINS =<
           AM64X_IOPAD (0x0154、PIN_INPUT、5)/*(V12) PRG1_PRU1_GPO19.RMII1_CRS_DV */
           AM64X_IOPAD (0x0124、PIN_INPUT、5)/*(V15) PRG1_PRU1_GPO7.RMII1_RXD0 */
           AM64X_IOPAD (0x012c、PIN_INPUT、5)/*(V14) PRG1_PRU1_GPO9.RMII1_RXD1 */
           AM64X_IOPAD (0x00dc、PIN_INPUT、5)/*(U15) PRG1_PRU0_GPO9.RMII1_RX_ER */
           AM64X_IOPAD (0x0130、PIN_OUTPUT、5)/*(W14) PRG1_PRU1_GPO10.RMII1_TXD0 */
           AM64X_IOPAD (0x014c、PIN_OUTPUT、5)/*(AA14) PRG1_PRU1_GPO17.RMII1_TXD1 */
           AM64X_IOPAD (0x0150、PIN_OUTPUT、5)/*(Y13) PRG1_PRU1_GPO18.RMII1_TX_EN */
           AM64X_IOPAD (0x00e0、PIN_OUTPUT、5)/*(U14) PRG1_PRU0_GPO10.RMII_REF_CLK */
       >;
   };

cpsw_port1{
   状态="正常";        
 
   PHY 模式="RMII";
   phy-handle =<&cpsw3g_phy0>;
   
   
};

请帮助 我们解决问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    首先、您能为我回答几个问题吗?

    1.您的测试设置是 PC 和定制电路板之间的直接以太网连接。

    2.您使用的是哪个 Linux SDK 版本?

    3. ping 失败后能否在定制电路板上分享"ethtool -S eth0"的结果?

    4.是一台可以运行"ethtool -S 的 Linux PC "? 如果是、请在 ping 失败后在连接到定制电路板的 Linux PC 上共享运行该应用程序的结果。

    以上问题是在以太网调试指南 https://www.ti.com/lit/an/spradj8/spradj8.pdf 中调试这些类型 ping 问题的步骤的一部分 

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    邱道林、您好!

     感谢您的答复。

     

    1.您的测试设置是 PC 和定制电路板之间的直接以太网连接。

       我们尝试了贝沃选项

        a) PC 和定制电路板之间的直接以太网连接。

         b)将 PC 和定制板连接到集线器。

    2.您使用的是哪个 Linux SDK 版本?

        TI-PROCESSOR-SDK-LINUX-RT-am64xx-EVM-09.02.01.10

    3. ping 失败后能否在定制电路板上分享"ethtool -S eth0"的结果?

       Ping 之前

           

      root@am64xx-evm:~# ethtool -S eth0
    NIC statistics:
    p0_rx_good_frames: 39
    p0_rx_broadcast_frames: 0
    p0_rx_multicast_frames: 39
    p0_rx_crc_errors: 0
    p0_rx_oversized_frames: 0
    p0_rx_undersized_frames: 0
    p0_ale_drop: 0
    p0_ale_overrun_drop: 0
    p0_rx_octets: 5060
    p0_tx_good_frames: 0
    p0_tx_broadcast_frames: 0
    p0_tx_multicast_frames: 0
    p0_tx_octets: 0
    p0_tx_64B_frames: 2
    p0_tx_65_to_127B_frames: 19
    p0_tx_128_to_255B_frames: 18
    p0_tx_256_to_511B_frames: 0
    p0_tx_512_to_1023B_frames: 0
    p0_tx_1024B_frames: 0
    p0_net_octets: 5060
    p0_rx_bottom_fifo_drop: 0
    p0_rx_port_mask_drop: 0
    p0_rx_top_fifo_drop: 0
    p0_ale_rate_limit_drop: 0
    p0_ale_vid_ingress_drop: 0
    p0_ale_da_eq_sa_drop: 0
    p0_ale_block_drop: 0
    p0_ale_secure_drop: 0
    p0_ale_auth_drop: 0
    p0_ale_unknown_ucast: 0
    p0_ale_unknown_ucast_bytes: 0
    p0_ale_unknown_mcast: 0
    p0_ale_unknown_mcast_bytes: 0
    p0_ale_unknown_bcast: 0
    p0_ale_unknown_bcast_bytes: 0
    p0_ale_pol_match: 0
    p0_ale_pol_match_red: 0
    p0_ale_pol_match_yellow: 0
    p0_ale_mcast_sa_drop: 0
    p0_ale_dual_vlan_drop: 0
    p0_ale_len_err_drop: 0
    p0_ale_ip_next_hdr_drop: 0
    p0_ale_ipv4_frag_drop: 0
    p0_tx_mem_protect_err: 0
    p0_tx_pri0: 0
    p0_tx_pri1: 0
    p0_tx_pri2: 0
    p0_tx_pri3: 0
    p0_tx_pri4: 0
    p0_tx_pri5: 0
    p0_tx_pri6: 0
    p0_tx_pri7: 0
    p0_tx_pri0_bcnt: 0
    p0_tx_pri1_bcnt: 0
    p0_tx_pri2_bcnt: 0
    p0_tx_pri3_bcnt: 0
    p0_tx_pri4_bcnt: 0
    p0_tx_pri5_bcnt: 0
    p0_tx_pri6_bcnt: 0
    p0_tx_pri7_bcnt: 0
    p0_tx_pri0_drop: 0
    p0_tx_pri1_drop: 0
    p0_tx_pri2_drop: 0
    p0_tx_pri3_drop: 0
    p0_tx_pri4_drop: 0
    p0_tx_pri5_drop: 0
    p0_tx_pri6_drop: 0
    p0_tx_pri7_drop: 0
    p0_tx_pri0_drop_bcnt: 0
    p0_tx_pri1_drop_bcnt: 0
    p0_tx_pri2_drop_bcnt: 0
    p0_tx_pri3_drop_bcnt: 0
    p0_tx_pri4_drop_bcnt: 0
    p0_tx_pri5_drop_bcnt: 0
    p0_tx_pri6_drop_bcnt: 0
    p0_tx_pri7_drop_bcnt: 0
    rx_good_frames: 0
    rx_broadcast_frames: 0
    rx_multicast_frames: 0
    rx_pause_frames: 0
    rx_crc_errors: 0
    rx_align_code_errors: 0
    rx_oversized_frames: 0
    rx_jabber_frames: 0
    rx_undersized_frames: 0
    rx_fragments: 0
    ale_drop: 0
    ale_overrun_drop: 0
    rx_octets: 0
    tx_good_frames: 0
    tx_broadcast_frames: 0
    tx_multicast_frames: 0
    tx_pause_frames: 0
    tx_deferred_frames: 0
    tx_collision_frames: 0
    tx_single_coll_frames: 0
    tx_mult_coll_frames: 0
    tx_excessive_collisions: 0
    tx_late_collisions: 0
    rx_ipg_error: 0
    tx_carrier_sense_errors: 0
    tx_octets: 0
    tx_64B_frames: 0
    tx_65_to_127B_frames: 0
    tx_128_to_255B_frames: 0
    tx_256_to_511B_frames: 0
    tx_512_to_1023B_frames: 0
    tx_1024B_frames: 0
    net_octets: 0
    rx_bottom_fifo_drop: 0
    rx_port_mask_drop: 0
    rx_top_fifo_drop: 0
    ale_rate_limit_drop: 0
    ale_vid_ingress_drop: 0
    ale_da_eq_sa_drop: 0
    ale_block_drop: 0
    ale_secure_drop: 0
    ale_auth_drop: 0
    ale_unknown_ucast: 0
    ale_unknown_ucast_bytes: 0
    ale_unknown_mcast: 0
    ale_unknown_mcast_bytes: 0
    ale_unknown_bcast: 0
    ale_unknown_bcast_bytes: 0
    ale_pol_match: 0
    ale_pol_match_red: 0
    ale_pol_match_yellow: 0
    ale_mcast_sa_drop: 0
    ale_dual_vlan_drop: 0
    ale_len_err_drop: 0
    ale_ip_next_hdr_drop: 0
    ale_ipv4_frag_drop: 0
    iet_rx_assembly_err: 0
    iet_rx_assembly_ok: 0
    iet_rx_smd_err: 0
    iet_rx_frag: 0
    iet_tx_hold: 0
    iet_tx_frag: 0
    tx_mem_protect_err: 0
    tx_pri0: 39
    tx_pri1: 0
    tx_pri2: 0
    tx_pri3: 0
    tx_pri4: 0
    tx_pri5: 0
    tx_pri6: 0
    tx_pri7: 0
    tx_pri0_bcnt: 5060
    tx_pri1_bcnt: 0
    tx_pri2_bcnt: 0
    tx_pri3_bcnt: 0
    tx_pri4_bcnt: 0
    tx_pri5_bcnt: 0
    tx_pri6_bcnt: 0
    tx_pri7_bcnt: 0
    tx_pri0_drop: 0
    tx_pri1_drop: 0
    tx_pri2_drop: 0
    tx_pri3_drop: 0
    tx_pri4_drop: 0
    tx_pri5_drop: 0
    tx_pri6_drop: 0
    tx_pri7_drop: 0
    tx_pri0_drop_bcnt: 0
    tx_pri1_drop_bcnt: 0
    tx_pri2_drop_bcnt: 0
    tx_pri3_drop_bcnt: 0
    tx_pri4_drop_bcnt: 0
    tx_pri5_drop_bcnt: 0
    tx_pri6_drop_bcnt: 0
    tx_pri7_drop_bcnt: 0

    执行 Ping 命令后

    root@am64xx-evm:~# ping 192.168.1.100
    PING 192.168.1.100 (192.168.1.100): 56 data bytes
    ^C
    --- 192.168.1.100 ping statistics ---
    18 packets transmitted, 0 packets received, 100% packet loss
    
    
    root@am64xx-evm:~# ethtool -S eth0
    NIC statistics:
    p0_rx_good_frames: 55
    p0_rx_broadcast_frames: 15
    p0_rx_multicast_frames: 40
    p0_rx_crc_errors: 0
    p0_rx_oversized_frames: 0
    p0_rx_undersized_frames: 0
    p0_ale_drop: 0
    p0_ale_overrun_drop: 0
    p0_rx_octets: 6094
    p0_tx_good_frames: 0
    p0_tx_broadcast_frames: 0
    p0_tx_multicast_frames: 0
    p0_tx_octets: 0
    p0_tx_64B_frames: 17
    p0_tx_65_to_127B_frames: 20
    p0_tx_128_to_255B_frames: 18
    p0_tx_256_to_511B_frames: 0
    p0_tx_512_to_1023B_frames: 0
    p0_tx_1024B_frames: 0
    p0_net_octets: 6094
    p0_rx_bottom_fifo_drop: 0
    p0_rx_port_mask_drop: 0
    p0_rx_top_fifo_drop: 0
    p0_ale_rate_limit_drop: 0
    p0_ale_vid_ingress_drop: 0
    p0_ale_da_eq_sa_drop: 0
    p0_ale_block_drop: 0
    p0_ale_secure_drop: 0
    p0_ale_auth_drop: 0
    p0_ale_unknown_ucast: 0
    p0_ale_unknown_ucast_bytes: 0
    p0_ale_unknown_mcast: 0
    p0_ale_unknown_mcast_bytes: 0
    p0_ale_unknown_bcast: 0
    p0_ale_unknown_bcast_bytes: 0
    p0_ale_pol_match: 0
    p0_ale_pol_match_red: 0
    p0_ale_pol_match_yellow: 0
    p0_ale_mcast_sa_drop: 0
    p0_ale_dual_vlan_drop: 0
    p0_ale_len_err_drop: 0
    p0_ale_ip_next_hdr_drop: 0
    p0_ale_ipv4_frag_drop: 0
    p0_tx_mem_protect_err: 0
    p0_tx_pri0: 0
    p0_tx_pri1: 0
    p0_tx_pri2: 0
    p0_tx_pri3: 0
    p0_tx_pri4: 0
    p0_tx_pri5: 0
    p0_tx_pri6: 0
    p0_tx_pri7: 0
    p0_tx_pri0_bcnt: 0
    p0_tx_pri1_bcnt: 0
    p0_tx_pri2_bcnt: 0
    p0_tx_pri3_bcnt: 0
    p0_tx_pri4_bcnt: 0
    p0_tx_pri5_bcnt: 0
    p0_tx_pri6_bcnt: 0
    p0_tx_pri7_bcnt: 0
    p0_tx_pri0_drop: 0
    p0_tx_pri1_drop: 0
    p0_tx_pri2_drop: 0
    p0_tx_pri3_drop: 0
    p0_tx_pri4_drop: 0
    p0_tx_pri5_drop: 0
    p0_tx_pri6_drop: 0
    p0_tx_pri7_drop: 0
    p0_tx_pri0_drop_bcnt: 0
    p0_tx_pri1_drop_bcnt: 0
    p0_tx_pri2_drop_bcnt: 0
    p0_tx_pri3_drop_bcnt: 0
    p0_tx_pri4_drop_bcnt: 0
    p0_tx_pri5_drop_bcnt: 0
    p0_tx_pri6_drop_bcnt: 0
    p0_tx_pri7_drop_bcnt: 0
    rx_good_frames: 0
    rx_broadcast_frames: 0
    rx_multicast_frames: 0
    rx_pause_frames: 0
    rx_crc_errors: 0
    rx_align_code_errors: 0
    rx_oversized_frames: 0
    rx_jabber_frames: 0
    rx_undersized_frames: 0
    rx_fragments: 0
    ale_drop: 0
    ale_overrun_drop: 0
    rx_octets: 0
    tx_good_frames: 0
    tx_broadcast_frames: 0
    tx_multicast_frames: 0
    tx_pause_frames: 0
    tx_deferred_frames: 0
    tx_collision_frames: 0
    tx_single_coll_frames: 0
    tx_mult_coll_frames: 0
    tx_excessive_collisions: 0
    tx_late_collisions: 0
    rx_ipg_error: 0
    tx_carrier_sense_errors: 0
    tx_octets: 0
    tx_64B_frames: 0
    tx_65_to_127B_frames: 0
    tx_128_to_255B_frames: 0
    tx_256_to_511B_frames: 0
    tx_512_to_1023B_frames: 0
    tx_1024B_frames: 0
    net_octets: 0
    rx_bottom_fifo_drop: 0
    rx_port_mask_drop: 0
    rx_top_fifo_drop: 0
    ale_rate_limit_drop: 0
    ale_vid_ingress_drop: 0
    ale_da_eq_sa_drop: 0
    ale_block_drop: 0
    ale_secure_drop: 0
    ale_auth_drop: 0
    ale_unknown_ucast: 0
    ale_unknown_ucast_bytes: 0
    ale_unknown_mcast: 0
    ale_unknown_mcast_bytes: 0
    ale_unknown_bcast: 0
    ale_unknown_bcast_bytes: 0
    ale_pol_match: 0
    ale_pol_match_red: 0
    ale_pol_match_yellow: 0
    ale_mcast_sa_drop: 0
    ale_dual_vlan_drop: 0
    ale_len_err_drop: 0
    ale_ip_next_hdr_drop: 0
    ale_ipv4_frag_drop: 0
    iet_rx_assembly_err: 0
    iet_rx_assembly_ok: 0
    iet_rx_smd_err: 0
    iet_rx_frag: 0
    iet_tx_hold: 0
    iet_tx_frag: 0
    tx_mem_protect_err: 0
    tx_pri0: 55
    tx_pri1: 0
    tx_pri2: 0
    tx_pri3: 0
    tx_pri4: 0
    tx_pri5: 0
    tx_pri6: 0
    tx_pri7: 0
    tx_pri0_bcnt: 6094
    tx_pri1_bcnt: 0
    tx_pri2_bcnt: 0
    tx_pri3_bcnt: 0
    tx_pri4_bcnt: 0
    tx_pri5_bcnt: 0
    tx_pri6_bcnt: 0
    tx_pri7_bcnt: 0
    tx_pri0_drop: 0
    tx_pri1_drop: 0
    tx_pri2_drop: 0
    tx_pri3_drop: 0
    tx_pri4_drop: 0
    tx_pri5_drop: 0
    tx_pri6_drop: 0
    tx_pri7_drop: 0
    tx_pri0_drop_bcnt: 0
    tx_pri1_drop_bcnt: 0
    tx_pri2_drop_bcnt: 0
    tx_pri3_drop_bcnt: 0
    tx_pri4_drop_bcnt the log are given above: 0
    tx_pri5_drop_bcnt: 0
    tx_pri6_drop_bcnt: 0
    tx_pri7_drop_bcnt: 0
    
    

    4. . 是您可以运行"ethtool -S 的 Linux PC "? 如果是、请在 ping 失败后在连接到定制电路板的 Linux PC 上共享运行该应用程序的结果。

     PC 是 Linux PC。 上面给出了日志。

    谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    PC 是 Linux PC。 日志在上面给出。

    我继续将这些日志放入代码块("Insert">"Code")。 对于未来的日志、请尝试将其插入代码块或添加为附件、因为直接复制到 E2E 回复会使视图混乱。

    您提供的日志似乎只是来自 AM64x 定制电路板的日志。 运行  "ethtool -S 可以获得等效输出 "运行 Linux PC? 目标是检查两个链路伙伴上的 RX 和 TX 统计信息、以帮助缩小 ping 问题的范围。

    从 AM64x 定制电路板上的 ethtool 统计信息中、我没有看到从定制电路板发出"TX_GOOD_FRAMEs"。 由于从定制电路板启动了 ping、我预计会看到非零传输帧(TX_GOOD_FRAME)。 即使未启动 ping、只要检测到链路建立、就应该仍然存在一些非零传输帧。 有关  原因的说明、请参见第9节"Follow the Packet in www.ti.com/.../spradj8.pdf (遵循数据包)"。

    您能否在 Ping 测试之前和之后分享"cat /proc/net/snmp "的结果?

    [报价 userid="580104" url="~/support/processors-group/processors/f/processors-forum/1458082/cpsw-port-not-able-to-ping-from-pc/5593692 #5593692"]

    2.您使用的是哪个 Linux SDK 版本?

        TI-PROCESSOR-SDK-LINUX-RT-am64xx-EVM-09.02.01.10

    [报价]

    使用 SDK 版本09.02.01.10而非最新的 SDK 版本10.1有什么特殊原因?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价 userid="580104" url="~/support/processors-group/processors/f/processors-forum/1458082/cpsw-port-not-able-to-ping-from-pc/5593692 #5593692"]

    1.您的测试设置是 PC 和定制电路板之间的直接以太网连接。

       我们尝试了贝沃选项

        a) PC 和定制电路板之间的直接以太网连接。

         b)将 PC 和定制板连接到集线器。

    [报价]

    您的日志结果是否来自测试设置(a)? 直接连接更容易调试。  

    此外、Linux PC 是否通过以太网端口连接到定制板以外的任何器件(被测器件)?

    我从器件树片段和定制板上"ifconfig"的结果中看到、只有一个以太网接口(eth0)。 为了澄清一点、除了 eth0、您在定制电路板上没有其他以太网接口?

    我从/proc/net/snmp 的输出中看到有传出 ICMP 消息(OutMsgs 和 InMsgs)、但是 MAC 硬件统计信息(ethtool -S)上没有 TX_GOOD_FRAMES。 这在我看来表明、虽然上层 TCP/IP 层上有传出数据包、但这些数据包似乎没有到达 MAC 硬件层。 您的"ifconfig "结果似乎也支持这一点-初始 POST ("TX packets 38")。  

    我需要和一位同事讨论这个0 TX_GOOD_FRAMES 问题。 如果不起作用、来自您的定制电路板的任何传出通信都将不起作用。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    邱道林、您好!

    您的日志结果是否来自测试设置(a)? 直接连接更容易调试。  

    -是的,我们只使用直接连接。

      除了定制板之外、没有其他器件连接到 PC 以太网端口。

      我们感谢您的早期回复。 因为客户正在等待产品交付。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Narashimha Rao:

    [报价 userid="576780" url="~/support/processors-group/processors/f/processors-forum/1458082/cpsw-port-not-able-to-ping-from-pc/5598328 #5598328"]为了澄清一下、除了 eth0?、定制电路板上没有其他以太网接口

    您能否另外确认这一点?

    我需要与一位同事讨论这个零 TX_GOOD_FRAMES 问题。 如果不这样做、来自定制电路板的任何传出通信都将无法正常工作。

    与同事交谈后、"ethtool -S eth0"统计信息的"p0_rx_good_FRAMEs"计数器应该与"tx_good_FRAMEs"的结果匹配。 定制电路板日志中的"p0_rx_good_FRAMES:81";不过、如前所述、"tx_good_FRAMES:0"。 这意味着以太网数据包正在从 CPSW 的内部主机端口(p0_rx_good_FRAMES)退出、但不会从物理 MAC 层(tx_good_FRAMES)退出。 数据包似乎会排队以在软件中传输、但出于某种原因未退出物理端口。

    您能否探测 RMII 基准时钟(RMII_REF_CLK) 并检查它是否为预期的50MHz?  

    2.在探测 RMII 参考时钟时、如果可能、请尝试在 PHY 和处理器的 MAC 附近进行测量。

    3.是否还可以在您的原理图中分享一段 CPSW 信号的路由片段? 请注意、此主题中直接共享的任何内容都可以公开查看、因此如果您需要离线共享、请告知我。

    我们希望检查硬件信号是否已设置、以便数据包可以退出物理 MAC 层。

    由于客户正在等待产品交付。

    客户的产品交付时间表是什么? 您能否分享 此产品是什么最终应用?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    邱道林、您好!

     邱道林说:

       为了澄清一点、除了 eth0、您在定制电路板上没有其他以太网接口?
    Rao 说:
       我们在 Linux 主域上只有 eth0 CPSW 端口。
      
       我们 在 MCU 域中使用了另外2个 ICSSG 端口用于工业通信协议、这些协议运行良好。

    您能否探测 RMII 基准时钟(RMII_REF_CLK) 并检查它是否为预期的50MHz?  

    2.在探测 RMII 参考时钟时、如果可能、请尝试在 PHY 和处理器的 MAC 附近进行测量。

    Rao 说:

      我们已经测量了 RMII 基准时钟 (RMII_REF_CLK) 、并符合预期50MHz。

      RMII 参考时钟在两侧都是相同的、靠近 PHY 和处理器 MAC 引脚。

     邱道林说:

    3.是否还可以在您的原理图中分享一段 CPSW 信号的路由片段? 请注意、此主题中直接共享的任何内容都可以公开查看、因此如果您需要离线共享、请告知我。

    我们使用了 DP83822 Phy。

    我们使用了 DP83822 Phy。

     邱道林说:

    客户的产品交付时间表是什么? 您能否分享 此产品是什么最终应用?

    Rao 说:

    客户产品交付的时间表是2025年2月15日之前、使用 CPSW RMII 以太网端口在 Linux 上移植 OPC。

    我们感谢快速响应。  

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们正在 MCU 域中使用另外2个 ICSSG 端口用于工业通信协议、运行状况良好。

    在 CPSW 接口上测试 ping 时、这两个其他 ICSSG 端口是否连接到另一个器件并且是否在有效运行(即启用 MCU 域)?

    [报价 userid="580104" url="~/support/processors-group/processors/f/processors-forum/1458082/cpsw-port-not-able-to-ping-from-pc/5603660 #5603660"]

    3.是否还可以在您的原理图中分享一段 CPSW 信号的路由片段? 请注意、此主题中直接共享的任何内容都可以公开查看、因此如果您需要离线共享、请告知我。

    我们使用了 DP83822 Phy。

    我们使用了 DP83822 Phy。

    [报价]

    另外、您能否共享表示这些 CPSW_RMII_x 信号连接到哪个位置的片段部分?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     邱道林说:

    在 CPSW 接口上测试 ping 时、这两个其他 ICSSG 端口是否连接到另一个器件并且是否在有效运行(即启用 MCU 域)?

    是在 CPSW 接口上测试 ping 时、其他两个 ICSSG 端口连接到另一个器件、并在 MCU 域(R5F0_0)中有效运行。

    邱道林说:

    另外、您能否共享表示这些 CPSW_RMII_x 信号连接到哪个位置的片段部分?

    定制电路板中的 CPSW_RMII 信号原理图

            

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    您是否能够尝试读取 CPSW_STATn_TXGOODFRAMES_k 寄存器? 使用 AM64x TRM 第12.2.1.6.8.14节 CPSW_STATN_TXGOODFRAMES_k 寄存器来根据所使用的 CPSW 端口(在电路板设计中看起来是 eth0端口1)来确定要读取的确切地址。 按照 TRM 中的公式、您可以对端口0使用类似"devmem2 0x0803A234"的设备。 这是否与以前的"TX_GOOD_FRAMES:0"统计信息对齐?

    此外、您是否可以读取 CPSW_STAT0_RXGOODFRAMES 寄存器(TRM 12.2.1.6.8.1)。 结果是否与以前的"p0_rx_good_FRAMES:81"统计数据对齐?

    [报价用户 id="580104" url="~/support/processors-group/processors/f/processors-forum/1458082/cpsw-port-not-able-to-ping-from-pc/5608696 #5608696"]是在 CPSW 接口上测试 ping 时、其他两个 ICSSG 端口连接到另一设备并在 MCU 域(R5F0_0)中有效运行。[/QUOT]

    此外、您是否可以断开这两个 ICSSG 端口(理想情况下阻止 R5F0_0内核运行)并在 CPSW 接口上重新测试 ping (让我们一次在一个端口上运行)? ethtool 结果是否相同?

    最后一个问题、您是否启用了任何类型的 MAC 环回测试?

    -道林