This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fwd: Packet size limit on TCP/IP stack ?


> I enabled DEBUG macro for i82559.c. Driver seems to working fair. All the
> packets are transmitted well by driver but only packets having length less
> than 160 are reaching to other end. Apparently there is no problem in
> receiving packet of length more than 160. Problem occurs at transmission
> time only. Any clue in this regard is appreciated.

A few things to try. For the moment i'm assuming the software is OK
and its a hardware/configuration problem. Check to see if there are
any runt packets on the network. The i82559 does a TX by first
prefilling the TX fifo with part of the packet. It then starts the TX
using what it has already in the fifo and getting the rest of the
packet from memory as quick as it can. I've had a problem with a
broken PCI arbiter which resulted in the transfer from main memory
being too slow and the i82559 sent all it had in its fifo while the
rest of the packet was still being DMAed from main memory. The i82559
then has to abort the packet. There is a register that controls how
much it should prefill the fifo with. Try increasing the prefill. Are
you running it at 100Mbit/s or 10? Try forcing it to 10 and see if
that makes a difference. At 10 it gives it more time to get the packet
from main memory.

     Andrew

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]