-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[STM32 NUCLEO] Init MAC address #2743
Conversation
* @param mac A 6-byte array to write the MAC address | ||
*/ | ||
void mbed_mac_address(char *mac) { | ||
unsigned char ST_mac_addr[3] = {0x00, 0x80, 0xe1}; // default STMicro mac address |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this globally assigned to ST?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, this is the official ST MAC address.
http://www.macmonster.co.uk/macoui=0080E1
mac[0] = ST_mac_addr[0]; | ||
mac[1] = ST_mac_addr[1]; | ||
mac[2] = ST_mac_addr[2]; | ||
mac[3] = (word0 & 0x00ff0000) >> 16; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how unique is the UUID and MSB, LSB? I tried this years ago and found that MSB, LSB didn't provide a great amount of randomness where in a room of 100 boards there would still be 2-5 conflicts. Ended up having to use CRC on the 128 to create 48 unique. Just some memories of bad times to avoid if not already accounted for.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unique Id is unique for each target :-)
But it's true it is 96 bits...
As I set the ST Id in the 3 first MAC bytes, I checked with boards around me, and using MSB looks quite OK to get some random Id...
/morph test |
@mbed-bot: TEST HOST_OSES=ALL |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
Outputmbed Build Number: 919 All builds and test passed! |
[Build 965] |
@jeromecoutant Please see the comments above about the uniqueness of mac address |
@jeromecoutant @andreaslarssonublox There is a duplicate mbed_mac_address symbol now that #2743 and #2728 have been merged. I'll revert this for now #2808 since it seems that mbed_mac_address should be defined by a board before generically for all device given there is a WEAK version of the function.
|
Do I remove mbed_mac_address function in TARGET_STM/TARGET_STM32F4/TARGET_UBLOX_C029/stm32f4_eth_init.c or you prefer to keep your own function, and I can add |
@jeromecoutant |
Hi I understand. And add this in emac.c file: void mbed_mac_address(char *mac) { I think it should be OK for you ? |
Description
This patch set a MAC address depending on the target unique Id of each MCU.
Status
READY
Tests with STM32 NUCLEO boards are OK (ARM/IAR/GCC)