2367273_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2367273_zh-CN

2367273_zh-CN

SJA1110A DSA 上电:100BASE-TX TX 故障和 T1 链路培训问题

你好

我正在使用 Linux DSA 通过 SPI 将一个 SJA1110AEL 交换机连接到 Microchip PolarFire SoC 上 sja1105驱动程序,通过 SPI 将 SJA1110AEL 开关连接到 Microchip PolarFire SoC:

https://github.com/linux4microchip/linux/tree/linux-6.12-mchp%2Bfpga/drivers/net/dsa/sja1105

交换机配置为 SPI 启动模式(BOOT_OPTION=11),静态配置上传看起来很成功。

[    2.546758] sja1105 spi9.0: Probed switch chip: SJA1110A
[    2.546777] sja1105 spi9.0: max_xfer_len = 256 bytes
[    2.549576] sja1105 spi9.0: Config buffer length: 1776 bytes
[    2.549605] sja1105 spi9.0: Config buffer device_id at offset 0: 0x0f0300b7
[    2.742531] sja1105 status decoded: CONFIGS=1 CRCCHKL=0 IDS=0 CRCCHKG=0 NSLOT=9
[    2.742563] sja1105 spi9.0: sja1105_static_config_load done
[    2.742579] sja1105 spi9.0: sja1105_clocking done
[    2.742592] sja1105 spi9.0: sja1105_TAS and flower setup done
[    2.743823] sja1105 spi9.0: sja1105_ptp_clock_register done
[    2.888661] sja1105 spi9.0: sja1105_mdiobus_register done
[    2.888699] sja1105 spi9.0: sja1105_devlink_setup done
[    2.902778] sja1105 spi9.0: dsa_tag_8021q_register and rtnl_unlockdone
[    2.904141] sja1105 spi9.0: configuring for fixed/sgmii link mode
[    2.909745] sja1105 spi9.0: Link is Up - 1Gbps/Full - flow control off
[    2.964511] sja1105 spi9.0 rj45 (uninitialized): PHY [spi9.0-base-tx:01] driver [NXP CBTX (SJA1110)] (irq=POLL)
[    2.973125] sja1105 spi9.0 t1-1 (uninitialized): PHY [spi9.0-base-t1:01] driver [Generic Clause 45 PHY] (irq=POLL)
[    2.976322] sja1105 spi9.0 t1-2 (uninitialized): PHY [spi9.0-base-t1:02] driver [Generic Clause 45 PHY] (irq=POLL)
[    2.979382] sja1105 spi9.0 t1-3 (uninitialized): PHY [spi9.0-base-t1:03] driver [Generic Clause 45 PHY] (irq=POLL)
[    2.982622] sja1105 spi9.0 t1-4 (uninitialized): PHY [spi9.0-base-t1:04] driver [Generic Clause 45 PHY] (irq=POLL)
[    2.985855] sja1105 spi9.0 t1-5 (uninitialized): PHY [spi9.0-base-t1:05] driver [Generic Clause 45 PHY] (irq=POLL)
[    2.989002] sja1105 spi9.0 t1-6 (uninitialized): PHY [spi9.0-base-t1:06] driver [Generic Clause 45 PHY] (irq=POLL)
[    2.991420] macb 20110000.ethernet eth0: entered promiscuous mode
[    2.991540] DSA: tree 0 setup
[    2.993156] clk: Disabling unused clocks

##############################################
***************   FSW-PIXXEL   ***************
***************     IN_xPC     ***************
##############################################
# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo 
       valid_lft forever preferred_lft forever
2: bond0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 4e:0a:f0:7b:bc:e0 brd ff:ff:ff:ff:ff:ff
3: can0:  mtu 16 qdisc noop state DOWN group default qlen 10
    link/can 
4: can1:  mtu 16 qdisc noop state DOWN group default qlen 10
    link/can 
5: eth0:  mtu 1536 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
6: eth1:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:04:a3:61:cc:6f brd ff:ff:ff:ff:ff:ff
7: sit0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
8: rj45@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
9: interswitch@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
10: epc2-uplink@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
11: t1-1@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
12: t1-2@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
13: t1-3@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
14: t1-4@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
15: t1-5@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
16: t1-6@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000

目前的观察结果:

  • CPU 端口 (SGMII) 启动正常。
  • 我可以从连接到 RJ45 100BASE-TX 端口的笔记本电脑接收 ARP 数据包。
  • 板上的 tcpdump 确认来自笔记本电脑的 ARP 请求。
  • 当从主板发送(ping/arping)时,笔记本电脑不会收到任何东西。
  • 笔记本电脑 tcpdump 未显示来自主板的 RX 数据包

我的问题是

  1. 要使 TX 流量在 SJA1110 DSA 端口上正常工作,是否需要任何额外的运行时 MAC 配置/转发/路由表设置?
  2. 是否可以预期 100BASE-T1 PHY 在此驱动程序树 中仅作为 通用条款 45 PHY 出现 ? 当前的 Linux 6.12 Microchip 树中是否缺少专用 BASE-T1 PHY 驱动程序?
  3. 为了进行测试,我尝试在两个 T1 端口之间进行直接环回 (T1-1<-> T1-2) 之间的直接环回,方法是连接:(TRX_1_P<->TRX_2_P 和 TRX_2_P<->TRX_2_N )。

  4. SJA1110 BASE-T1 PHY 是否需要为链路训练进行明确的主/从配置?

8: rj45@eth0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5c78:8fff:fe24:8653/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
11: t1-1@eth0:  mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.1/24 scope global t1-1
       valid_lft forever preferred_lft forever
12: t1-2@eth0:  mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default qlen 1000
    link/ether 5e:78:8f:24:86:53 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.2/24 scope global t1-2
       valid_lft forever preferred_lft forever

[  133.739306] macb 20110000.ethernet eth0: configuring for fixed/sgmii link mode
[  133.739364] MACB : HWSTAMP check running
[  133.739414] MACB : HWSTAMP check passed found tsu_clk 
[  133.741036] macb 20110000.ethernet: gem-ptp-timer ptp clock registered.
[  133.742794] sja1105 spi9.0 t1-1: configuring for phy/internal link mode
[  149.008075] sja1105 spi9.0 t1-2: configuring for phy/internal link mode
[  543.849763] sja1105 spi9.0 rj45: configuring for phy/internal link mode
[  545.889486] sja1105 spi9.0 rj45: Link is Up - 100Mbps/Full - flow control off

 

硬件表带配置:

  • 全部 PHY_MS引脚均为低电平(从属模式)。
  • PHY_AUTO_MODE= 高
  • AUTO_POL_DET= 高电平
  • PHY 地址从 0x09.

没有 T1 链路的原因会不会是两个 PHY 都绑定为 SLAVE,因此没有用于链路训练的主时钟源?

有关以下方面的任何指导:

  • 正确的 T1 启动、
  • 主/从配置、
  • 或预期 PHY 驱动程序支持

将不胜感激。


这是用于以太网交换机的 DTSI。

/* MAC0 : DSA master into SJA1110A SGMII4 */
&mac0 {
    /delete-property/ phy-handle;
    clocks = <&clkcfg CLK_MAC0>, <&clkcfg CLK_AHB>, <&fabric_fic3_clk>;
    clock-names = "pclk", "hclk", "tsu_clk";
    phy-mode = "sgmii";
    status = "okay";
    dma-noncoherent;
    fixed-link {
        speed = <1000>;
        full-duplex;
    };
};

