Skip to main content
Associate II
March 6, 2025
Solved

Unable to change MAC Address on STM32MP1

  • March 6, 2025
  • 1 reply
  • 725 views

Hello everyone,

I'm currently working with an STM32MP157F-DK2 device, and I need to change the MAC address. I'm building the image using bitbake, but I've encountered an issue when trying to modify the MAC address through OTP cells link

Here’s the output I get when checking the OTP values:

 

STM32MP> fuse sense 0 57 2

Sensing bank 0:

Word 0x00000039: e17ae710 0000c393

 

STM32MP> fuse sense 0 58 2

Sensing bank 0:

Word 0x0000003a: 0000c393 12724303

 

STM32MP> env print ethaddr

ethaddr=10:e7:7a:e1:93:c3

 

STM32MP> fuse sense 0 0x10000039 2

Sensing bank 0:

Word 0x10000039: 40000000 40000000

 

As you can see, the current MAC address is 10:e7:7a:e1:93:c3, and the OTP cells are already programmed and locked. I tried to change the MAC address using the fuse prog command, but the OTP cells are locked, and I cannot modify them.

Is there any way to change the MAC address on a locked OTP cell? Is it possible to unlock the OTP or reset it somehow?

Additionally, I’m building the image using Bitbake. If there's a way to handle this issue during the image build process or with other configuration steps, I would appreciate any guidance.

Thank you!

Best Regards,

Symeon Zapsis

 

Best answer by Jean-Christophe_TROTIN

Hi @symeon ,

 

I could suggest that you have a look at the STM32 MPU wiki (https://wiki.st.com/stm32mpu/wiki/Main_Page).

 The following articles might be interesting for you:

* https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer#How_to_fuse_OTP: this chapter explains how to use the STM32CubeProgrammer to manage the OTP registers via the command line interface.

* https://wiki.st.com/stm32mpu/wiki/STM32MP15_OTP_mapping: this article describes the OTP mapping for the STM32MP15.

Example: Mac address 00:80:e1:42:45:e5 must be written as:

Word 57 : 0x42e18000

Word 58 : 0x0000e545

 

Hope this information helps.

 

Regards,

JC.

1 reply

Jean-Christophe_TROTIN
ST Employee
March 26, 2025

Hi @symeon ,

 

I could suggest that you have a look at the STM32 MPU wiki (https://wiki.st.com/stm32mpu/wiki/Main_Page).

 The following articles might be interesting for you:

* https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer#How_to_fuse_OTP: this chapter explains how to use the STM32CubeProgrammer to manage the OTP registers via the command line interface.

* https://wiki.st.com/stm32mpu/wiki/STM32MP15_OTP_mapping: this article describes the OTP mapping for the STM32MP15.

Example: Mac address 00:80:e1:42:45:e5 must be written as:

Word 57 : 0x42e18000

Word 58 : 0x0000e545

 

Hope this information helps.

 

Regards,

JC.

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.
symeonAuthor
Associate II
March 26, 2025

Hi JC,

Thank you for the helpful links and the information! I really appreciate your guidance on using STM32CubeProgrammer and the OTP mapping for STM32MP15. The example for writing the MAC address is really useful.

Thanks again for your help!

Best regards,

Symeon Zapsis