Main

9.2i EDK - I cannot transmit TCP packets larger than 1500 bytes or any UDP packets

AR# 29757

Search For Another Answer

Topic EDK-Libraries
Last Updated 02/29/2008
Status Active
Description

Keywords: lwIP, user, datagram, transmission, transmit, control, protocol

I cannot transmit TCP packets larger than 1500 bytes or any UDP packets. Why?

Solution

There is a bug in the xps_ll_temac adapter present in lwip_v3_00_a released in 9.2i. A new xlltemacif_sdma.c will be available in EDK 9.2i Service Pack 2.

The fixes are three lines of code:

1. Open the $Xilinx_EDK/sw/ThirdParty/sw_services/lwip_v3_00_a/src/contrib/ports/Xilinx/netif/xlltemacif_sdma.c file in an editor with line numbering.

2. Make the following changes:

Replace line 155 with: XLlDma_Bd *txbdset, *txbd, *last_txbd = NULL;
Insert a new line 192 with: last_txbd = txbd;
Replace line 204 with: XLlDma_mBdSetStsCtrl(last_txbd, XLLDMA_BD_STSCTRL_EOP_MASK);

The "diff" output between the old file and the new file is:

155c155
< XLlDma_Bd *txbdset, *txbd;
---
> XLlDma_Bd *txbdset, *txbd, *last_txbd = NULL;
192a193
> last_txbd = txbd;
203c204
< XLlDma_mBdSetStsCtrl(txbd, XLLDMA_BD_STSCTRL_EOP_MASK);
---
> XLlDma_mBdSetStsCtrl(last_txbd, XLLDMA_BD_STSCTRL_EOP_MASK);


For other lwIP issues, please refer to (Xilinx Answer 29791) and (Xilinx Answer 30155).

This problem has been fixed in the latest EDK 9.2i Service Pack, available at:
http://www.xilinx.com/xlnx/xil_sw_updates_home.jsp
The first service pack containing the fix is EDK 9.2i Service Pack 2.
 
 
/csi/footer.htm