/*
* SPI9: SJA1110A Host Access Port (HAP)
*   CS0 (reg=0) -> SS0_N -> Switch AP endpoint (DSA driver)
*   CS1 (reg=1) -> SS1_N -> Cortex-M7 uC endpoint (unused)
*
* BOOT_OPTION=11 (serial SPI boot):
*   SJA1110A waits for host config at power-on.
*   DSA driver sends static config tables at probe via CS0.
*   Cortex-M7 is disabled by driver : CS1/SS1 never used.
*
* SPI mode: CPOL=1 CPHA=0 (mode 2) : as per sja1105.yaml
* SPI mode: CPOL=1 CPHA=1 (mode 3) : as per s32gxxxa-rdb.dtsi
*/
&spi9 {
    microchip,motorola-mode = <3>;  /* mode 3: CPOL=1 CPHA=1 */
    num-cs = <2>;
    status = "okay";
    /*
    * SJA1110A : DSA switch (mainline driver)
    * reg=0 -> CS0 -> SS0_N -> switch AP endpoint
    *   ethernet-switch@0 uses reg=<0> (SS0 = switch AP)
    *   sja1110-uc@1 uses reg=<1> (SS1 = uC, disabled here)
    *
    * Port map
    *   port@0  RevMII     Cortex-M7 uC (disabled by driver)
    *   port@1  100BASE-TX RJ45 diagnostic jack
    *   port@2  RGMII2     inter-switch trunk -> SJA port2
    *   port@3  SGMII3     EPC-2 MAC1 relay uplink
    *   port@4  SGMII4     EPC-1 MAC0 CPU port (this board)
    *   Confirm is actual physical address needs to be added here 
    *   port@5  100BASE-T1 TRX_1 (PHY addr 9  on mdio@0)
    *   port@6  100BASE-T1 TRX_2 (PHY addr 10 on mdio@0)
    *   port@7  100BASE-T1 TRX_3 (PHY addr 11 on mdio@0)
    *   port@8  100BASE-T1 TRX_4 (PHY addr 12 on mdio@0)
    *   port@9  100BASE-T1 TRX_5 (PHY addr 13 on mdio@0)
    *   port@a  100BASE-T1 TRX_6 (PHY addr 14 on mdio@0)
    */

    sja1110a: ethernet-switch@0 {
        compatible = "nxp,sja1110a";
        reg = <0>;
        spi-max-frequency = <1000000>;
        interrupt-parent = <&gpio8>;
        interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
    
        mdios {
            #address-cells = <1>;
            #size-cells = <0>;
            mdio_t1: mdio@0 {
                compatible = "nxp,sja1110-base-t1-mdio";
                reg = <0>;
                #address-cells = <1>;
                #size-cells = <0>;
    
                port5_base_t1_phy: ethernet-phy@1 {
                    compatible = "ethernet-phy-ieee802.3-c45";
                    reg = <0x01>;
                };

                port6_base_t1_phy: ethernet-phy@2 {
                    compatible = "ethernet-phy-ieee802.3-c45";
                    reg = <0x02>;
                };

                port7_base_t1_phy: ethernet-phy@3 {
                    compatible = "ethernet-phy-ieee802.3-c45";
                    reg = <0x03>;
                };

                port8_base_t1_phy: ethernet-phy@4 {
                    compatible = "ethernet-phy-ieee802.3-c45";
                    reg = <0x04>;
                };

                port9_base_t1_phy: ethernet-phy@5 {
                    compatible = "ethernet-phy-ieee802.3-c45";
                    reg = <0x05>;
                };

                port10_base_t1_phy: ethernet-phy@6 {
                    compatible = "ethernet-phy-ieee802.3-c45";
                    reg = <0x06>;
                };
            };
    
            mdio_tx: mdio@1 {
                compatible = "nxp,sja1110-base-tx-mdio";
                reg = <1>;
                #address-cells = <1>;
                #size-cells = <0>;
                txphy1: ethernet-phy@1 {
                    reg = <1>;
                };
            };
        };
    
        ethernet-ports {
            #address-cells = <1>;
            #size-cells = <0>;
    
            port@0 { reg = <0>; status = "disabled"; };
    
            /* -------------------------------------
             * RJ45 diagnostic port
             * ------------------------------------- */
            port@1 {
                reg = <1>;
                label = "rj45";
                phy-mode = "internal";
                phy-handle = <&txphy1>;
            };
    
            port@2 {
                reg = <2>;
                label = "interswitch";
                phy-mode = "rgmii";
                rx-internal-delay-ps = <0>;
                tx-internal-delay-ps = <0>;
                fixed-link { speed = <1000>; full-duplex; };
            };
    
            port@3 {
                reg = <3>;
                label = "epc2-uplink";
                phy-mode = "sgmii";
                fixed-link { speed = <1000>; full-duplex; };
            };
    
            /* -------------------------------------
             * CPU port
             * MAC0 <-> SGMII4 <-> port4
             * ------------------------------------- */
            port@4 {
                reg = <4>;
                label = "cpu";
                ethernet = <&mac0>;
                phy-mode = "sgmii";
                fixed-link {
                    speed = <1000>;
                    full-duplex;
                };
            };
    
            port@5 {
                reg = <5>;
                label = "t1-1";
                phy-mode = "internal"; 
                phy-handle = <&port5_base_t1_phy>;
            };

            port@6 {
                reg = <6>; 
                label = "t1-2";
                phy-mode = "internal"; 
                phy-handle = <&port6_base_t1_phy>;
            };

            port@7 {
                reg = <7>; 
                label = "t1-3";
                phy-mode = "internal"; 
                phy-handle = <&port7_base_t1_phy>;
            };

            port@8 {
                reg = <8>; 
                label = "t1-4";
                phy-mode = "internal"; 
                phy-handle = <&port8_base_t1_phy>;
            };

            port@9 {
                reg = <9>; 
                label = "t1-5";
                phy-mode = "internal"; 
                phy-handle = <&port9_base_t1_phy>;
            };

            port@a {
                reg = <10>; 
                label = "t1-6";
                phy-mode = "internal"; 
                phy-handle = <&port10_base_t1_phy>;
            };
        };
    };

    /* SPIDEV for testing SPI lines using CS1 lines*/
    sja110_spidev: spidev@1 {
        compatible = "microchip,mpfs-spidev";
        reg = <1>;
        status = "okay";
        spi-max-frequency = <1000000>;
    };
};


-- 安库尔

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好@Ankur_pixl

感谢您一次性分享所有细节。

请在下面找到您问题的答案。

Q1.要使 TX 流量在 SJA1110 DSA 端口上正常工作,是否需要任何额外的运行时 MAC 配置/转发/路由表设置?

A1.是的,请见下文。

Q2.100BASE-T1 PHY 在此驱动程序树中是否只能作为通用第 45 条 PHY 出现?当前的 Linux 6.12 Microchip 树中是否缺少专用 BASE-T1 PHY 驱动程序?

A2.A2.

Q3.为进行测试,我尝试在两个 T1 端口(t1-1<-> t1-2)之间直接环回,方法是连接:(TRX_1_P<->TRX_2_P 和 TRX_2_P<->TRX_2_N )。

A3:是的,没错。

Q4.SJA1110 BASE-T1 PHY 是否需要为链路训练进行明确的主/从配置?

A4.是的,100BASE-T1 需要明确的主/从设置。仅供参考,驱动器中的"AUTO" 选项通常意味着"按照引脚捆绑" 。 要实现有效链接,必须通过硬件捆绑或 PHY 配置,将一个 PHY 配置为 MASTER(主设备),另一个 PHY 配置为 SLAVE(从设备)。



根据日志和 DT,交换机初始化和 PHY 绑定看起来是正确的。

如果 Linux 中没有配置网桥,就会出现 RX 可以工作而 TX 不能工作的情况。在 DSA 中,CPU 端口和用户端口之间不会自动转发流量。 DSA 交换机的行为类似于硬件交换机,但除非显式创建了网桥或 VLAN 配置,否则 Linux 不会在端口之间启用转发功能。

请创建一个网桥,同时连接 CPU 端口(eth0)和用户端口(rj45):

ip link set eth0 up
ip link set rj45 up

ip link add br0 type bridge
ip link set br0 up
ip link set eth0 master br0
ip link set rj45 master br0

ip addr add 192.168.1.2/24dev br0


顺祝商祺!

帕维尔

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

您好,

我试过做同样的事情,但仍然没有看到笔记本电脑从
板上收到任何数据包。以下是我遵循的具体步骤:

-------------------
ip link set eth0 up
ip link set rj45 up
ip link add br0 type bridge
ip link set br0 type bridge
ip link set br0 up
ip link set rj45 master br0
ip addr add 192.168.1.1/24dev br0
ping 192.168.1.2

-------------------

为了提供更多信息:RJ45 连接器已返工,芯片 TX 对的 P/N 端口与 RJ45 连接错误,这也可能是造成问题的原因。但是,链接总是会出现。

有什么我遗漏的吗?我附上了与 ETH 和 PHY 相关的内核配置。请检查是否有遗漏。

# ------------------------------
# Networking / HSR / QoS / PTP
# ------------------------------
CONFIG_HSR=y
CONFIG_PTP_1588_CLOCK=y
CONFIG_POSIX_TIMERS=y
CONFIG_BONDING=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_FIFO=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_TAPRIO=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_MACB_USE_HWSTAMP=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y

# -----------------------------
# SJA1110 Ethernet Switch support
# -----------------------------
CONFIG_PHYLINK=y
CONFIG_PCS_MARVELL=y
CONFIG_SWPHY=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_8021Q=y
CONFIG_NET_DSA_SJA1105=y
CONFIG_NET_DSA_SJA1105_PTP=y
CONFIG_NET_DSA_SJA1105_TAS=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_DSA_TAG_OCELOT_8021Q=y
CONFIG_MDIO_BUS=y                
CONFIG_MDIO_DEVICE=y             
CONFIG_NET_SCH_CBS=y             
CONFIG_BRIDGE=y
CONFIG_OF_MDIO=y
CONFIG_MDIO_DEVRES=y
CONFIG_NET_DSA_SJA1105_VL=y
CONFIG_PHYLIB_10G=y

# -----------------------------
# PHY support for direct ETH link (MAC0 - OBC)
# Fixed link - no PHY driver needed for MAC0
# MAC1 - SJA1110 also uses fixed link to switch CPU port
# -----------------------------
CONFIG_FIXED_PHY=y
CONFIG_PHYLIB=y
CONFIG_NXP_CBTX_PHY=y
CONFIG_NXP_C45_TJA11XX_PHY=y
CONFIG_NXP_TJA11XX_PHY=y
CONFIG_MARVELL_88Q2XXX_PHY=y
CONFIG_AQUANTIA_PHY=y
CONFIG_MICREL_PHY=y


