Specifications

variables, too.
Question:
I have configured a MAC address of 01:02:03:04:05:06, and I can see that an ARP packet is sent by
U-Boot, and that an ARP reply is sent by the server, but U-Boot never receives any packets. What's
wrong?
Answer:
You have chosen a MAC address which, according to the ANSI/IEEE 802-1990 standard, has the
multicast bit set. Under normal conditions a network interface discards such packets, and this is what
U-Boot is doing. This is not a bug, but correct behaviour.
Please use only valid MAC addresses that were assigned to you.
For bring-up testing in the lab you can also use so-called locally administered ethernet addresses.
These are addresses that have the 2nd LSB in the most significant byte of MAC address set. The
gen_eth_addr tool that comes with U-Boot (see "tools/gen_eth_addr" ) can be used to
generate random addresses from this pool.
14.2.14. Where Can I Get a Valid MAC Address
from?
Question:
Where can I get a valid MAC address from?
Answer:
You have to buy a block of 4096 MAC addresses (IAB = Individual Address Block) or a block of
16M MAC addresses (OUI = Organizationally Unique Identifier, also referred to as 'company id')
from IEEE Registration Authority. The current cost of an IAB is $550.00, the cost of an OUI is
$1,650.00. See http://standards.ieee.org/regauth/oui/index.shtml
You can buy Eproms containing MAC addresses from: Maxim or Microchip.
You can set the "locally administered" bit to make your own MAC address (no guarantee of
uniqueness, but pretty good odds if you don't do something dumb). Ref: Wikipedia
Universally administered and locally administered addresses are distinguished by
setting the second least significant bit of the most significant byte of the address. If
the bit is 0, the address is universally administered. If it is 1, the address is locally
administered. The bit is 0 in all OUIs. For example, 02-00-00-00-00-01. The most
significant byte is 02h. The binary is 00000010 and the second least significant bit is
1. Therefore, it is a locally administered address.
In U-Boot, you can use the "gen_eth_addr" tool to generate a random "locally administered"
MAC address. Here are the needed commands:
$ make tools/gen_eth_addr
cc tools/gen_eth_addr.c -o tools/gen_eth_addr
$ tools/gen_eth_addr
ba:d0:4a:9c:4e:ce
14.2.14. Where Can I Get a Valid MAC Address from? 166