[ECOS] AT91 EMAC Ethernet driver RX mangles packet data ??
Fri Jun 13 09:17:00 GMT 2008
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.
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.
- 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?
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