In gmane.os.ecos.general, you wrote: > Grant Edwards writes: > >> > In general the MAC address is stored in the fconfig data. All >> > drivers that need to set the MAC address contain code to query >> > the flash and fetch the MAC address from there, or call a >> > platform-specific function than may do that. They usually also >> > have a fallback to a compiled-in MAC address. >> >> Except for the drivers I've used, apparently. > > So how do these drivers get the MAC address at present? They don't. I have application code that knows how to poke the MAC address into the hardware so that the MAC address is already there when the driver's init() method is called. Then the driver returns the MAC address to the network layer. I'm trying to get away from having application application code knowing how to do that. >> Is there any documentation available on how fconfig data is >> formatted/used? > > There's no need for your code to deal with the fconfig data > format itself. Just use one of the virtual vector functions to > fetch it during driver initialization. Here's the relevant > code from one of the drivers that does this: > > #ifdef CYGPKG_REDBOOT > esa_ok = flash_get_config(qi->esa_key, _enaddr, CONFIG_ESA); > #else > esa_ok = CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, > qi->esa_key, _enaddr, CONFIG_ESA); > #endif > if (esa_ok) { > memcpy(qi->enaddr, _enaddr, sizeof(qi->enaddr)); > } else { > // No 'flash config' data available - use default > os_printf("FCC_ETH - Warning! Using default ESA for '%s'\n", dtp->name); > } It looks like I need to study up on fconfig usage. There are a dozen or so other parameters that will need to be stored there as well. -- Grant Edwards grante Yow! I want DUSTIN at HOFFMAN!! ... I want visi.com LIBRACE!! YOW!! -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss