changing MAC address in Angstrom

I want to set a fixed MAC address on my Beagleboard XM and after googling a bit, I see there are several patches and methods used for earlier Kernels.

A site suggested that using optarg in a uEnv.txt file as in optargs="ethaddr=xx:xx...". The new address does show in the Kernel Command line in the serial messages, but does not change the actual hardware address.

I tried adding hwaddress ether=xx:xx... in /etc/network/interfaces and this did not work as well.

However using ifup hw ether xx:xx... does work.

So my question is using ifup the only and preferred way of setting a MAC address in Angstrom? Are the other methods deprecated?

Thanks
Mark

OOPS! I meant to say ifconfig eth0 hw ether xx:xx:... up works.

OOPS! I meant to say ifconfig eth0 hw ether xx:xx:… up works.

I want to set a fixed MAC address on my Beagleboard XM and after googling a bit, I see there are several patches and methods used for earlier Kernels.

A site suggested that using optarg in a uEnv.txt file as in optargs=“ethaddr=xx:xx…”. The new address does show in the Kernel Command line in the serial messages, but does not change the actual hardware address.

I tried adding hwaddress ether=xx:xx… in /etc/network/interfaces and this did not work as well.

However using ifup hw ether xx:xx… does work.

So my question is using ifup the only and preferred way of setting a MAC address in Angstrom? Are the other methods deprecated?

The mechanism recommended for Angstrom is the mechanism in the current Angstrom kernel built with recipe [1] and with prebuilt images [2]. Patch [3] adds a helper function to fetch the board/device unique die-ID and convert it into something usable as a MAC address. Patch [4] assigns that MAC address to the Ethernet port.

So, update your Angstrom image and watch your issue go away!

Yes, this needs to go into the upstream kernel. I did a rebase of all of the BeagleBoard patches against the mainline today, but it still needs a lot of clean-up. I currently count 1026 patches away from the mainline tree of which 126 still need to be sent and the rest need to be merely resolved (confirmed the replacement patch is sufficient). Now that we have a BeagleBone release, we can get back to cleaning up the state of the BealgeBoard/BeagleBoard-xM and pushing both upstream.

[1] http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/tree/recipes-kernel/linux/linux_3.0.bb
[2] http://www.angstrom-distribution.org/demo/beagleboard/
[3] http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/tree/recipes-kernel/linux/linux-3.0/beagle/0008-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch
[4] http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/tree/recipes-kernel/linux/linux-3.0/beagle/0009-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch