Skip to main content
Associate
August 13, 2026
Question

TSN SWITCH IN STM32MP257 DK BOARD

  • August 13, 2026
  • 4 replies
  • 41 views

 

Hello ST Team,

I am working  on the STM32MP257F , using OpenSTLinux 5.0.17 and the ST TSN switch stack v6.

I would like to confirm whether the TSN Ethernet switch is officially supported on the STM32MP257F-DK board

NOTE:I understand that the DK board has only one externally accessible Ethernet port and that it can be used as a TSN endpoint.

 

I have enabled the TSN switch, and the following interfaces are available:
lo
wlan0
end0
sw0p1
sw0p2
sw0p3
sw0ep
With the TSN switch enabled, the switch interfaces are created and sw0p1, sw0p2, and sw0p3 are visible.

 

I have connected an external PHY to sw0p3.

root@stm32mp2-e3-d2-99:~# ethtool sw0p3

Settings for sw0p3:

Supported ports: [ TP MII ]

Supported link modes: 10baseT/Full

100baseT/Full

1000baseT/Full

Supported pause frame use: No

Supports auto-negotiation: Yes

Supported FEC modes: Not reported

Advertised link modes: 10baseT/Full

100baseT/Full

1000baseT/Full

Advertised pause frame use: No

Advertised auto-negotiation: Yes

Advertised FEC modes: Not reported

Link partner advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Half 1000baseT/Full

Link partner advertised pause frame use: Symmetric Receive-only

Link partner advertised auto-negotiation: Yes

Link partner advertised FEC modes: Not reported

Speed: 100Mb/s

Duplex: Full

Auto-negotiation: on

master-slave cfg: preferred slave

master-slave status: slave

Port: Twisted Pair

PHYAD: 1

Transceiver: external

MDI-X: Unknown

Supports Wake-on: d

Wake-on: d

Link detected: yes

…………………………...

root@stm32mp2-e3-d2-99:~# cat /etc/modprobe.d/edgx_sw_core.conf
options edgx_pfm_lkm netif="end1:0"
I Change to 
options edgx_pfm_lkm netif="end0:0"
……………………………….
I configured an IP address directly on sw0ep.
………………
The PC and board are on the same subnet.

PC → Board

When I ping the board from the PC, the board can see the ICMP echo requests with:

root@stm32mp2-e3-d2-99:~# tcpdump -ni sw0ep -e -vv

150.100.50.38 > 150.100.50.27: ICMP echo request, id 3, seq 11, length 64

18:55:20.250046 00:dd:c5:eb:d8:bf > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 150.100.50.1 tell 150.100.50.38, length 46

18:55:21.210117 00:dd:c5:eb:d8:bf > ea:a3:64:82:5f:ff, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 25861, offset 0, flags [DF], proto ICMP (1), length 84)

150.100.50.38 > 150.100.50.27: ICMP echo request, id 3, seq 12, length 64

Board → PC

 

When I ping from the board to the PC, the PC can see the ICMP echo request and the corresponding reply, but the ping test on the board still reports failure.


 

150.100.50.38 > 150.100.50.27: ICMP echo request, id 10, seq 4, length 64

18:50:55.189043 10:e7:7a:e3:d2:99 > 00:dd:c5:eb:d8:bf, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 11531, offset 0, flags [none], proto ICMP (1), length 84)

150.100.50.27 > 150.100.50.38: ICMP echo reply, id 10, seq 4, length 64

18:50:56.085175 00:dd:c5:eb:d8:bf > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 150.100.50.1 tell 150.100.50.38, length 46

 

4 replies

M.MALLESHAuthor
Associate
August 13, 2026

Why does /proc/net/snmp show InEchos: 0 even though tcpdump on sw0ep clearly captures the incoming ICMP echo request?

Erwan SZYMANSKI
ST Technical Moderator
August 13, 2026

Hello ​@M.MALLESH ,
The switch is integrated in the SoC, so yes we can say that is “supported” from a SoC point of view. However, the DK board has not been created to be used with it (the STM32MP257F-EV board is the one to use).

I understand that you modified the HW of the board to connect the ETH1 MAC to an external PHY right ? Did you also modify the device tree as requested for eth1 and did you already confirm that this port is working without activating the TSN switch (what we call by-pass mode, or direct mode) ?

Is the external PHY a RGMII one or a RMII one ?


After that, you can begin to try making TSN switch work. However, as you modified the HW of the discovery kit, we did not test a such setup on our side.

Maybe you can share more details about your modifications (HW) and the SW adaptations you made (like Device trees and pinctrl) to let us see more precisely what you did.

Anyway, first step is to confirm that without the switch ETH1 is working properly.

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
M.MALLESHAuthor
Associate
August 14, 2026

thanks for reply

M.MALLESHAuthor
Associate
August 14, 2026

Hello Erwan,

Thank you for the clarification.

Just to clarify, I have not made any hardware modifications to the STM32MP257F-DK board. I am using the original DK board hardware. I have only been making software/Device Tree configuration changes for testing.

I have performed a basic Ethernet ping test in direct/standalone mode, and the ping test passes successfully.

However, when I enable the TSN Ethernet switch, the ping test fails in both directions.

I observed the following:

Case 1: Board → PC

The board sends the ICMP echo request, and the PC receives it and sends an ICMP echo reply. The request and reply can both be observed with tcpdump.

Case 2: PC → Board

The PC sends the ICMP echo request, and I can clearly see the request arriving on the board through sw0ep using tcpdump.

For example:

 

150.100.50.38 > 150.100.50.27: ICMP echo request

However, the board does not generate an ICMP echo reply.

One point I would particularly like to understand is the following:

 

cat /proc/net/snmp | grep -A1 '^Icmp:'

shows:

InEchos = 0

even though tcpdump on sw0ep clearly captures the incoming ICMP echo request.

Could you please explain at which stage the packet is being dropped between the sw0ep tcpdump capture and the Linux ICMP processing, and whether this behavior is expected with the TSN switch configuration?

For reference, my current Device Tree configuration is:

 

&eth1 {

status = "okay";

pinctrl-0 = <&eth1_mdio_pins_b>;

pinctrl-1 = <&eth1_mdio_sleep_pins_b>;

pinctrl-names = "default", "sleep";

phy-mode = "rgmii-id";

st,eth-ptp-from-rcc;

snps,ext-systime;

 

fixed_link: fixed-link {

speed = <1000>;

full-duplex;

};

 

mdio1 {

#address-cells = <1>;

#size-cells = <0>;

compatible = "snps,dwmac-mdio";

 

phy1_eth1: ethernet-phy@1 {

compatible = "ethernet-phy-id001c.c916";

reset-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>;

reset-assert-us = <10000>;

reset-deassert-us = <80000>;

realtek,eee-disable;

reg = <1>;

};

};

};

 

&switch0 {

status = "okay";

pinctrl-0 = <&eth1_rgmii_pins_b>;

pinctrl-names = "default";

phy-mode = "rgmii-id";

st,ethsw-internal-125;

};

I would also like to confirm whether the TSN Ethernet switch can be tested and used on the original STM32MP257F-DK hardware without any hardware modifications, or whether the STM32MP257F-EV board is strictly required for the TSN switch configuration.

 

Kind regards,
M. Mallesh