我还尝试用 T1-1 和 T1-2 进行 100BASE-T1 环回,将 T1-1 设置为 PHY_MS = 1(主站),T1-2 设置为 PHY_MS = 0(从站)。我调出了两个界面,但链接始终没有出现。这在意料之中吗?我错过了什么?环回是双绞线(P/N)上的简单有线连接。

-------------------

ip link set eth0 up
ip link set rj45 up
ip link set t1-1 up
ip link set t1-2 up


-------------------

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好@Ankur_pixl

不知怎么的,你漏了一行:

ip link set eth0 up
ip link set rj45 up

 

ip link add br0 type bridge
ip link set br0 up

 

ip link set eth0 master br0
ip link set rj45 master br0

 

ip addr add 192.168.1.1/24开发周期


内核配置似乎正确。

关于 T1

100BASE-T1 的简单布线连接应该可以正常工作,我一直使用这种连接方式。是否使用 PHY_ADDR* 引脚绑扎?

请分享:
ethtool t1-1
ethtool t1-2
dmesg | grep -iE"t1-|phy|sja1105" 在链接启动之后


顺祝商祺!

帕维尔

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好@PavelL,
感谢您的回答。

将 eth0 连接到 br0 后,当尝试连接 rj45 时,我看到如下错误。

#  ip link set eth0 up
[   20.561460] macb 20110000.ethernet eth0: configuring for fixed/sgmii link mode
[   20.561554] MACB : HWSTAMP check running
# [   20.561605] MACB : HWSTAMP check passed found tsu_clk 
[   20.562612] macb 20110000.ethernet: gem-ptp-timer ptp clock registered.
 ip link set rj45 up
# [   25.693665] sja1105 spi9.0 rj45: configuring for phy/internal link mode
[   27.746002] sja1105 spi9.0 rj45: Link is Up - 100Mbps/Full - flow control off
# ip link add br0 type bridge
# ip link set br0 up
# ip link set eth0 master br0
# [   43.053547] br0: port 1(eth0) entered blocking state
[   43.053590] br0: port 1(eth0) entered disabled state
[   43.053666] macb 20110000.ethernet eth0: entered allmulticast mode
ip link set rj45 master br0
[   49.972011] br0: port 2(rj45) entered blocking state
[   49.972214] br0: port 2(rj45) entered disabled state
[   49.972288] sja1105 spi9.0 rj45: entered allmulticast mode
RTNETLINK answer[   50.005003] sja1105 spi9.0 rj45: left allmulticast mode
s: Invalid argument



关于 T1 端口,请参见以下答复

# ip link set eth0 up
[  305.486294] macb 20110000.ethernet eth0: configuring for fixed/sgmii link mode
[  305.486405] MACB : HWSTAMP check running
[  305.486456] MACB : HWSTAMP check passed found tsu_clk 
[  305.487476] macb 20110000.ethernet: gem-ptp-timer ptp clock registered.
# ip link set rj45 up
# [  311.277622] sja1105 spi9.0 rj45: configuring for phy/internal link mode
[  313.313486] sja1105 spi9.0 rj45: Link is Up - 100Mbps/Full - flow control off
# ip link set t1-1 up
# [  326.282210] sja1105 spi9.0 t1-1: configuring for phy/internal link mode
# ip link set t1-2 up
[  330.126681] sja1105 spi9.0 t1-2: configuring for phy/internal link mode
# ethtool t1-1
Settings for t1-1:
        Supported ports: [ ]
        Supported link modes:   100baseT1/Full 
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  100baseT1/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: off
        Supports Wake-on: d
        Wake-on: d
        Link detected: no
# ethtool t1-2
Settings for t1-2:
        Supported ports: [ ]
        Supported link modes:   100baseT1/Full 
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  100baseT1/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 100Mb/s
        Duplex: Full
        Duplex: Full                                                                                                        
        Port: MII                                                                                                           
        PHYAD: 2                                                                                                            
        Transceiver: external                                                                                               
        Auto-negotiation: off                                                                                               
        Wake-on: d
        Link detected: no
# [  365.547745] power_supply bq34z100-0: driver failed to report `time_to_empty_avg' property: -22
dmesg | grep -iE "t1-|phy|sja1105" 
[    2.250188] u-dma-buf udmabuf-ddr-c0: phys address   = 0x0000000088000000
[    2.995658] u-dma-buf udmabuf-ddr-nc0: phys address   = 0x00000000c8000000
[    3.012712] u-dma-buf udmabuf-ddr-nc-wcb0: phys address   = 0x00000000d8000000
[    3.081775] sja1105 spi9.0: Probed switch chip: SJA1110A
[    3.081796] sja1105 spi9.0: max_xfer_len = 256 bytes
[    3.233399] sja1105 spi9.0: Probed switch chip: SJA1110A
[    3.233418] sja1105 spi9.0: max_xfer_len = 256 bytes
[    3.236047] sja1105 spi9.0: Config buffer length: 1776 bytes
[    3.236072] sja1105 spi9.0: Config buffer device_id at offset 0: 0x0f0300b7
[    3.429135] sja1105 status decoded: CONFIGS=1 CRCCHKL=0 IDS=0 CRCCHKG=0 NSLOT=5
[    3.429165] sja1105 spi9.0: sja1105_static_config_load done
[    3.429181] sja1105 spi9.0: sja1105_clocking done
[    3.429194] sja1105 spi9.0: sja1105_TAS and flower setup done
[    3.430339] sja1105 spi9.0: sja1105_ptp_clock_register done
[    3.572901] sja1105 spi9.0: sja1105_mdiobus_register done
[    3.572938] sja1105 spi9.0: sja1105_devlink_setup done
[    3.586915] sja1105 spi9.0: dsa_tag_8021q_register and rtnl_unlockdone
[    3.588440] sja1105 spi9.0: configuring for fixed/sgmii link mode
[    3.593936] sja1105 spi9.0: Link is Up - 1Gbps/Full - flow control off
[    3.652480] sja1105 spi9.0 rj45 (uninitialized): PHY [spi9.0-base-tx:01] driver [NXP CBTX (SJA1110)] (irq=POLL)
[    3.661033] sja1105 spi9.0 t1-1 (uninitialized): PHY [spi9.0-base-t1:01] driver [Generic Clause 45 PHY] (irq=POLL)
[    3.664058] sja1105 spi9.0 t1-2 (uninitialized): PHY [spi9.0-base-t1:02] driver [Generic Clause 45 PHY] (irq=POLL)
[    3.667342] sja1105 spi9.0 t1-3 (uninitialized): PHY [spi9.0-base-t1:03] driver [Generic Clause 45 PHY] (irq=POLL)
[    3.670592] sja1105 spi9.0 t1-4 (uninitialized): PHY [spi9.0-base-t1:04] driver [Generic Clause 45 PHY] (irq=POLL)
[    3.673818] sja1105 spi9.0 t1-5 (uninitialized): PHY [spi9.0-base-t1:05] driver [Generic Clause 45 PHY] (irq=POLL)
[    3.676972] sja1105 spi9.0 t1-6 (uninitialized): PHY [spi9.0-base-t1:06] driver [Generic Clause 45 PHY] (irq=POLL)
[  311.277622] sja1105 spi9.0 rj45: configuring for phy/internal link mode
[  313.313486] sja1105 spi9.0 rj45: Link is Up - 100Mbps/Full - flow control off
[  326.282210] sja1105 spi9.0 t1-1: configuring for phy/internal link mode
[  330.126681] sja1105 spi9.0 t1-2: configuring for phy/internal link mode


是的,我确实使用了 PHY_ADDR 带,PHY_ADDR[4:0] 设置为 5'b010001。( 0x09 至 0x14 ) 与https://github.com/nxp-auto-linux/linux/blob/810f396375526c11989bd1a296d2f9959de9392f/arch/arm64/boo...和 S32G-VNP-RDB3 原理图相同。

Ankur_pixl_0-1779443722982.pngAnkur_pixl_0-1779443722982.png

-- 安库尔


Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好@Ankur_pixl

感谢您的更新 - 目前,我认为我们最好从头开始调试,使用最小的确定性设置,因为我们现在有几个相互影响的变量(DSA 拓扑、网桥行为和 PHY 访问路径),我们需要隔离 RJ45 问题是软件(Linux/DSA/网桥/VLAN)问题还是硬件(TX 对/磁性元件)问题。
从你最初的描述中,我们可以看出一个清晰的症状模式:

  • RJ45 RX 正常工作(可以看到来自笔记本电脑的 ARP 请求)。
  • RJ45 TX 不能(笔记本电脑看不到板上的任何框架)。
  • 100BASE‑T1 仍处于关闭状态,目前我们没有足够的证据来得出结论,这是否与配置/管理路径有关,还是与物理层/训练问题有关。

这是第一步:

第 1 步 - 在不使用任何桥接器的情况下确认 RJ45 上的基本 TX

ip link set eth0 up
ip link set rj45 up

 

# 重要:移除其他设备上的 IP 以避免混乱路由
ip addr flush dev eth0
IP 地址 flush dev rj45
IP 地址 flush dev br0 2>/dev/null

 

# 将 IP 直接接入 RJ45 DSA 端口
ip addr add 192.168.1.1/24dev rj45

 

