[CentOS] Trying to override MAC addr

Thu Aug 21 15:43:19 UTC 2014
Robert Moskowitz <rgm at htt-consult.com>

On 08/21/2014 11:31 AM, Digimer wrote:
> On 21/08/14 11:25 AM, Robert Moskowitz wrote:
>> On 08/21/2014 10:56 AM, Reindl Harald wrote:
>>> Am 21.08.2014 um 16:43 schrieb Robert Moskowitz:
>>>> On 08/21/2014 10:32 AM, m.roth at 5-cent.us wrote:
>>>>> Keith Keller wrote:
>>>>>> On 2014-08-21, John R Pierce <pierce at hogranch.com> wrote:
>>>>>>> On 8/21/2014 7:09 AM, Robert Moskowitz wrote:
>>>>>>>> I am trying to override the mac addr.
>>>>>>> pretty sure you need to use NIC model specific utilities to do this,
>>>>>>> ifcfg-ethN won't do it.   the hwaddr= in there is for finding the nic,
>>>>>>> not for reprogramming it.
>>>>>> ifconfig claims to support it:
>>>>>>
>>>>>>            hw class address
>>>>> <snip>
>>>>> Also, don't forget /etc/udev/rules.d/70-persistant-net.rules
>>>> I can't forget what I don't know.  please point me to description of
>>>> these rules?
>>> just look at the file
>>>
>>> in the past and on CentOS before RHEL7 it was to assign MAC/device-names
>>> at boot, on recent Redhat based systems just remove it and stick with
>>> place both in the ifcfg-files while disable biosdevname and systemd
>>> devicenames at boot
>>>
>>> both, that udev rules and what i explained you may collide or at least
>>> you need to change the MAC there too to not confuse the configs
>>>
>> I worked a bit on this.  I no longer have the MAC or HW addrs in
>> ifcfg-eth0.  Only in /etc/udev/rules.d/70-persistent-net.rules, and only
>> for name=eth0:
>>
>> # net device ()
>> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
>> ATTR{address}=="02:67:15:00:01:79", ATTR{type}=="1", KERNEL=="eth*",
>> NAME="eth0"
>>
>> but on reboot, I get the error:
>>
>>
>> Bringing up interface eth0:  Device eth0 does not seem to be present,
>> delaying initialization.
>> [FAILED]
>>
>> and the ethernet comes up as eth1 and the eth1 line is added to
>> /etc/udev/rules.d/70-persistent-net.rules
>>
>> Almost as if there is something else that needs changing.
> Note that you still have to tell the OS "See this real MAC address?
> Change it to this new MAC address". Shy of reprogramming the NIC
> directly, you will almost certainly need to continue to reference the
> real MAC address.

So that means I need to find the full syntax of this rule.

Oh, and there is no real MAC address and that MIGHT be part of the 
problem.  Many armv7 cards do not have eeprom so no MAC address.  In 
this case the kernel is creating the MAC address as local scope based on 
the SID.  So somewhere this is happening, and Hans (who maintains the 
uboot Allwinner code) has not told me the magic goo; I have not seen any 
posts from him so he may still be on Holidays.

But I will delve into udev syntax to see what I need to change the mac addr.