On 12/26/2013 05:09 PM, Hans de Goede wrote:
Hi,
On 12/26/2013 10:35 PM, Robert Moskowitz wrote:
* If you've an A20 board, your ethernet may have a random
mac-address,
so if you want to configure a static ip-address and want
it to stick
across reboots, go to the ethernet-tab, select the
mac-address field
and delete its contents, so that the static ip address
you're
configuring does not get tied to the random mac-address.
I work in IEEE 802. This is NASTY!
Yep.
> They did not want to get enough address space from the RAC? I may
have to get one just to figure out what is going on (and will talk
to my colleagues in .1 at the Jan meeting. This is probably more
common than I would have thought).
So the story here is a bit longer then just this release note:
1) Almost all Allwinner A1x / A20 devices don't have an eeprom to
store a MAC address
And I believe Allwinner considers this to be a problem of the OEM,
not of their SoC,
with there tools to create images it is possible to put the MAC
address in a file in
the /boot partition, but AFAIK no oems are actually doing that as
they use a single
nand image for all boards of a certain model, and actually using
this would require
modifying the nand image for each board before flashing the board.
2) For those few that do include an eeprom, there is no code to
actually use this,
given 1.
3) As a workaround we usually derive a MAC address from the SID, the
SID is a small
write once (we think) prom in the A1x / A20 which contains a
"secure" device-id, of
which some bits are fixed (they indicate the SOC model and revision)
and the rest
seems to be random, see:
http://linux-sunxi.org/SID_Register_Guide
So I've written a patch to use the random bits to get a (hopefully,
not using assigned
addresses!) unique address, which is consistent over reboots.
I hope you are using the local MAC address format? Not grabing some
OID, unless Allwinner has one assigned. The likelihood of a
collision is small, similar to what I do with HIP and our IPv6
prefix. Please don't go using any old OID and hoping it will never
get assigned or be seen again. I should be able to find pointers to
guidlines from the RAC if you need them. BTW, most of my time in is
802.15; I am the chair of 802.15.9, but I use to spend lots of time
in 802.1 (.1X, .1AE, and .1AR).
Yes I'm setting locally administrated bit to 1 (byte 0 to 0x02), the
rest of the address
bytes are filled with the random bits from the SID.
4) But the first A20 SOCs did not have their SID proms written, so
they were all 0, so
there the best we can do is generate a random MAC address each boot,
so it won't be
consistent over reboots
And you can't do a firstboot operation to generate the random value
to seed the MAC?
I guess we could come up with something to only do the random
generation once, but atm
there is no support for this since this situation is rather rare. Note
that later A20
SoCs such as the one in the cubietruck (IIRC) do have the SID bits
filled with a random
serial number, from which a fixed MAC address can be derived.
I have to do some checking, but it SEEMed like MAC address was fixed
across reboots as was IPv6 address (this is why I say this). I will
boot up my F19 and F20 images tomorrow to check this. It would seem
that at least with F19 and maybe F20, you still have the
/etc/sysconfig/network-script/ifcfg-eth0 to put the MAC addr in? systemd
seems to change these, and on my F20, each wifi connection has its own
script (and what would that do with each ethernet 802.1X connection if
you use that?).
Part of my interest is stable IPv6 addresses, and also I have built a
Redsleeve install ontop of the F19 kernel and uboot. Since these will
be production systems, I really want stable MAC and IPv6 addresses.
_______________________________________________
arm mailing list
arm@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/arm