Hi all,
My target is an i386 with the default eCos TCP stack, eCos HTTP, TFTP servers and a Modbus/TCP server we wrote in house. The ethernet driver is the RealTek 8139.
I first started suspecting something was wrong with the ethernet driver when my target randomly crashed after 5-10 minutes under heavy ethernet loads: ping flood + http + tftp traffic.
Then I discovered it would crash repeatably if pinged with a large packet i.e. ping -s 40000. The threshold seems to be around 32k, which is coincidently the size of the RX buffer. I have CYGNUM_DEVS_ETH_RLTK_8139_RX_BUF_LEN_IDX set to 2, which is the default.
This behaviour is true when CYGPKG_DEVS_ETH_RLTK_8139_SHARE_INTERRUPTS is enabled or not.
The driver has some comments about cache coherency, which I don't understand well. In any case, I don't think they're applicable to the i386 target (is that true?)
I'm using the eCos CVS snapped on 31 Jan 2007. gcc 3.4.4, cygwin. Any help would be appreciated. -- Wayne Visser LSZ PaperTech Inc. -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
