[ECOS] Re: RedBoot "set MAC address" API?

Grant Edwards grante@visi.com
Mon Nov 6 03:40:00 GMT 2006


On 2006-11-06, Laurie Gellatly <laurie.gellatly@netic.com> wrote:

> We too will have a form of Redboot stored in flash in the
> final product though it won't have ethernet support. We will
> have to make each MAC different though and I was expecting
> this to be a process in the manufacturing stage of loading the
> image.
>
> Somehow each image will have to be modified to make its MAC
> different

That sounds nasty.  We load all devices with identical images,
then there's a test-station that sends a command to the unit
via Ethernet to program its MAC address.  On existing products,
there's a small serial EEPROM where our verions of RedBoot
stores that MAC address.

> OR somthing has to program the Ethernet chip duing production
> with the desired unique MAC. Our Ethernet chip's MAC registers
> are memory addressable so the later should be easy for us.

I've never seen an Ethernet chip with a non-volatile MAC.  

On all of the products I've ever worked on, software had to
read the MAC from some non-volatile memory location and program
the Ethernet chip on startup.  What strikes me as odd is that
eCos Ethernet drivers don't seem to have a way for application
code to get that MAC address to them.  Ethernet drivers appear
to be expected to "just know" what MAC to write to the Ethernet
controller during initialization.

There's an API to _change_ the MAC address after the driver has
initialized the interface, but there's no way to tell the
driver what the MAC is so that the interface is initially
started with the proper MAC address.  AFAICT. I think. 

> Some part of the process has to be unique for each device - I
> guess the real question will be which will be the most
> convenient?

-- 
Grant Edwards
grante@visi.com


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list