# 显示路由和地址以保持理智
ip addr show rj45
ip route show

 

# 产生流量
arping -I rj45 192.168.1.2
ping -I rj45 192.168.1.2

同时,在板上捕获
tcpdump -i rj45 -e -nn arp 或 icmp

笔记本电脑
tcpdump -i -e -nn arp 或 icmp

顺祝商祺!

帕维尔

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好,

,我还发现 eth0 链接没有显示 RUNNING,这会是问题之一吗?在进行 PING 时,RJ45 的 txbytes 会增加,但 eth0 发送的所有信息都会被丢弃。

eth0      Link encap:Ethernet  HWaddr 92:56:D3:62:3D:60  
          UP BROADCAST MULTICAST  MTU:1536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:10 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:33 

rj45      Link encap:Ethernet  HWaddr 92:56:D3:62:3D:60  
          inet6 addr: fe80::9056:d3ff:fe62:3d60/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:796 (796.0 B)


# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host proto kernel_lo 
       valid_lft forever preferred_lft forever
2: bond0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ee:06:ea:10:7f:d4 brd ff:ff:ff:ff:ff:ff
3: can0:  mtu 16 qdisc noop state DOWN group default qlen 10
    link/can 
4: can1:  mtu 16 qdisc noop state DOWN group default qlen 10
    link/can 
5: eth0:  mtu 1536 qdisc mq state DOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
6: eth1:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:04:a3:61:cc:6f brd ff:ff:ff:ff:ff:ff
7: sit0@NONE:  mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
8: rj45@eth0:  mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9056:d3ff:fe62:3d60/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
9: interswitch@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
10: epc2-uplink@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
11: t1-1@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
12: t1-2@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
13: t1-3@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
14: t1-4@eth0:  mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
15: t1-5@eth0:  mtu 1500 qdisc noqueue master br0 state LOWERLAYERDOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
16: t1-6@eth0:  mtu 1500 qdisc noqueue master br0 state LOWERLAYERDOWN group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
17: br0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 92:56:d3:62:3d:60 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.1/24 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::9056:d3ff:fe62:3d60/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever

-- 安库尔

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

您好

1.)我尝试了同样的测试,还检查了其他一些东西来验证问题。CPU 端口 (p04) 和 RJ45 之间似乎没有编程 L2 转发路径。

以下是整个日志

////////////////// AFTER BOOT  //////////////////
# ethtool -S eth0
NIC statistics:
     tx_octets: 0
     tx_frames: 0
     tx_broadcast_frames: 0
     tx_multicast_frames: 0
     tx_pause_frames: 0
     tx_64_byte_frames: 0
     tx_65_127_byte_frames: 0
     tx_128_255_byte_frames: 0
     tx_256_511_byte_frames: 0
     tx_512_1023_byte_frames: 0
     tx_1024_1518_byte_frames: 0
     tx_greater_than_1518_byte_frames: 0
     tx_underrun: 0
     tx_single_collision_frames: 0
     tx_multiple_collision_frames: 0
     tx_excessive_collisions: 0
     tx_late_collisions: 0
     tx_deferred_frames: 0
     tx_carrier_sense_errors: 0
     rx_octets: 0
     rx_frames: 0
     rx_broadcast_frames: 0
     rx_multicast_frames: 0
     rx_pause_frames: 0
     rx_64_byte_frames: 0
     rx_65_127_byte_frames: 0
     rx_128_255_byte_frames: 0
     rx_256_511_byte_frames: 0
     rx_512_1023_byte_frames: 0
     rx_1024_1518_byte_frames: 0
     rx_greater_than_1518_byte_frames: 0
     rx_undersized_frames: 0
     rx_oversize_frames: 0
     rx_jabbers: 0
     rx_frame_check_sequence_errors: 0
     rx_length_field_frame_errors: 0
     rx_symbol_errors: 0
     rx_alignment_errors: 0
     rx_resource_errors: 0
     rx_overruns: 0
     rx_ip_header_checksum_errors: 0
     rx_tcp_checksum_errors: 0
     rx_udp_checksum_errors: 0
     q0_rx_packets: 0
     q0_rx_bytes: 0
     q0_rx_dropped: 0
     q0_tx_packets: 0
     q0_tx_bytes: 0
     q0_tx_dropped: 0
     q1_rx_packets: 0
     q1_rx_bytes: 0
     q1_rx_dropped: 0
     q1_tx_packets: 0
     q1_tx_bytes: 0
     q1_tx_dropped: 0
     q2_rx_packets: 0
     q2_rx_bytes: 0
     q2_rx_dropped: 0
     q2_tx_packets: 0
     q2_tx_bytes: 0
     q2_tx_dropped: 0
     q3_rx_packets: 0
     q3_rx_bytes: 0
     q3_rx_dropped: 0
     q3_tx_packets: 0
     q3_tx_bytes: 0
     q3_tx_dropped: 0
     p04_: 0
     p04_n_runt: 0
     p04_n_soferr: 0
     p04_n_alignerr: 0
     p04_n_miierr: 0
     p04_typeerr: 0
     p04_sizeerr: 0
     p04_tctimeout: 0
     p04_priorerr: 0
     p04_nomaster: 0
     p04_memov: 0
     p04_memerr: 0
     p04_invtyp: 0
     p04_intcyov: 0
     p04_domerr: 0
     p04_pcfbagdrop: 0
     p04_spcprior: 0
     p04_ageprior: 0
     p04_portdrop: 0
     p04_lendrop: 0
     p04_bagdrop: 0
     p04_policeerr: 0
     p04_drpnona664err: 0
     p04_spcerr: 0
     p04_agedrp: 0
     p04_n_n664err: 0
     p04_n_vlanerr: 0
     p04_n_unreleased: 0
     p04_n_sizeerr: 0
     p04_n_crcerr: 0
     p04_n_vlnotfound: 0
     p04_n_ctpolerr: 0
     p04_n_polerr: 0
     p04_n_rxfrm: 0
     p04_n_rxbyte: 0
     p04_n_txfrm: 0
     p04_n_txbyte: 0
     p04_n_qfull: 0
     p04_n_part_drop: 0
     p04_n_egr_disabled: 0
     p04_n_not_reach: 0
     p04_n_drops_nolearn: 0
     p04_n_drops_noroute: 0
     p04_n_drops_ill_dtag: 0
     p04_n_drops_dtag: 0
     p04_n_drops_sotag: 0
     p04_n_drops_sitag: 0
     p04_n_drops_utag: 0
     p04_n_tx_bytes_1024_2047: 0
     p04_n_tx_bytes_512_1023: 0
     p04_n_tx_bytes_256_511: 0
     p04_n_tx_bytes_128_255: 0
     p04_n_tx_bytes_65_127: 0
     p04_n_tx_bytes_64: 0
     p04_n_tx_mcast: 0
     p04_n_tx_bcast: 0
     p04_n_rx_bytes_1024_2047: 0
     p04_n_rx_bytes_512_1023: 0
     p04_n_rx_bytes_256_511: 0
     p04_n_rx_bytes_128_255: 0
     p04_n_rx_bytes_65_127: 0
     p04_n_rx_bytes_64: 0
     p04_n_rx_mcast: 0
# ethtool -S rj45
NIC statistics:
     tx_packets: 0
     tx_bytes: 0
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0                                                                                                    
     n_polerr: 0                                                                                                      
     n_rxfrm: 0                                                                                                       
     n_rxbyte: 0                                                                                                      
     n_txfrm: 0                                                                                                       
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 0
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 0
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 0
     n_rx_bytes_64: 0
     n_rx_mcast: 0
////////////////// Link UP //////////////////
# ip link set eth0 up
[   69.576075] macb 20110000.ethernet eth0: configuring for fixed/sgmii link mode
[   69.576204] MACB : HWSTAMP check running
# [   69.576257] MACB : HWSTAMP check passed found tsu_clk 
[   69.577736] macb 20110000.ethernet: gem-ptp-timer ptp clock registered.
# ip link set rj45 up
# [   73.786469] sja1105 spi9.0 rj45: configuring for phy/internal link mode
[   75.841723] sja1105 spi9.0 rj45: Link is Up - 100Mbps/Full - flow control off
# ip addr add 192.168.1.1/24 dev rj45
# ip link set rj45 up
# ip addr show rj45
8: rj45@eth0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 scope global rj45
       valid_lft forever preferred_lft forever
    inet6 fe80::e4e8:aeff:fe30:6b84/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
# ethtool -S rj45
NIC statistics:
     tx_packets: 10
     tx_bytes: 796
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0
     n_polerr: 0
     n_rxfrm: 8
     n_rxbyte: 1690
     n_txfrm: 0
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 8
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 2
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 0
     n_rx_bytes_64: 6
     n_rx_mcast: 8
