Srikant Krishnakar

imx53 ARD (sabre): SMSC911x MAC Address save issue

Discussion created by Srikant Krishnakar on Jan 9, 2012

Hi All,

 

I have L2.6.38_11.09_01 (Kernel IMX-2.6.38) running on  i.MX53 ARD (Sabre) board. I find an issue here is though I can set HW Mac address from u-boot bootloader, I see the following issue :

-----------8<-----------------------

Err:   serial
Net:   smc911x-0
Warning: smc911x-0 MAC addresses don't match:
Address in SROM is         16:3b:ba:2a:17:e9
Address in environment is  52:b0:dc:8f:16:a0
------------8<-----------------------

While kernel boot-up I can see that again some other random mac address is generated :

---------------------------------------

vcan: Virtual CAN interface driver
smsc911x: Driver version 2008-10-21.
smsc911x-mdio: probed
eth0: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=0:01, irq=-1)
net eth0: MAC Address: d2:2e:49:0e:05:2e

....

....

freescale-sabre login: root
root@freescale-sabre:~# ifconfig
eth0      Link encap:Ethernet  HWaddr D2:2E:49:0E:05:2E  
          inet addr:10.162.100.156  Bcast:10.162.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3768 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14165206 (13.5 MiB)  TX bytes:868204 (847.8 KiB)
          Interrupt:191

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:30 errors:0 dropped:0 overruns:0 frame:0
          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2112 (2.0 KiB)  TX bytes:2112 (2.0 KiB)

root@freescale-qsb:~#

Linux freescale-sabre 2.6.38.8-dirty #5 PREEMPT Mon Jan 9 19:15:47 IST 2012 armv7l GNU/Linux

---------------------------------------

 

I have added the SMSC911X_SAVE_MAC_ADDRESS flag to SMSC911x config options in file :

arch/arm/mach-mx5/board-mx53_ard.c

       -  .flags = SMSC911X_USE_32BIT,
      + .flags = (SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS),


Is this an intentional setup or am I missing something in the source code of the BSP ? I have the following bootloader version in the target board :

 

------------------------------------------------------------------------

U-Boot 2009.08 (Jun 04 2011 - 19:31:38)

CPU:   Freescale i.MX53 family 2.0V at 800 MHz
mx53 pll1: 800MHz
mx53 pll2: 400MHz
mx53 pll3: 216MHz
mx53 pll4: 455MHz
ipg clock     : 66666666Hz
ipg per clock : 33333333Hz
uart clock    : 66666666Hz
cspi clock    : 54000000Hz
ahb clock     : 133333333Hz
axi_a clock   : 400000000Hz
axi_b clock   : 200000000Hz
emi_slow clock: 133333333Hz
ddr clock     : 400000000Hz
esdhc1 clock  : 80000000Hz
esdhc2 clock  : 80000000Hz
esdhc3 clock  : 80000000Hz
esdhc4 clock  : 80000000Hz
nfc clock     : 33333333Hz
Board: MX53-ARD Rev. B
Boot Reason: [POR]
Boot Device: SD
I2C:   ready
DRAM:   1 GB
NAND:  No NAND device found!!!
0 MiB
MMC:   FSL_ESDHC: 0, FSL_ESDHC: 1
In:    serial
Out:   serial
Err:   serial
Net:   smc911x-0
Warning: smc911x-0 MAC addresses don't match:
Address in SROM is         aa:eb:74:84:cf:c6
Address in environment is  52:b0:dc:8f:16:a0

Hit any key to stop autoboot:  0
------------------------------------------------------------------------

 

Is there any kernel patch that fetches u-boot environment Mac address while boot up or restores Mac address between soft reboots ?

Appreciate your responses.

 

Thanks in Advance !

 

Regards,

Srikanth

Outcomes