[ECOS] AT91 EMAC Ethernet driver RX mangles packet data ??

Jürgen Lambrecht J.Lambrecht@televic.com
Fri Jun 13 11:49:00 GMT 2008

Jürgen Lambrecht wrote:
> Hello,
> my current driver works fairly will. If I do UDP or TCP separate it 
> works perfectly (only in release mode, else RX BNA and OVR errors): up 
> to 28 Mbps for UDP with my echo program. I use bursts up to 64 kB - my 
> RX uses 512 128B buffers.
The problem now is in the RX part of the driver. My last modification to 
the ecos-CVS version dates from May 31:
(2 small bugfixes)
> But If I mix UDP with TCP (send both echo requests out in a burst), if 
> fails very fast - even without big bursts: I send UDP 1 kB and TCP 1 
> kB packet echo request in a burst.
> -> This crashes the EMAC Ethernet driver! All networking does not work 
> anymore, not a ping, not the httpd server..
> But my application still runs (It still toggles the watchdog LED), so 
> only the networking part has crashed.
> Why?
> - memcopy problem because freeBSD uses sg_list's where the first array 
> is only 14 B, so not aligned anymore to 32 bit boundaries
> - the deliver() runs in a thread context, not DSR context. The 
> resources are not protected by a mutex, so maybe 2 instances of 
> deliver ...
> I will of course investigate this further, but maybe already somebody 
> has a clue?
> Kind regards,
> Jürgen

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