# ethtool -S eth0
NIC statistics:
     tx_octets: 0
     tx_frames: 0
     tx_broadcast_frames: 0
     tx_multicast_frames: 0
     tx_pause_frames: 0
     tx_64_byte_frames: 0
     tx_65_127_byte_frames: 0
     tx_128_255_byte_frames: 0
     tx_256_511_byte_frames: 0
     tx_512_1023_byte_frames: 0
     tx_1024_1518_byte_frames: 0
     tx_greater_than_1518_byte_frames: 0
     tx_underrun: 0
     tx_single_collision_frames: 0
     tx_multiple_collision_frames: 0
     tx_excessive_collisions: 0
     tx_late_collisions: 0
     tx_deferred_frames: 0
     tx_carrier_sense_errors: 0
     rx_octets: 0
     rx_frames: 0
     rx_broadcast_frames: 0
     rx_multicast_frames: 0
     rx_pause_frames: 0
     rx_64_byte_frames: 0
     rx_65_127_byte_frames: 0
     rx_128_255_byte_frames: 0
     rx_256_511_byte_frames: 0
     rx_512_1023_byte_frames: 0
     rx_1024_1518_byte_frames: 0
     rx_greater_than_1518_byte_frames: 0
     rx_undersized_frames: 0
     rx_oversize_frames: 0
     rx_jabbers: 0
     rx_frame_check_sequence_errors: 0
     rx_length_field_frame_errors: 0
     rx_symbol_errors: 0
     rx_alignment_errors: 0
     rx_resource_errors: 0
     rx_overruns: 0
     rx_ip_header_checksum_errors: 0
     rx_tcp_checksum_errors: 0
     rx_udp_checksum_errors: 0
     q0_rx_packets: 0
     q0_rx_bytes: 0
     q0_rx_dropped: 0
     q0_tx_packets: 0
     q0_tx_bytes: 0
     q0_tx_dropped: 0
     q1_rx_packets: 0
     q1_rx_bytes: 0
     q1_rx_dropped: 0
     q1_tx_packets: 0
     q1_tx_bytes: 0
     q1_tx_dropped: 0
     q2_rx_packets: 0
     q2_rx_bytes: 0
     q2_rx_dropped: 0
     q2_tx_packets: 0
     q2_tx_bytes: 0
     q2_tx_dropped: 0
     q3_rx_packets: 0
     q3_rx_bytes: 0
     q3_rx_dropped: 0
     q3_tx_packets: 0
     q3_tx_bytes: 0
     q3_tx_dropped: 0
     p04_: 0
     p04_n_runt: 0
     p04_n_soferr: 0
     p04_n_alignerr: 0
     p04_n_miierr: 0
     p04_typeerr: 0
     p04_sizeerr: 0
     p04_tctimeout: 0
     p04_priorerr: 0
     p04_nomaster: 0
     p04_memov: 0
     p04_memerr: 0
     p04_invtyp: 0
     p04_intcyov: 0
     p04_domerr: 0
     p04_pcfbagdrop: 0
     p04_spcprior: 0
     p04_ageprior: 0
     p04_portdrop: 0
     p04_lendrop: 0
     p04_bagdrop: 0
     p04_policeerr: 0
     p04_drpnona664err: 0
     p04_spcerr: 0
     p04_agedrp: 0
     p04_n_n664err: 0
     p04_n_vlanerr: 0
     p04_n_unreleased: 0
     p04_n_sizeerr: 0
     p04_n_crcerr: 0
     p04_n_vlnotfound: 0
     p04_n_ctpolerr: 0
     p04_n_polerr: 0
     p04_n_rxfrm: 0
     p04_n_rxbyte: 0
     p04_n_txfrm: 8
     p04_n_txbyte: 1722
     p04_n_qfull: 0
     p04_n_part_drop: 0
     p04_n_egr_disabled: 0
     p04_n_not_reach: 0
     p04_n_drops_nolearn: 0
     p04_n_drops_noroute: 0
     p04_n_drops_ill_dtag: 0
     p04_n_drops_dtag: 0
     p04_n_drops_sotag: 0
     p04_n_drops_sitag: 0
     p04_n_drops_utag: 0
     p04_n_tx_bytes_1024_2047: 0
     p04_n_tx_bytes_512_1023: 2
     p04_n_tx_bytes_256_511: 0
     p04_n_tx_bytes_128_255: 0
     p04_n_tx_bytes_65_127: 6
     p04_n_tx_bytes_64: 0
     p04_n_tx_mcast: 8
     p04_n_tx_bcast: 0
     p04_n_rx_bytes_1024_2047: 0
     p04_n_rx_bytes_512_1023: 0
     p04_n_rx_bytes_256_511: 0
     p04_n_rx_bytes_128_255: 0
     p04_n_rx_bytes_65_127: 0
     p04_n_rx_bytes_64: 0
     p04_n_rx_mcast: 0
////////////////// PING BOARD TO Laptop //////////////////
# arping -I rj45 192.168.1.2
ARPING 192.168.1.2 from 192.168.1.1 rj45
^CSent 9 probe(s) (9 broadcast(s))
Received 0 response(s) (0 request(s), 0 broadcast(s))
# ethtool -S eth0
NIC statistics:
     tx_octets: 0
     tx_frames: 0
     tx_broadcast_frames: 0
     tx_multicast_frames: 0
     tx_pause_frames: 0
     tx_64_byte_frames: 0
     tx_65_127_byte_frames: 0
     tx_128_255_byte_frames: 0
     tx_256_511_byte_frames: 0
     tx_512_1023_byte_frames: 0
     tx_1024_1518_byte_frames: 0
     tx_greater_than_1518_byte_frames: 0
     tx_underrun: 0
     tx_single_collision_frames: 0
     tx_multiple_collision_frames: 0
     tx_excessive_collisions: 0
     tx_late_collisions: 0
     tx_deferred_frames: 0
     tx_carrier_sense_errors: 0
     rx_octets: 0
     rx_frames: 0
     rx_broadcast_frames: 0
     rx_multicast_frames: 0
     rx_pause_frames: 0
     rx_64_byte_frames: 0
     rx_65_127_byte_frames: 0
     rx_128_255_byte_frames: 0
     rx_256_511_byte_frames: 0
     rx_512_1023_byte_frames: 0
     rx_1024_1518_byte_frames: 0
     rx_greater_than_1518_byte_frames: 0
     rx_undersized_frames: 0
     rx_oversize_frames: 0
     rx_jabbers: 0
     rx_frame_check_sequence_errors: 0
     rx_length_field_frame_errors: 0
     rx_symbol_errors: 0
     rx_alignment_errors: 0
     rx_resource_errors: 0
     rx_overruns: 0
     rx_ip_header_checksum_errors: 0
     rx_tcp_checksum_errors: 0
     rx_udp_checksum_errors: 0
     q0_rx_packets: 0
     q0_rx_bytes: 0
     q0_rx_dropped: 0
     q0_tx_packets: 0
     q0_tx_bytes: 0
     q0_tx_dropped: 0
     q1_rx_packets: 0
     q1_rx_bytes: 0
     q1_rx_dropped: 0
     q1_tx_packets: 0
     q1_tx_bytes: 0
     q1_tx_dropped: 0
     q2_rx_packets: 0
     q2_rx_bytes: 0
     q2_rx_dropped: 0
     q2_tx_packets: 0
     q2_tx_bytes: 0
     q2_tx_dropped: 0
     q3_rx_packets: 0
     q3_rx_bytes: 0
     q3_rx_dropped: 0
     q3_tx_packets: 0
     q3_tx_bytes: 0
     q3_tx_dropped: 0
     p04_: 0
     p04_n_runt: 0
     p04_n_soferr: 0
     p04_n_alignerr: 0
     p04_n_miierr: 0
     p04_typeerr: 0
     p04_sizeerr: 0
     p04_tctimeout: 0
     p04_priorerr: 0
     p04_nomaster: 0
     p04_memov: 0
     p04_memerr: 0
     p04_invtyp: 0
     p04_intcyov: 0
     p04_domerr: 0
     p04_pcfbagdrop: 0
     p04_spcprior: 0
     p04_ageprior: 0
     p04_portdrop: 0
     p04_lendrop: 0
     p04_bagdrop: 0
     p04_policeerr: 0
     p04_drpnona664err: 0
     p04_spcerr: 0
     p04_agedrp: 0
     p04_n_n664err: 0
     p04_n_vlanerr: 0
     p04_n_unreleased: 0
     p04_n_sizeerr: 0
     p04_n_crcerr: 0
     p04_n_vlnotfound: 0
     p04_n_ctpolerr: 0
     p04_n_polerr: 0
     p04_n_rxfrm: 0
     p04_n_rxbyte: 0
     p04_n_txfrm: 8
     p04_n_txbyte: 1722
     p04_n_qfull: 0
     p04_n_part_drop: 0
     p04_n_egr_disabled: 0
     p04_n_not_reach: 0
     p04_n_drops_nolearn: 0
     p04_n_drops_noroute: 0
     p04_n_drops_ill_dtag: 0
     p04_n_drops_dtag: 0
     p04_n_drops_sotag: 0
     p04_n_drops_sitag: 0
     p04_n_drops_utag: 0
     p04_n_tx_bytes_1024_2047: 0
     p04_n_tx_bytes_512_1023: 2
     p04_n_tx_bytes_256_511: 0
     p04_n_tx_bytes_128_255: 0
     p04_n_tx_bytes_65_127: 6
     p04_n_tx_bytes_64: 0
     p04_n_tx_mcast: 8
     p04_n_tx_bcast: 0
     p04_n_rx_bytes_1024_2047: 0
     p04_n_rx_bytes_512_1023: 0
     p04_n_rx_bytes_256_511: 0
     p04_n_rx_bytes_128_255: 0
     p04_n_rx_bytes_65_127: 0
     p04_n_rx_bytes_64: 0
     p04_n_rx_mcast: 0
