[ECOS] ixp42x NPE networking build issue.

Karel Gardas kgardas@objectsecurity.com
Wed Dec 28 21:51:00 GMT 2005


On Wed, 28 Dec 2005, Andrew Lunn wrote:

>> Yes, I think the intention of the error above is that ecosadmin "detects"
>> error in pkgadd.db and exists making tar also exists. Anyway, the file is
>> OK, I've decomplressed it and did
>> cat pkgadd.db >> <path>/ecos.db
>>
>> I've also copied Jerzy's if_npe.c and now I'm fighting with various
>> compilation issues. Generaly Intel code's complaining about RebBoot not
>> enabled. Is RedBoot required for this to work? i.e. do I need to build my
>> NPE-enabled eCos app including RedBoot just to be able to build it?
>
> Now, you do not want RedBoot.

I also though that, but unfortunatelly whole code looks like expecting 
RedBoot... Now I'm fighting with this (RedBoot still not enabled in 
config), which seems to be MAC address "detection":

if_npe.c file from Jerzy:

     806     // Set MAC address
     807 #if defined(CYGSEM_NPE_REDBOOT_HOLDS_ESA)
     808     {
     809         char *cfgname = NULL;
     810 #if defined(CYGSEM_INTEL_NPE_USE_ETH0)
     811         if (p_npe == &npe_eth0_priv_data)
     812             cfgname = "npe_eth0_esa";
     813 #endif
     814 #if defined(CYGSEM_INTEL_NPE_USE_ETH1)
     815         if (p_npe == &npe_eth1_priv_data)
     816             cfgname = "npe_eth1_esa";
     817 #endif
     818
     819 #elif defined(CYGHAL_GET_NPE_ESA)
     820
     821         mac_ok = CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, cfgname,
     822                                              p_npe->mac_address, CONFIG_ESA);
     823     }


1. cfgname is used here, but it is not defined. It is defined in above 
#ifdef statement.

2. CONFIG_ESA is not defined. It seems CONFIG_ESA is defined to 6 when 
RedBoot is enabled

     824 #else
     825 #error No mechanism to get MAC address
     826 #endif
     827
     828     if (!mac_ok) {
     829 #ifdef DEBUG
     830                 diag_printf("Error getting MAC address.\n");
     831 #endif
     832                 return 0;
     833     }


here we test !mac_ok, but strangely when CYGSEM_NPE_REDBOOT_HOLDS_ESA is 
defined, then mac_ok is not set to true.

So now, I'm searching where is all these defines provided to find out more 
info about this issue.

Thanks,
Karel
--
Karel Gardas                  kgardas@objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.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