Jump to content
  • 0

Orange Pi PC Plus: Changing Armbian Legacy to Mainline causes MAC address change


Sodrohu
 Share

Question

Previously I installed legacy Armbian to an Orange Pi PC Plus device and noted down its eth0 and wlan MAC addresses. Then I installed a Mainline Armbian server image to its EMMC, updated the armbian-config to enable the desktop manager. Now I checked the MAC addresses to be completely different. Why does this happen?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
13 minutes ago, Sodrohu said:

Why does this happen?

 

Updated bootloader (u-boot). The majority of SBC does not have non-volatile storage (EEPROM or NOR flash) to store MAC addresses so these are generated dynamically from other data like 'CPU serial number' which is on Allwinner chip's derived from the so called SID.

 

The algo to generate MAC addresses from SID changed some time ago for whatever reasons and that's why MAC addresses change (once) too when upgrading u-boot.

Link to comment
Share on other sites

When discussing a problem make sure to provide full logs!

  • 0

Is it possible to modify the U-boot to reuse back the old algorithms? Right now I can change the mac addresses by calling macchanger every time the machine boots,  however, if using this method I'll have to make a list of custom MAC addresses. I'd rather have the machine generate the proper MAC addresses themselves.

 

BTW where is the U-boot located? Is it in /boot?

Link to comment
Share on other sites

  • 0
1 hour ago, Sodrohu said:

Is it possible to modify the U-boot to reuse back the old algorithms?

 

If you're a developer and build your own Armbian images/packages then yes (if you want to go the developer route maybe start here). It's a one-time change, after u-boot has been updated the new MAC address will be persistent again.

Link to comment
Share on other sites

  • 0

OK, I've managed to build my own Armbian image. However, understanding and changing anything on it are going to consume time and a effort that I can't spare right now, so I'll just KIV that part for now.

 

What I need right now is a unique ID that will not change no matter what version of U-boot and kernel are being used. I plan to use it as an identifier for use in databases. You mentioned SID, which I can read from /proc/cpuinfo.  However, I've checked that, for the same device, the SID of the legacy and mainline u-boot are also different! I'd rather not have to keep two SID records for each device in the databases.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...