# ping -I rj45 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
^C
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
# ethtool -S eth0
NIC statistics:
     tx_octets: 0
     tx_frames: 0
     tx_broadcast_frames: 0
     tx_multicast_frames: 0
     tx_pause_frames: 0
     tx_64_byte_frames: 0
     tx_65_127_byte_frames: 0
     tx_128_255_byte_frames: 0
     tx_256_511_byte_frames: 0
     tx_512_1023_byte_frames: 0
     tx_1024_1518_byte_frames: 0
     tx_greater_than_1518_byte_frames: 0
     tx_underrun: 0
     tx_single_collision_frames: 0
     tx_multiple_collision_frames: 0
     tx_excessive_collisions: 0
     tx_late_collisions: 0
     tx_deferred_frames: 0
     tx_carrier_sense_errors: 0
     rx_octets: 0
     rx_frames: 0
     rx_broadcast_frames: 0
     rx_multicast_frames: 0
     rx_pause_frames: 0
     rx_64_byte_frames: 0
     rx_65_127_byte_frames: 0
     rx_128_255_byte_frames: 0
     rx_256_511_byte_frames: 0
     rx_512_1023_byte_frames: 0
     rx_1024_1518_byte_frames: 0
     rx_greater_than_1518_byte_frames: 0
     rx_undersized_frames: 0
     rx_oversize_frames: 0
     rx_jabbers: 0
     rx_frame_check_sequence_errors: 0
     rx_length_field_frame_errors: 0
     rx_symbol_errors: 0
     rx_alignment_errors: 0
     rx_resource_errors: 0
     rx_overruns: 0
     rx_ip_header_checksum_errors: 0
     rx_tcp_checksum_errors: 0
     rx_udp_checksum_errors: 0
     q0_rx_packets: 0
     q0_rx_bytes: 0
     q0_rx_dropped: 0
     q0_tx_packets: 0
     q0_tx_bytes: 0
     q0_tx_dropped: 0
     q1_rx_packets: 0
     q1_rx_bytes: 0
     q1_rx_dropped: 0
     q1_tx_packets: 0
     q1_tx_bytes: 0
     q1_tx_dropped: 0
     q2_rx_packets: 0
     q2_rx_bytes: 0
     q2_rx_dropped: 0
     q2_tx_packets: 0
     q2_tx_bytes: 0
     q2_tx_dropped: 0
     q3_rx_packets: 0
     q3_rx_bytes: 0
     q3_rx_dropped: 0
     q3_tx_packets: 0
     q3_tx_bytes: 0
     q3_tx_dropped: 0
     p04_: 0
     p04_n_runt: 0
     p04_n_soferr: 0
     p04_n_alignerr: 0
     p04_n_miierr: 0
     p04_typeerr: 0
     p04_sizeerr: 0
     p04_tctimeout: 0
     p04_priorerr: 0
     p04_nomaster: 0
     p04_memov: 0
     p04_memerr: 0
     p04_invtyp: 0
     p04_intcyov: 0
     p04_domerr: 0
     p04_pcfbagdrop: 0
     p04_spcprior: 0
     p04_ageprior: 0
     p04_portdrop: 0
     p04_lendrop: 0
     p04_bagdrop: 0
     p04_policeerr: 0
     p04_drpnona664err: 0
     p04_spcerr: 0
     p04_agedrp: 0
     p04_n_n664err: 0
     p04_n_vlanerr: 0
     p04_n_unreleased: 0
     p04_n_sizeerr: 0
     p04_n_crcerr: 0
     p04_n_vlnotfound: 0
     p04_n_ctpolerr: 0
     p04_n_polerr: 0
     p04_n_rxfrm: 0
     p04_n_rxbyte: 0
     p04_n_txfrm: 8
     p04_n_txbyte: 1722
     p04_n_qfull: 0
     p04_n_part_drop: 0
     p04_n_egr_disabled: 0
     p04_n_not_reach: 0
     p04_n_drops_nolearn: 0
     p04_n_drops_noroute: 0
     p04_n_drops_ill_dtag: 0
     p04_n_drops_dtag: 0
     p04_n_drops_sotag: 0
     p04_n_drops_sitag: 0
     p04_n_drops_utag: 0
     p04_n_tx_bytes_1024_2047: 0
     p04_n_tx_bytes_512_1023: 2
     p04_n_tx_bytes_256_511: 0
     p04_n_tx_bytes_128_255: 0
     p04_n_tx_bytes_65_127: 6
     p04_n_tx_bytes_64: 0
     p04_n_tx_mcast: 8
     p04_n_tx_bcast: 0
     p04_n_rx_bytes_1024_2047: 0
     p04_n_rx_bytes_512_1023: 0
     p04_n_rx_bytes_256_511: 0
     p04_n_rx_bytes_128_255: 0
     p04_n_rx_bytes_65_127: 0
     p04_n_rx_bytes_64: 0
     p04_n_rx_mcast: 0
# ethtool -S rj45
NIC statistics:
     tx_packets: 26
     tx_bytes: 1496
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0
     n_polerr: 0
     n_rxfrm: 9
     n_rxbyte: 1781
     n_txfrm: 0
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 9
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 2
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 1
     n_rx_bytes_64: 6
     n_rx_mcast: 9
////////////////// PING Laptop TO Board //////////////////
# ethtool -S rj45
NIC statistics:
     tx_packets: 26
     tx_bytes: 1496
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0
     n_polerr: 0
     n_rxfrm: 15
     n_rxbyte: 2165
     n_txfrm: 0
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 9
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 2
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 1
     n_rx_bytes_64: 12
     n_rx_mcast: 9


2.)在 T1 端口上,我检查错了 T1 端口;T1 端口环回上也出现了链接,但 ping 却无法正常工作。

同样的日志。

========================================
SJA1110 T1 Loopback Test
Thu Jan  1 00:03:16 UTC 1970
========================================

=== Bring Interfaces Up ===

=== Configure IP Addresses ===
15: t1-5@eth0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.1/24 scope global t1-5
       valid_lft forever preferred_lft forever
16: t1-6@eth0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.2/24 scope global t1-6
       valid_lft forever preferred_lft forever

=== Link Status ===
Settings for t1-5:
	Supported ports: [ ]
	Supported link modes:   100baseT1/Full 
	Supported pause frame use: No
	Supports auto-negotiation: No
	Supported FEC modes: Not reported
	Advertised link modes:  100baseT1/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 5
	Transceiver: external
	Auto-negotiation: off
	Supports Wake-on: d
	Wake-on: d
	Link detected: yes
Settings for t1-6:
	Supported ports: [ ]
	Supported link modes:   100baseT1/Full 
	Supported pause frame use: No
	Supports auto-negotiation: No
	Supported FEC modes: Not reported
	Advertised link modes:  100baseT1/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 6
	Transceiver: external
	Auto-negotiation: off
	Supports Wake-on: d
	Wake-on: d
	Link detected: yes

=== VLAN Configuration ===
port              vlan-id  

=== FDB Before Traffic ===
33:33:00:00:00:01 dev bond0 self permanent
33:33:00:00:00:01 dev eth0 self permanent
01:00:5e:00:00:01 dev eth0 self permanent
33:33:00:00:00:01 dev eth1 self permanent

=== Interface Counters BEFORE ===
5: eth0:  mtu 1536 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast           
             0       0      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
             0       0      0      16       0       0 
15: t1-5@eth0:  mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast           
             0       0      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
           696       8      0       0       0       0 
16: t1-6@eth0:  mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast           
             0       0      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
           696       8      0       0       0       0 

