How to pass ethernet address to linux kernel ethernet driver

From RidgeRun Developer Connection

Revision as of 17:05, 17 September 2012 by Tfischer (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to:navigation, search

Contents

TI Davinci Ethernet driver

Passing fixed Ethernet MAC address

Run

cd $DEVDIR
make config

and set the Kernel Configuration -> Extra kernel arguments to

davinci_emac.ethaddr=40:61:86:e9:82:12

Using u-boot ethaddr value for fixed Ethernet MAC address

Run

cd $DEVDIR
make config

and set the Kernel Configuration -> Extra kernel arguments to

davinci_emac.ethaddr="$$\{ethaddr}"

Notes

There are two levels of substitutions, first the one used by the build system, basically line 172 from $DEVDIR/fs/Makefile:

   $(V) echo -n " $(CONFIG_BSP_EXTRA_BOOT_ARGS) ">>$(CMDLINEFILE)

The value in bspconfig will be stored as follows:

   $ cat bsp/mach/bspconfig | grep EXTRA_BOOT
   CONFIG_BSP_EXTRA_BOOT_ARGS="davinci_emac.ethaddr=\"$$\\{ethaddr}\""

Running 'make cmdline' at the root of the $DEVDIR, creates the $DEVDIR/imaes/cmdline file

   $ cat images/cmdline 
   vpfe_capture.cont_bufsize=0  console=ttyS0,115200n8  dm365_imp.oper_mode=0  vpfe_capture.interface=1  mem=68M rootfstype=jffs2 root=/dev/mtdblock2  davinci_emac.ethaddr="$\{ethaddr}"

There is a backslash there, but it will be understood as desired by the installer and have the correct effect of passing the mac address from u-boot to the kernel.

Navigation
Toolbox