[fedora-arm] MAC addr - Re: Cubietruck questions - Re: Announcing Fedora 19 ARM remix for Allwinner SOCs release 3
Robert Moskowitz
rgm at htt-consult.com
Sun Aug 10 03:54:20 UTC 2014
On 08/09/2014 11:19 PM, Robert Moskowitz wrote:
>
> 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.
I am getting a consistant, local scope MAC addr on my Cubieboard of:
02:c4:03:82:c1:53
I am assuming thus it is based on constant bits from the SID? Both F19
and F20 have this MAC and for multiple builds of F19. I will have to
check out what the F21 is doing.
So do you just construct this at each boot? Is it in some file in /dev/
perhaps? I do not see it anywhere in /etc/sysconfig
thanks.
I am thinking of handcrafting my MAC addr so I have control over my IPv6
address for my production boxes. I have been thinking what I have done
todate to make my IPv6 static in DNS, and did not like it. But if I can
figure out a format for a local scope MAC, I can then let the IPv6 be
built on it plus the PA provided prefix. Makes multi-interface easier.
More information about the arm
mailing list