Angstrom on the BeagleBoard: Fixing your MAC Address.

Just a quick post today about how to fix the MAC address on your BeagleBoard. Unfortunately the MAC address isn’t set in the EEPROM of the usb network adapter so the driver randomly generates a new one on startup.

To overcome this I use a patch for the driver to pickup the MAC Address from the kernel boot arguments. The same has here [1]. Unfortunately open embedded had trouble reading that patch file. But “good news everybody”, I rehashed it and it is linked below:

Patch: kernel-2.6.32-cli-mac-address.patch

You can then place the following line in uEnv.txt to set your MAC address:

optargs=”ethaddr=00:11:22:33:44:66″

Then on startup you can tell if it is set:

[ 11.681304] eth0: register ‘smsc95xx’ at usb-ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet, 00:11:22:33:44:66

or by looking at ifconfig.

Update: Another method is to use the patch from [2], which will be included upstream in future kernels.

Patch: smsc95xx-generate-random-MAC-address-once-not-every-ifup.patch

This is easier than using kernel arguments because then you can then change your MAC address without a restart:

ifconfig usb0 down
ifconfig usb0 hw ether 00:11:22:33:44:55 up

Reference:
[1] http://maxgalemin.blogspot.com/2010/11/patch-for-fixing-random-mac-address-on.html
[2] https://patchwork.kernel.org/patch/263861/

avatar

About Dave

"if it's not on fire, it's usually a software problem"