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 ?


> No, I don't see any runt packets. Packets of size less than 160 appears well
> and packets of size more than 160 does not appear at all.

I would not totally trust that runt are not being sent. Only a few
network cards will actually tell you about them. Most silently discard
them.

> 
> > 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.

> You mean packets are being DMAed from driver transmission rings to network
> card memory? 

Yes.

I did look into i82559_configure function. There it seems to
> configuring the device. I see array config_bytes in this function is filled
> and later (in same function) device reads this array to configure itself.
> Unfortunately I do not have i82559 manual available so I don't know which
> byte is doing what.

The i82558 programming manual is ( was the last time i looked) from
the Intel web site. The i82559 is backward compatible, so you can use
that for most of the registers.

> > 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.

> I am running at 100Mbit/s. Again, I think this is configured in
> i82559_configure. Please let me know how to change this.

Connect your device to an old hub that only supports 10Mbit/s. The
i82559 will then negotiate down to 10Mbit/s. You can also set a
register in the i82559, but thats a bit harder to do.

       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]