Hmm. Actually that's a very good note. It would probably be better to do
this in two parts - one that runs during the first boot of a new image (when
the opnmoko does other first-time things like generating a new ssh key) that
determines the usb device's MAC address and a second part that runs via the
hotplug mechanism to change the address when the device is loaded. This is
getting a little bit more complicated, and more interesting. I think I may go ahead and do this one...

- Michael

On Tue, 7 Aug 2007, Dr. H. Nikolaus Schaller wrote:


This isn't a kernel problem - or at least it doesn't require a kernel fix.

That is good news!

The usb driver's mac address can be set from userland, like so:

ifconfig usb0 down
ifconfig usb0 hw ether 45:23:ED:23:98:34

I tried the same on the Sharp Zaurus (the OpenMoko is currently dead because
of the battery charging issues).

The Zaurus appears to permanently (re)set it to 40:00:01:00:00:01 each time the
USB cable is plugged into the host. Having this reset is a good approach...

But this explains the trouble I had some time ago when I tried to connect two
Zaurus devices to the same host... Both share the same MAC address :-)

Setting it to match the BT address (or the BT address plus one, which is what I'd more likely expect; all my computers with multiple on-board ethernet cards use consecutive mac addresses for each card) is fairly trivial *except* that to get the BT mac address you have to load the BT modules and turn BT on,
so you'd be better off setting up a routine that does that if necessary but
then saves the new MAC address to disk and uses that disk cached value in the
future. It can all be done with a little bit of shell scripting on boot.



Reply via email to