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.

[参考译文] SK-AM62:netdev 看门狗:eth1 (am65-cpsw-nuss):发送队列0超时

Guru**** 2553450 points
Other Parts Discussed in Thread: AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1262931/sk-am62-netdev-watchdog-eth1-am65-cpsw-nuss-transmit-queue-0-timed-out

器件型号:SK-AM62
主题中讨论的其他器件:AM625

您好、TI!

    我使用 SDK :08_06_00_42

         内核:TI-RT-Linux-5.10.y  

    我的定制电路板 使用 RMII   ETH PHY  RTL8201和  ETH PHY DP83822。

    为了支持  PHY  RTL8201和 DP83822,配置内核  
     

CONFIG_NET_VENDOR_REALTEK=y
CONFIG_DP83822_PHY=y
CONFIG_REALTEK_PHY=y

    并修改  k3-am62x-sk-common.dtsi、

     

&main_pmx0 {

	main_mdio1_pins_default: main-mdio1-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */
			AM62X_IOPAD(0x15c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */
		>;
	};

	main_rmii1_pins_default: main-rmii1-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x14c, PIN_INPUT, 1) /* (AB17) RMII1_RXD0 */
			AM62X_IOPAD(0x150, PIN_INPUT, 1) /* (AC17) RMII1_RXD1 */
			AM62X_IOPAD(0x148, PIN_INPUT, 1) /* (AD17) RMII1_REF_CLK */
			AM62X_IOPAD(0x144, PIN_INPUT, 1) /* (AE17) RMII1_RX_ER */
			AM62X_IOPAD(0x134, PIN_OUTPUT, 1) /* (AE20) RMII1_TXD0 */
			AM62X_IOPAD(0x138, PIN_OUTPUT, 1) /* (AD20) RMII1_TXD1 */
			AM62X_IOPAD(0x130, PIN_OUTPUT, 1) /* (AE19) RMII1_CRS_DV */
			AM62X_IOPAD(0x12c, PIN_OUTPUT, 1) /* (AD19) RMII1_TX_EN */
		>;
	};

	main_rmii2_pins_default: main-rmii2-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x184, PIN_INPUT, 1) /* (AE23) RMII2_RXD0 */
			AM62X_IOPAD(0x188, PIN_INPUT, 1) /* (AB20) RMII2_RXD1 */
			AM62X_IOPAD(0x180, PIN_INPUT, 1) /* (AD23) RMII2_REF_CLK */
			AM62X_IOPAD(0x17c, PIN_INPUT, 1) /* (AD22) RMII2_RX_ER */
			AM62X_IOPAD(0x16c, PIN_OUTPUT, 1) /* (Y18) RMII2_TXD0 */
			AM62X_IOPAD(0x170, PIN_OUTPUT, 1) /* (AA18) RMII2_TXD1 */
			AM62X_IOPAD(0x168, PIN_OUTPUT, 1) /* (AE21) RMII2_CRS_DV */
			AM62X_IOPAD(0x164, PIN_OUTPUT, 1) /* (AA19) RMII2_TX_EN */
		>;
	};
}

&cpsw3g {
	pinctrl-0 = <&main_mdio1_pins_default
		     &main_rmii1_pins_default 
		     &main_rmii2_pins_default>;
};

&cpsw_port1 {
	phy-mode = "rmii";
	phy-handle = <&cpsw3g_phy0>;
};


&cpsw_port2 {
	phy-mode = "rmii";
	phy-handle = <&cpsw3g_phy1>;
};


&cpsw3g_mdio {
	#address-cells = <1>;
	#size-cells = <0>;

	cpsw3g_phy0: ethernet-phy@0 {
		reg = <0>;
	};
 
	cpsw3g_phy1: ethernet-phy@1 {
		reg = <1>;
		rx-internal-delay-ps = <1>;
		tx-internal-delay-ps = <1>;
	};
};

      

     tnen i boot  board  ,

     1.   

        有一个特殊情况, 我只连接 一个端口上的 ethnet ,

        但启动日志中显示 了两个端口检测 ethnet 连接 开启。

        Dtsi 设置错误吗? 如何设置是正确的?

         

            [ 9.754121] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
            [ 9.754240] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

            [ 10.617878] am65-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
            [ 10.617953] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

    2.

       当我使用 ping 时,得到错误作为 folw,驱动程序是否有问题?  

       

