Ethernet Shield MAC

Some of the newer Ethernet shields have MAC addresses, some don't.

Is there a proper way to determin, programatically, if the Ethernet shield has
a MAC address?

Perhaps trying to instantiate the object without the MAC parameter then on
failure try again with a programatically generated MAC?

Are there any public MAC address patterns defined acceptable for programmatic
generation that won't conflict with other OEMs? Like public and private IPs?

Some of the newer Ethernet shields have MAC addresses, some don't.

Wrong. Some of the newer Ethernet shields have MAC address stickers. Older ones do not.

Every Ethernet shield needs a MAC address - either the one on the sticker or one you make up.

Is there a proper way to determin, programatically, if the Ethernet shield has
a MAC address?

You have to assign it, in code, so you should be able to look through the code and see that you did it.

Perhaps trying to instantiate the object without the MAC parameter then on
failure try again with a programatically generated MAC?

No.

Are there any public MAC address patterns defined acceptable for programmatic
generation that won't conflict with other OEMs? Like public and private IPs?

The MAC address is not entirely arbitrary. There are some fields that mean things. I don't remember all the details. Google does, though. All that is really required is for the MAC address to be unique in YOUR network. Not any other network.

Thanks guys.

Ok, thanks for clarifying the MAC Address issues. So if a board has a MAC sticker the address is not reserved for that board?

So if a board has a MAC sticker the address is not reserved for that board?

There is no global MAC address registry, so the address is not guaranteed to be unique. The chances that it is not are pretty slim, though.

So, is there a programatic rule of thumb, say, to set the MAC without hard coding it?

So, is there a programatic rule of thumb, say, to set the MAC without hard coding it?

No.