This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
RE: Problem with RX packets
- From: "Goldschmidt Simon" <sgoldschmidt at de dot pepperl-fuchs dot com>
- To: <ecos-discuss at ecos dot sourceware dot org>
- Date: Mon, 21 Aug 2006 09:02:50 +0200
- Subject: RE: [ECOS] Problem with RX packets
Hi Debdas,
> I am working on MIPS32 Amazon-E platform. I am writing a DMA
> driver and facing problems while receiving (also sending) packets.
Ethernet packets, I suppose ;-)
> I am getting both TX and RX interrupts correctly. But while
> receiving packets (or even when sending packets), I observed
> unexpected results.
>
> I tried to "ping" from a linux PC (IP address is
> 192.168.10.101 i.e. C0
> : A8 : 1 : 65) to Amazon-E board (IP address of Amazon-E board is
> 192.168.1.2 i.e. C0 : A8 : 1 : 2), but it's receiving 64
> bytes [ FF :
> FF : FF : FF : FF : FF : 0 : 8 : A1 : 4F : D : FA : *C0 : A8*
> : 0 : 1 :
> 8 : 0 : 6 : 4 : 0 : 1 : C0 : A8 : 1 : 2 : 0 : 0 : 0 : 0 : 1 :
> 65 : 0 : 0
> : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : FB : 40 : 0 : 0 : 0
> : 0 : 0 :
> 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 43 : 84 ] packets
> (instead of 42 bytes expected for ARP).
Ethernet standard (at least 100 mbit over copper cable) extends all
packets to
64 Byte minimum (don't ask me why, I forgot that).
> I have also observed that the *Type/Length* field of Ethernet
> II header seems wrong to me. This should be 806 for ARP.
Sounds to me like a cache problem (because parts of the Ips appears more
than once).
Try to invalidate the cache for the memory region used by the packet
just before copying
It somewhere by CPU. Or access it uncached. I can't help you with this,
though, since
I'm not familiar with MIPS32.
>
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss