STM32MP257F-EV1 - Ethernet Port Not Working + CM33 Firmware Signing Key Issue - OpenSTLinux v26.02.18
Dear ST Support Team,
Thank you for your continued support. We are working with the STM32MP257F-EV1 evaluation board and have two issues we need help resolving.
Hardware: STM32MP257F-EV1 Evaluation Board (MB1936D)
Software Package: OpenSTLinux v26.02.18 (stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v26.02.18)
Host OS: Ubuntu 26.04
STM32CubeIDE: v2.1.1
STM32CubeProgrammer: v2.22.0
Flash Layout Used: FlashLayout_sdcard_stm32mp257f-ev1-ca35tdcid-ostl-m33-examples-optee.tsv
---
ISSUE 1: ETHERNET PORT (end0 / ETH1) NOT WORKING
---
The Ethernet interface end0 shows NO-CARRIER even when a cable is physically connected.
Observations:
- ip link show end0 → state DOWN, NO-CARRIER
- cat /sys/class/net/end0/carrier → 0
- ethtool end0 | grep 'Link detected' → Link detected: no
- udhcpc -i end0 → broadcasts DHCP but gets no response
- The Ethernet driver loads correctly: stm32-dwmac 482d0000.eth2 end0
- We have tried ETH1 and ETH2 ports on the board
- We have tried different cables and different router ports
- The board MAC address shows: 10:e7:7a:e3:ee:33
Questions:
1. Is end0 mapped to ETH1 or ETH2 on the STM32MP257F-EV1 board?
2. Is there any additional configuration required to enable Ethernet on v26.02.18?
3. Is there a known issue with Ethernet on this board revision (MB1936D)?
---
ISSUE 2: CM33 FIRMWARE SIGNING KEY MISMATCH
---
We have successfully flashed OpenSTLinux v26.02.18 with the full optee layout and confirmed:
- remoteproc0 fw_format = TEE
- The pre-built example firmware (USBPD_DRP_UCSI_CM33_NonSecure_sign.bin) loads and runs correctly
- STM32CubeIDE debugger successfully attaches to the running CM33
However, when we sign our own CM33 firmware using sign_rproc_fw.py, OP-TEE rejects it:
tee_remoteproc: TA_RPROC_FW_CMD_LOAD_FW invoke failed TEE err: ffff0006
remoteproc remoteproc0: Boot failed: -5
Error 0xffff0006 = TEE_ERROR_SECURITY (signature verification failure)
Signing command used:
python3 sign_rproc_fw.py --in CM33_LED_CM33_NonSecure.elf --out CM33_LED_sign.bin --key default.pem
Keys tried (all have identical MD5: c5254a254e63da936a640d0a0093bcf0):
- STM32CubeMP2-1.3.0/Utilities/optee_os/keys/default.pem
- sdk/sysroots/cortexa35-ostl-linux/usr/include/optee/export-user_ta_arm64/keys/default.pem
- sdk/sysroots/cortexa35-ostl-linux/usr/include/optee/export-user_ta_arm64/keys/default_ta.pem
- sdk_x86_installed/.../keys/default.pem
We also tried flashing with the opteemin layout hoping it uses the development key, but found that the opteemin image does NOT include the remoteproc OP-TEE TA (80a4c275-0a47-4905-8285-1486a9771a08.ta), so remoteproc stays in deferred probe state.
Questions:
1. What is the correct signing key (.pem file) to use with sign_rproc_fw.py for CM33 firmware on OpenSTLinux v26.02.18 with the full optee layout?
2. Where can we obtain the private key that matches the OP-TEE remoteproc TA built into the v26.02.18 flash image?
3. Is there a recommended development workflow for signing and loading custom CM33 NonSecure firmware with v26.02.18?
4. Does the opteemin layout support custom CM33 firmware loading? If yes, what is the correct procedure?
---
We are currently able to connect to the board via USB network (192.168.7.1) and USB serial console. The STM32CubeIDE debugger successfully connects to CM33 when the example firmware is running.
Please let us know if you need any additional logs or information.
Thank you for your support.
Best regards,
Radha Gaikwad
