Grant Edwards wrote:
On 2006-11-05, Grant Edwards <[EMAIL PROTECTED]> wrote:
On 2006-11-05, Grant Edwards <[EMAIL PROTECTED]> wrote:
On 2006-11-05, Grant Edwards <[EMAIL PROTECTED]> wrote:

How do I call the ethernet driver's control function to set the
MAC address?
This seems to work:


__local_enet_sc->funs->control(__local_enet_sc,ETH_DRV_SET_MAC_ADDRESS,mac_address,sizeof
 mac_address);
I was wrong, that doesn't work.  It changes the MAC address in
the MAC, but the networks stack doesn't seem to know it's been
changed, so ARP replies have the wrong MAC address in them. :(

Also setting __local_enet_addr fixed that problem.

The RedBoot stack wasn't really designed with dynamic changes like this in mind :-), hence the
obscurity.
How is the MAC address supposed to be set initially?

AFAICT, RedBoot expects the Ethernet MAC driver to know what
MAC to use without any "application" layer help.  How is the
driver supposed to know what MAC address to use?

Most drivers use 'fconfig' data for this which allows for backup [default] values, as we as user supplied
values stored in FLASH [or EEPROM].


--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


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

Reply via email to