=== Ethtool Stats BEFORE ===
NIC statistics:
     tx_octets: 0
     tx_frames: 0
     tx_broadcast_frames: 0
     tx_multicast_frames: 0
     tx_pause_frames: 0
     tx_64_byte_frames: 0
     tx_65_127_byte_frames: 0
     tx_128_255_byte_frames: 0
     tx_256_511_byte_frames: 0
     tx_512_1023_byte_frames: 0
     tx_1024_1518_byte_frames: 0
     tx_greater_than_1518_byte_frames: 0
     tx_underrun: 0
     tx_single_collision_frames: 0
     tx_multiple_collision_frames: 0
     tx_excessive_collisions: 0
     tx_late_collisions: 0
     tx_deferred_frames: 0
     tx_carrier_sense_errors: 0
     rx_octets: 0
     rx_frames: 0
     rx_broadcast_frames: 0
     rx_multicast_frames: 0
     rx_pause_frames: 0
     rx_64_byte_frames: 0
     rx_65_127_byte_frames: 0
     rx_128_255_byte_frames: 0
     rx_256_511_byte_frames: 0
     rx_512_1023_byte_frames: 0
     rx_1024_1518_byte_frames: 0
     rx_greater_than_1518_byte_frames: 0
     rx_undersized_frames: 0
     rx_oversize_frames: 0
     rx_jabbers: 0
     rx_frame_check_sequence_errors: 0
     rx_length_field_frame_errors: 0
     rx_symbol_errors: 0
     rx_alignment_errors: 0
     rx_resource_errors: 0
     rx_overruns: 0
     rx_ip_header_checksum_errors: 0
     rx_tcp_checksum_errors: 0
     rx_udp_checksum_errors: 0
     q0_rx_packets: 0
     q0_rx_bytes: 0
     q0_rx_dropped: 0
     q0_tx_packets: 0
     q0_tx_bytes: 0
     q0_tx_dropped: 0
     q1_rx_packets: 0
     q1_rx_bytes: 0
     q1_rx_dropped: 0
     q1_tx_packets: 0
     q1_tx_bytes: 0
     q1_tx_dropped: 0
     q2_rx_packets: 0
     q2_rx_bytes: 0
     q2_rx_dropped: 0
     q2_tx_packets: 0
     q2_tx_bytes: 0
     q2_tx_dropped: 0
     q3_rx_packets: 0
     q3_rx_bytes: 0
     q3_rx_dropped: 0
     q3_tx_packets: 0
     q3_tx_bytes: 0
     q3_tx_dropped: 0
     p04_: 0
     p04_n_runt: 0
     p04_n_soferr: 0
     p04_n_alignerr: 0
     p04_n_miierr: 0
     p04_typeerr: 0
     p04_sizeerr: 0
     p04_tctimeout: 0
     p04_priorerr: 0
     p04_nomaster: 0
     p04_memov: 0
     p04_memerr: 0
     p04_invtyp: 0
     p04_intcyov: 0
     p04_domerr: 0
     p04_pcfbagdrop: 0
     p04_spcprior: 0
     p04_ageprior: 0
     p04_portdrop: 0
     p04_lendrop: 0
     p04_bagdrop: 0
     p04_policeerr: 0
     p04_drpnona664err: 0
     p04_spcerr: 0
     p04_agedrp: 0
     p04_n_n664err: 0
     p04_n_vlanerr: 0
     p04_n_unreleased: 0
     p04_n_sizeerr: 0
     p04_n_crcerr: 0
     p04_n_vlnotfound: 0
     p04_n_ctpolerr: 0
     p04_n_polerr: 0
     p04_n_rxfrm: 0
     p04_n_rxbyte: 0
     p04_n_txfrm: 0
     p04_n_txbyte: 0
     p04_n_qfull: 0
     p04_n_part_drop: 0
     p04_n_egr_disabled: 0
     p04_n_not_reach: 0
     p04_n_drops_nolearn: 0
     p04_n_drops_noroute: 0
     p04_n_drops_ill_dtag: 0
     p04_n_drops_dtag: 0
     p04_n_drops_sotag: 0
     p04_n_drops_sitag: 0
     p04_n_drops_utag: 0
     p04_n_tx_bytes_1024_2047: 0
     p04_n_tx_bytes_512_1023: 0
     p04_n_tx_bytes_256_511: 0
     p04_n_tx_bytes_128_255: 0
     p04_n_tx_bytes_65_127: 0
     p04_n_tx_bytes_64: 0
     p04_n_tx_mcast: 0
     p04_n_tx_bcast: 0
     p04_n_rx_bytes_1024_2047: 0
     p04_n_rx_bytes_512_1023: 0
     p04_n_rx_bytes_256_511: 0
     p04_n_rx_bytes_128_255: 0
     p04_n_rx_bytes_65_127: 0
     p04_n_rx_bytes_64: 0
     p04_n_rx_mcast: 0
NIC statistics:
     tx_packets: 8
     tx_bytes: 696
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0
     n_polerr: 0
     n_rxfrm: 0
     n_rxbyte: 0
     n_txfrm: 0
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 0
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 0
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 0
     n_rx_bytes_64: 0
     n_rx_mcast: 0
NIC statistics:
     tx_packets: 8
     tx_bytes: 696
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0
     n_polerr: 0
     n_rxfrm: 0
     n_rxbyte: 0
     n_txfrm: 0
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 0
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 0
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 0
     n_rx_bytes_64: 0
     n_rx_mcast: 0

=== ARP Test ===
ARPING 192.168.10.2 from 192.168.10.1 t1-5
Sent 10 probe(s) (0 broadcast(s))
Received 0 response(s) (0 request(s), 0 broadcast(s))

=== Neighbor Table ===

=== Interface Counters AFTER ===
5: eth0:  mtu 1536 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast           
             0       0      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
             0       0      0      26       0       0 
15: t1-5@eth0:  mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast           
             0       0      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
          1116      18      0       0       0       0 
16: t1-6@eth0:  mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether e6:e8:ae:30:6b:84 brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast           
             0       0      0       0       0       0 
    TX:  bytes packets errors dropped carrier collsns           
           696       8      0       0       0       0 

=== Ethtool Stats AFTER ===
NIC statistics:
     tx_octets: 0
     tx_frames: 0
     tx_broadcast_frames: 0
     tx_multicast_frames: 0
     tx_pause_frames: 0
     tx_64_byte_frames: 0
     tx_65_127_byte_frames: 0
     tx_128_255_byte_frames: 0
     tx_256_511_byte_frames: 0
     tx_512_1023_byte_frames: 0
     tx_1024_1518_byte_frames: 0
     tx_greater_than_1518_byte_frames: 0
     tx_underrun: 0
     tx_single_collision_frames: 0
     tx_multiple_collision_frames: 0
     tx_excessive_collisions: 0
     tx_late_collisions: 0
     tx_deferred_frames: 0
     tx_carrier_sense_errors: 0
     rx_octets: 0
     rx_frames: 0
     rx_broadcast_frames: 0
     rx_multicast_frames: 0
     rx_pause_frames: 0
     rx_64_byte_frames: 0
     rx_65_127_byte_frames: 0
     rx_128_255_byte_frames: 0
     rx_256_511_byte_frames: 0
     rx_512_1023_byte_frames: 0
     rx_1024_1518_byte_frames: 0
     rx_greater_than_1518_byte_frames: 0
     rx_undersized_frames: 0
     rx_oversize_frames: 0
     rx_jabbers: 0
     rx_frame_check_sequence_errors: 0
     rx_length_field_frame_errors: 0
     rx_symbol_errors: 0
     rx_alignment_errors: 0
     rx_resource_errors: 0
     rx_overruns: 0
     rx_ip_header_checksum_errors: 0
     rx_tcp_checksum_errors: 0
     rx_udp_checksum_errors: 0
     q0_rx_packets: 0
     q0_rx_bytes: 0
     q0_rx_dropped: 0
     q0_tx_packets: 0
     q0_tx_bytes: 0
     q0_tx_dropped: 0
     q1_rx_packets: 0
     q1_rx_bytes: 0
     q1_rx_dropped: 0
     q1_tx_packets: 0
     q1_tx_bytes: 0
     q1_tx_dropped: 0
     q2_rx_packets: 0
     q2_rx_bytes: 0
     q2_rx_dropped: 0
     q2_tx_packets: 0
     q2_tx_bytes: 0
     q2_tx_dropped: 0
     q3_rx_packets: 0
     q3_rx_bytes: 0
     q3_rx_dropped: 0
     q3_tx_packets: 0
     q3_tx_bytes: 0
     q3_tx_dropped: 0
     p04_: 0
     p04_n_runt: 0
     p04_n_soferr: 0
     p04_n_alignerr: 0
     p04_n_miierr: 0
     p04_typeerr: 0
     p04_sizeerr: 0
     p04_tctimeout: 0
     p04_priorerr: 0
     p04_nomaster: 0
     p04_memov: 0
     p04_memerr: 0
     p04_invtyp: 0
     p04_intcyov: 0
     p04_domerr: 0
     p04_pcfbagdrop: 0
     p04_spcprior: 0
     p04_ageprior: 0
     p04_portdrop: 0
     p04_lendrop: 0
     p04_bagdrop: 0
     p04_policeerr: 0
     p04_drpnona664err: 0
     p04_spcerr: 0
     p04_agedrp: 0
     p04_n_n664err: 0
     p04_n_vlanerr: 0
     p04_n_unreleased: 0
     p04_n_sizeerr: 0
     p04_n_crcerr: 0
     p04_n_vlnotfound: 0
     p04_n_ctpolerr: 0
     p04_n_polerr: 0
     p04_n_rxfrm: 0
     p04_n_rxbyte: 0
     p04_n_txfrm: 0
     p04_n_txbyte: 0
     p04_n_qfull: 0
     p04_n_part_drop: 0
     p04_n_egr_disabled: 0
     p04_n_not_reach: 0
     p04_n_drops_nolearn: 0
     p04_n_drops_noroute: 0
     p04_n_drops_ill_dtag: 0
     p04_n_drops_dtag: 0
     p04_n_drops_sotag: 0
     p04_n_drops_sitag: 0
     p04_n_drops_utag: 0
     p04_n_tx_bytes_1024_2047: 0
     p04_n_tx_bytes_512_1023: 0
     p04_n_tx_bytes_256_511: 0
     p04_n_tx_bytes_128_255: 0
     p04_n_tx_bytes_65_127: 0
     p04_n_tx_bytes_64: 0
     p04_n_tx_mcast: 0
     p04_n_tx_bcast: 0
     p04_n_rx_bytes_1024_2047: 0
     p04_n_rx_bytes_512_1023: 0
     p04_n_rx_bytes_256_511: 0
     p04_n_rx_bytes_128_255: 0
     p04_n_rx_bytes_65_127: 0
     p04_n_rx_bytes_64: 0
     p04_n_rx_mcast: 0
