Skip to main content.

14.2.13. Ethernet Does Not Work

Ethernet does not work on my board.

Maybe you forgot to set a MAC address? Check if the "ethaddr" environment variable is defined, and if it has a sane value. If there are more than one Ethernet interfaces on your board, you may also have to check the MAC addresses for these, i. e. check the "eth1addr", "eth2addr", etc. variables, too.

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?

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.12. Erasing Flash Fails 1. Abstract 14.2.14. Where Can I Get a Valid MAC Address from?
Prev Home Next