你好
我正在使用 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 目前的观察结果:
我的问题是
为了进行测试,我尝试在两个 T1 端口之间进行直接环回 (T1-1<-> T1-2) 之间的直接环回,方法是连接:(TRX_1_P<->TRX_2_P 和 TRX_2_P<->TRX_2_N )。
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
硬件表带配置:
没有 T1 链路的原因会不会是两个 PHY 都绑定为 SLAVE,因此没有用于链路训练的主时钟源?
有关以下方面的任何指导:
将不胜感激。
这是用于以太网交换机的 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>;
};
};
-- 安库尔
你好@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 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
顺祝商祺!
帕维尔
您好,
我试过做同样的事情,但仍然没有看到笔记本电脑从
板上收到任何数据包。以下是我遵循的具体步骤:
-------------------
为了提供更多信息: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)上的简单有线连接。
-------------------
-------------------
你好@Ankur_pixl、
不知怎么的,你漏了一行:
内核配置似乎正确。
关于 T1
100BASE-T1 的简单布线连接应该可以正常工作,我一直使用这种连接方式。是否使用 PHY_ADDR* 引脚绑扎?
请分享:
ethtool t1-1
ethtool t1-2
dmesg | grep -iE"t1-|phy|sja1105" 在链接启动之后
顺祝商祺!
帕维尔
你好@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.png
-- 安库尔
你好@Ankur_pixl、
感谢您的更新 - 目前,我认为我们最好从头开始调试,使用最小的确定性设置,因为我们现在有几个相互影响的变量(DSA 拓扑、网桥行为和 PHY 访问路径),我们需要隔离 RJ45 问题是软件(Linux/DSA/网桥/VLAN)问题还是硬件(TX 对/磁性元件)问题。
从你最初的描述中,我们可以看出一个清晰的症状模式:
这是第一步:
第 1 步 - 在不使用任何桥接器的情况下确认 RJ45 上的基本 TX
顺祝商祺!
帕维尔
你好,
,我还发现 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
-- 安库尔
您好
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 你好 @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
这是配置问题吗?
-- 安库尔
你好@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 通道的任何引导加载程序/底层配置?
顺祝商祺!
帕维尔
你好@PavelL
是的,在仔细查看原理图后,我发现从 SoC 到交换机的 SGMII TX P/N 线路被调换了。此外,相同的 SGMII 线路连接到了另一个端点,导致以太网链路无法连接。
我们目前正在修复这些问题,并将向您提供最新结果。
-- 安库尔