NIC statistics:
     tx_packets: 18
     tx_bytes: 1116
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0
     n_polerr: 0
     n_rxfrm: 0
     n_rxbyte: 0
     n_txfrm: 0
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 0
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 0
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 0
     n_rx_bytes_64: 0
     n_rx_mcast: 0
NIC statistics:
     tx_packets: 8
     tx_bytes: 696
     rx_packets: 0
     rx_bytes: 0
     : 0
     n_runt: 0
     n_soferr: 0
     n_alignerr: 0
     n_miierr: 0
     typeerr: 0
     sizeerr: 0
     tctimeout: 0
     priorerr: 0
     nomaster: 0
     memov: 0
     memerr: 0
     invtyp: 0
     intcyov: 0
     domerr: 0
     pcfbagdrop: 0
     spcprior: 0
     ageprior: 0
     portdrop: 0
     lendrop: 0
     bagdrop: 0
     policeerr: 0
     drpnona664err: 0
     spcerr: 0
     agedrp: 0
     n_n664err: 0
     n_vlanerr: 0
     n_unreleased: 0
     n_sizeerr: 0
     n_crcerr: 0
     n_vlnotfound: 0
     n_ctpolerr: 0
     n_polerr: 0
     n_rxfrm: 0
     n_rxbyte: 0
     n_txfrm: 0
     n_txbyte: 0
     n_qfull: 0
     n_part_drop: 0
     n_egr_disabled: 0
     n_not_reach: 0
     n_drops_nolearn: 0
     n_drops_noroute: 0
     n_drops_ill_dtag: 0
     n_drops_dtag: 0
     n_drops_sotag: 0
     n_drops_sitag: 0
     n_drops_utag: 0
     n_tx_bytes_1024_2047: 0
     n_tx_bytes_512_1023: 0
     n_tx_bytes_256_511: 0
     n_tx_bytes_128_255: 0
     n_tx_bytes_65_127: 0
     n_tx_bytes_64: 0
     n_tx_mcast: 0
     n_tx_bcast: 0
     n_rx_bytes_1024_2047: 0
     n_rx_bytes_512_1023: 0
     n_rx_bytes_256_511: 0
     n_rx_bytes_128_255: 0
     n_rx_bytes_65_127: 0
     n_rx_bytes_64: 0
     n_rx_mcast: 0

=== FDB After Traffic ===
33:33:00:00:00:01 dev bond0 self permanent
33:33:00:00:00:01 dev eth0 self permanent
01:00:5e:00:00:01 dev eth0 self permanent
33:33:00:00:00:01 dev eth1 self permanent

=== Dmesg Link Events ===
[    3.602806] sja1105 spi9.0: Link is Up - 1Gbps/Full - flow control off
[    3.678860] sja1105 spi9.0 t1-5 (uninitialized): PHY [spi9.0-base-t1:05] driver [Generic Clause 45 PHY] (irq=POLL)
[    3.682052] sja1105 spi9.0 t1-6 (uninitialized): PHY [spi9.0-base-t1:06] driver [Generic Clause 45 PHY] (irq=POLL)
[  196.222060] sja1105 spi9.0 t1-5: configuring for phy/internal link mode
[  196.224821] sja1105 spi9.0 t1-5: Link is Up - 100Mbps/Full - flow control off
[  196.229425] sja1105 spi9.0 t1-6: configuring for phy/internal link mode
[  196.231212] sja1105 spi9.0 t1-6: Link is Up - 100Mbps/Full - flow control off




Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好 @PavelL

即使在网桥创建之后,我也看到没有字节离开交换机。

# ip link set eth0 up
[   78.263728] macb 20110000.ethernet eth0: configuring for fixed/sgmii link mode
[   78.263859] MACB : HWSTAMP check running
# [   78.263911] MACB : HWSTAMP check passed found tsu_clk 
[   78.265094] macb 20110000.ethernet: gem-ptp-timer ptp clock registered.
ip addr flush dev rj45                                                       
# ip link add name br0 type bridge                                                                                    
# ip link set br0 type bridge vlan_filtering 0                                                                        
# ip link set rj45 master br0                                                                                         
[  119.331341] br0: port 1(rj45) entered blocking state                                                               
[  119.331506] br0: port 1(rj45) entered disabled state
[  119.331588] sja1105 spi9.0 rj45: entered allmulticast mode
# [  119.331615] macb 20110000.ethernet eth0: entered allmulticast mode
[  119.339852] sja1105 spi9.0 rj45: entered promiscuous mode
ip addr add 192.168.1.1/24 dev br0
# ip link set rj45 up
# [  130.485390] sja1105 spi9.0 rj45: configuring for phy/internal link mode
[  132.518207] sja1105 spi9.0 rj45: Link is Up - 100Mbps/Full - flow control off
ip link set br0 up
# [  137.057392] br0: port 1(rj45) entered blocking state
[  137.057430] br0: port 1(rj45) entered forwarding state
# ethtool -S rj45 | grep -E "n_txfrm|n_rxfrm|n_not_reach"
     n_rxfrm: 7
     n_txfrm: 0
     n_not_reach: 7
# ping -c 5 -I br0 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
# ethtool -S rj45 | grep -E "n_txfrm|n_rxfrm|n_not_reach"
     n_rxfrm: 14
     n_txfrm: 0
     n_not_reach: 14


这是配置问题吗?

-- 安库尔

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好@Ankur_pixl

感谢您提供的详细日志。请随时纠正我的解释。

您的最新结果非常有用,因为它们表明这很可能不再是一个单纯的桥梁问题。

对于 RJ45 直接 L3 测试(IP 直接分配到 rj45,无网桥),Linux netdev TX 计数器会增加,但 RJ45 端口的硬件交换机出口计数器仍为 0(`n_txfrm = 0`,`n_txbyte = 0`)。同时,RJ45 上的入口计数器也会增加,这表明前端 PHY/链路正在正确接收帧。

T1 回环结果也指向同一方向:两个 T1 端口都成功链接,因此 PHY 培训本身似乎有效,但流量仍无法通过。

这两种情况的共同点是 CPU/主控路径:
- `eth0` 保持 `NO-CARRIER`
- `eth0` 保持 `state DOWN`
- MACB TX/RX 硬件计数器保持为 0
- `eth0` 的 TX 丢弃数据包增加

由此看来,主要问题是 SoC MAC (`eth0`)和 SJA1110 CPU 端口 (p04) 之间的 CPU 导管路径,而不是前 RJ45 或 T1 PHY 端口本身。

换句话说,交换机侧端口可以启动,但面向主机的 SGMII/CPU 端口数据路径似乎无法运行。

在现阶段,我建议将重点放在 SoC MAC / PCS / SGMII 的 "eth0 "配置以及相应的 CPU 端口配置上,而不是进一步进行桥接实验。

请分享:
1. ethtool eth0
2. ip-d link show eth0
3. 连接到交换机 CPU 端口的 SoC MAC/PCS/SGMII 端的完整设备树片段
4. SoC 端任何可用的 PCS/SGMII 链接状态信息

eth0` 从未达到 RUNNING / carrier-up(运行/载波启动)是一个强有力的指标,很可能与流量故障有关。


我再次查看了你的 DT 片段,设备树的 DSA/SJA1110 部分在逻辑上看起来是一致的:
-MAC0 配置为 “sgmii”,具有固定的 1 Gbps 全双工链路-SJA1110 CPU 端口也被配置为 “sgmii”,带有固定的 1 Gbps 全双工链路
——内部 PHY 端口映射看起来也正确

因此,目前我看不出这个片段本身存在明显的 DSA DT 错误。

然而,仅凭这个 DT 片段并不能证明 SoC 端 SGMII/PCS/SerDes 通路确实在运行。根据您的计数器,交换机 CPU 端口在交换机一侧似乎处于活动状态,但 `eth0` 仍处于 `NO-CARRIER` / DOWN 状态,没有真正的 MAC RX/TX 流量。

这表明面向 SoC 的 SGMII/PCS/SerDes 路径(或其低级初始化)存在问题,而不是前面的 RJ45 或 T1 端口。

能否请您分享完整的 MAC0 / PCS / SerDes 相关配置,以及初始化 SGMII 通道的任何引导加载程序/底层配置?


顺祝商祺!

帕维尔

Re: SJA1110A DSA bring UP : 100BASE-TX TX failure and T1 link training issues

你好@PavelL

是的,在仔细查看原理图后,我发现从 SoC 到交换机的 SGMII TX P/N 线路被调换了。此外,相同的 SGMII 线路连接到了另一个端点,导致以太网链路无法连接。

我们目前正在修复这些问题,并将向您提供最新结果。

-- 安库尔

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎06-04-2026 02:36 AM
更新者: