cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
5,845 Views
Registered: ‎05-12-2016

ethernet link issue when using two DMA to Microblaze

I have connected two AXI DMA to Microblaze. One is connected to 1000T Ethernet lite. Another is connected for data streaming applications. When I use simple echo server application, I cannot get telnet connected to server, and it seems having some issues somewhere in DHCP process. I see following error message:

 -----lwIP TCP echo server ------
TCP packets sent to port 6001 will be echoed back
WARNING: Not a Marvell or TI Ethernet PHY. Please verify the initialization sequence
link speed: 1000
Error set buf addr 8002A356 with 4 and 3, 2
Error set buf addr 8002A556 with 4 and 3, 2
Error set buf addr 8002A756 with 4 and 3, 2
DHCP Timeout
Configuring default IP of 192.168.1.10
Board IP: 192.168.1.10
Netmask : 255.255.255.0
Gateway : 192.168.1.1
TCP echo server started @ port 7
Error set buf addr 8002A956 with 4 and 3, 2

 

When I trace the error it is happening at following section of dhcp.c:

 

    /* shrink the pbuf to the actual content length */
    pbuf_realloc(dhcp->p_out, sizeof(struct dhcp_msg) - DHCP_OPTIONS_LEN + dhcp->options_out_len);

    /* send broadcast to any DHCP server */
    udp_sendto_if(dhcp->pcb, dhcp->p_out, IP_ADDR_BROADCAST, DHCP_SERVER_PORT, netif);
    dhcp_delete_msg(dhcp);
    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_select: REQUESTING\n"));
  } else {
    LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_LEVEL_WARNING, ("dhcp_select: could not allocate DHCP request\n"));
  }

is this some kind of contention going on?

 

What is the way out here?

 

Appreciate your help in advance.

0 Kudos
2 Replies
Highlighted
Adventurer
Adventurer
1,599 Views
Registered: ‎03-23-2014

回复: ethernet link issue when using two DMA to Microblaze

Did you solved this problem?

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
1,583 Views
Registered: ‎02-20-2014

Re: ethernet link issue when using two DMA to Microblaze

Can you provide DEVICE_ID of DMA instance connected to axi ethernet?

bsp/mircroblaze_0/include/xparameters.h

 

In case DEVICE_ID of DMA instance is not 0. Edit microblaze_0/libsrc/lwip141_v2_0/src/contrib/ports/xilinx/netif/xaxiemacif_dma.c

 

XStatus init_axi_dma(struct xemac_s *xemac)

{

 

dmaconfig = XAxiDma_LookupConfigr(XPAR_AXI_ETHERNET_0_DMA_DEVICE_ID); /* Put device id of connected DMA instance*/
}

 

 

Share your test results. 

 

Thanks,

Radhey

0 Kudos