[ECOS] Problem with RX packets

Goldschmidt Simon sgoldschmidt@de.pepperl-fuchs.com
Mon Aug 21 07:03:00 GMT 2006


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



More information about the Ecos-discuss mailing list