This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to fill the PCI ID?


Wang Anthony wrote:
> Hi, Jonathan:
>   The new rebuilt redboot still prompt with:
> No network interfaces found
> 
>   I turn on the "CYGDBG_DEVS_ETH_INTEL_I82559_CHATTER" for redboot.
>   Following are the messages:
> 
> eth0 configured
> memory address = 0xea100000
> I/O address = 0x0000e000
> **** Device enabled for I/O and memory and bus master
> Init82559 0 @ 19640
> 82559 Self Test
>  General self-test: passed
>  Serial sub-system self-tset: passed
>  ROM checksum self-test: passed (04F4518B).
> eeprom data bits 8 (ioaddr e80e)
> warning: Invalid EEPROM checksum 47D2 for device 0

That's your problem. The 82559 driver does not complete initialization if
the checksum is invalid.

You can either:

1) write a new EEPROM
2) if the checksum is correct, fix the code in i82559.c
3) comment out the check in i82559.c.

Choosing 3) is easy, but inadvisable if your checksum really is invalid.
It might mean you'll read garbage the next time and so get a different ESA
address the next time!

You may be able to do 1) by writing an eCos application with the
CYGPKG_DEVS_ETH_INTEL_I82559_WRITE_EEPROM config option enabled, and then
using a SIOCSIFHWADDR ioctl() to set the address. You'll need to see how
that's used from the sources.

Jifl
-- 
eCosCentric       http://www.eCosCentric.com/       <info@eCosCentric.com>
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]