root@am62xx-evm:~# ifconfig eth0 192.168.1.55
root@am62xx-evm:~# ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10): 56 data bytes
[  202.038374] ------------[ cut here ]------------
[  202.038393] NETDEV WATCHDOG: eth1 (am65-cpsw-nuss): transmit queue 0 timed out
[  202.038478] WARNING: CPU: 1 PID: 22 at net/sched/sch_generic.c:467 dev_watchdog+0x374/0x380
[  202.038509] Modules linked in: xhci_plat_hcd xhci_hcd usbcore rpmsg_char dwc3 udc_core usb_common cdns_csi2rx v4l2_fwnode irq_pruss_intc pru_rproc crct10dif_ce snd_soc_simple_card snd_soc_simple_card_utils ti_k3_r5_remoteproc virtio_rpmsg_bus dwc3_am62 rti_wdt ti_k3_m4_remoteproc j721e_csi2rx videobuf2_dma_contig sa2ul sha512_generic mcrc videobuf2_memops authenc cdns_dphy pruss videobuf2_v4l2 videobuf2_common tps6598x typec roles snd_soc_tlv320aic3x sch_fq_codel cryptodev(O) ipv6
[  202.038608] CPU: 1 PID: 22 Comm: ksoftirqd/1 Tainted: G           O      5.10.168-rt83-geae3e59505 #1
[  202.038618] Hardware name: Texas Instruments AM625 SK (DT)
[  202.038623] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
[  202.038630] pc : dev_watchdog+0x374/0x380
[  202.038637] lr : dev_watchdog+0x374/0x380
[  202.038642] sp : ffff800011473c20
[  202.038644] x29: ffff800011473c20 x28: ffff0000013d7b00
[  202.038650] x27: 0000000000000004 x26: 0000000000000180
[  202.038656] x25: 00000000ffffffff x24: 0000000000000001
[  202.038662] x23: ffff00000171f3e0 x22: ffff00000171f000
[  202.038667] x21: ffff00000171f4b0 x20: ffff8000110e9000
[  202.038673] x19: 0000000000000000 x18: 0000000000000000
[  202.038679] x17: 0000000000000000 x16: 0000000000000000
[  202.038684] x15: ffff000000160560 x14: ffffffffffffffff
[  202.038690] x13: ffff800011224b86 x12: ffff800011224b79
[  202.038695] x11: 0000000000000001 x10: ffff80001110adc8
[  202.038701] x9 : 00000000fffffffe x8 : 64656d6974203020
[  202.038706] x7 : 6575657571207469 x6 : ffff800011473a70
[  202.038712] x5 : ffff00003fda3b40 x4 : 0000000000000000
[  202.038717] x3 : 0000000000000027 x2 : 0000000100000000
[  202.038723] x1 : b415e6dc6b870e00 x0 : 0000000000000000
[  202.038729] Call trace:
[  202.038733]  dev_watchdog+0x374/0x380
[  202.038739]  call_timer_fn.isra.0+0x24/0x80
[  202.038754]  run_timer_softirq+0x4d4/0x548
[  202.038761]  efi_header_end+0x110/0x214
[  202.038768]  run_ksoftirqd+0x50/0xb8
[  202.038775]  smpboot_thread_fn+0x2e4/0x330
[  202.038783]  kthread+0x174/0x198
[  202.038791]  ret_from_fork+0x10/0x30
[  202.038798] ---[ end trace 0000000000000002 ]---
[  203.039052] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:9800 dql_avail:-2 free_desc:507
[  207.926394] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:14688 dql_avail:-2 free_desc:507
[  213.046388] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:19808 dql_avail:-2 free_desc:507
[  217.910390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:24672 dql_avail:-2 free_desc:507
[  223.030390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:29792 dql_avail:-2 free_desc:507
[  227.894387] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:34656 dql_avail:-2 free_desc:507
[  233.014387] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:39776 dql_avail:-2 free_desc:507
[  238.134391] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:44896 dql_avail:-2 free_desc:507
[  242.998389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:49760 dql_avail:-2 free_desc:507
[  248.118390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:54880 dql_avail:-2 free_desc:507
[  252.982389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:59744 dql_avail:-2 free_desc:507
[  258.102389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:64864 dql_avail:-2 free_desc:507
[  262.966386] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:69728 dql_avail:-2 free_desc:507
[  268.086392] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:74848 dql_avail:-2 free_desc:506
[  271.926388] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:7600 dql_avail:-334 free_desc:506
[  272.950388] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:79712 dql_avail:-2 free_desc:506
[  277.046386] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:12720 dql_avail:-334 free_desc:506
[  278.070390] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:84832 dql_avail:-2 free_desc:506
[  281.910393] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:17584 dql_avail:-334 free_desc:506
[  282.934388] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:89696 dql_avail:-2 free_desc:506
[  287.030389] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:22704 dql_avail:-334 free_desc:506
[  288.054389] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:94816 dql_avail:-2 free_desc:506
[  291.894390] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:27568 dql_avail:-334 free_desc:506
[  292.918391] am65-cpsw-nuss 8000000.ethernet eth1: txq:0 DRV_XOFF:0 tmo:99680 dql_avail:-2 free_desc:506

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

    您好!

    这需要与开发团队进行一些核实。 还可以附加 ethtool -S eth0的结果吗?

    此致、

    舒耶勒

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

    尊敬的 Schuyler

        ethtool -S eth0 消息 :

    root@am62xx-evm:~# ethtool -S eth0
    NIC statistics:
         p0_rx_good_frames: 141
         p0_rx_broadcast_frames: 85
         p0_rx_multicast_frames: 56
         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: 18324
         p0_tx_good_frames: 0
         p0_tx_broadcast_frames: 0
         p0_tx_multicast_frames: 0
         p0_tx_octets: 0
         p0_tx_64B_frames: 65
         p0_tx_65_to_127B_frames: 36
         p0_tx_128_to_255B_frames: 17
         p0_tx_256_to_511B_frames: 23
         p0_tx_512_to_1023B_frames: 0
         p0_tx_1024B_frames: 0
         p0_net_octets: 18324
         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: 108
         tx_pri1: 0
         tx_pri2: 0
         tx_pri3: 0
         tx_pri4: 0
         tx_pri5: 0
         tx_pri6: 0
         tx_pri7: 0
         tx_pri0_bcnt: 12136
         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

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

    您好!

    我同意如果只有一个 PHY 已连接、则两个 PHY 都不应显示链路状态。 我将进一步检查 DTS 设置并记录文件、然后在此处再次响应。 MAC 统计信息显示正在发送 TX 数据包。 未连接端口连接器上的 LED 是否显示已连接状态?  

    此致、

    舒耶勒

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

    尊敬的  Schuyler
               未连接的端口 指示灯熄灭。  
              MAIN_rmii1_PINS_DEFAULT 用于 RTL8201 PHY (   端口1)、MAIN_rmii2_PINS_DEFAULT 用于 DP83822 (端口2)。

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

    您好!

    您是否还可以连接 ethtool -S eth1?  

    或许您要注释掉端口2的引脚、无论统计数据是否显示有任何变化?

    请像您已经包含的其他文件一样附加完整的引导日志。

    此致、

    舒耶勒

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

    您好!

    查看 TI EVM 的引脚多路复用器定义、我发现 MDIO 引脚定义列在 MDIO 节点中。 作为一个实验、您可以将 MDIO 引脚多路复用器从 CPSW 节点移动到 MDIO。

    这来自 AM625文件 arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi。

    cpsw3g_mdio {
    	 
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mdio1_pins_default>;

    };

    此致、

    舒耶勒

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

    您好!

    TI 不存在驱动程序问题。 我认为问题在于 DTS 文件。 我建议放置 MDIO 引脚定义、例如 TI 放置定义的方式。  

    目前我没有其他建议。 我会在接下来的几天离开办公室,然后在下周中旬回来。 然后我会再次答复。  

    此致、

    舒耶勒