This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C129ENCZAD: No response to ping requests.

Part Number: TM4C129ENCZAD
Other Parts Discussed in Thread: UNIFLASH

I have a TM4C129ENCZAD on a custom board that isn't responding to ping requests. I am running the enet_uip example code on the microcontroller and have only changed the duplex and speed to 10M half duplex.

UpdateStatus("Using Internal PHY.");
    ui32PHYConfig = (EMAC_PHY_TYPE_INTERNAL | EMAC_PHY_INT_MDIX_EN |
            EMAC_PHY_FORCE_10B_T_HALF_DUPLEX);

I am using a the default static ip address,

#define USE_STATIC_IP

#ifndef DEFAULT_IPADDR0
#define DEFAULT_IPADDR0         169
#endif

#ifndef DEFAULT_IPADDR1
#define DEFAULT_IPADDR1         254
#endif

#ifndef DEFAULT_IPADDR2
#define DEFAULT_IPADDR2         19
#endif

#ifndef DEFAULT_IPADDR3
#define DEFAULT_IPADDR3         63
#endif

#ifndef DEFAULT_NETMASK0
#define DEFAULT_NETMASK0        255
#endif

#ifndef DEFAULT_NETMASK1
#define DEFAULT_NETMASK1        255
#endif

#ifndef DEFAULT_NETMASK2
#define DEFAULT_NETMASK2        0
#endif

#ifndef DEFAULT_NETMASK3
#define DEFAULT_NETMASK3        0
#endif

I am able to program a MAC address into user flash using UniFlash, and a link does get established with the network switch. Ping responds with "Destination host unreachable".

C:\ti\uniflash_5.0.0\deskdb\content\TICloudAgent\win\ccs_base\common\uscif>ping 169.254.19.63

Pinging 169.254.19.63 with 32 bytes of data:
Reply from 169.254.19.62: Destination host unreachable.
Reply from 169.254.19.62: Destination host unreachable.
Reply from 169.254.19.62: Destination host unreachable.
Reply from 169.254.19.62: Destination host unreachable.

PacketRecieve is never called, and the Ethernet interrupt handler is never called during the ping request. The ethernet interrupt handler is defined in tm4c129enczad_startup_ccs.c.

Do you have any suggestions as to why this isn't working?

Thanks,

Allan

  • Hi,

      Did the exmple enet_uip work as is using DHCP?

      Did the example nnet_uip work if you only change to STATIC address but keeping the same EMAC_PHY_AN_100B_T_FULL_DUPLEX?

  • Do you have any suggestions as to why this isn't working?

    Perhaps you might enable ICMP echo in the protocol stack as ping uses IP addresses to locate the end point destination. Far as I'm aware UIP does not directly support ICMP pings.

  • Charles,

    Trying the example using DHCP seems to work differently. An ip address isn't obtained, but packets are being sent,

                                                                                    
    Using Internal PHY.
                                                               
    Waiting for MAC to be ready...
                                                    
    MAC ready.
                                                                        
    Waiting for Link.
                                                                 
    Link Established.
                                                                 
    Waiting for IP address...
                                                         
    uip ip_send_nolen: checksum 0xffff
                                                
    Sending packet with length 277 (277)
                                              
    uip ip_send_nolen: checksum 0xffff
                                                
    Sending packet with length 277 (277)
                                              
    uip ip_send_nolen: checksum 0xffff
                                                
    Sending packet with length 277 (277)
                                              
    uip ip_send_nolen: checksum 0xffff
                                                
    Sending packet with length 277 (277)
         
    

    A link is never established when setting a STATIC ip of 169.254.19.63 with EMAC_PHY_AN_100B_T_FULL_DUPLEX,

    Ethernet with uIP
                                                          
    -----------------
    
                                                               
                                                                                    
    Using Internal PHY.
                                                               
    Waiting for MAC to be ready...
                                                    
    MAC ready.
                                                                        
    Waiting for Link.
     
    

    Changing EMAC_PHY_AN_100B_T_FULL_DUPLEX to EMAC_PHY_FORCE_10B_T_HALF_DUPLEX with a STATIC IP establishes a link, but packets are not being sent.

    Ethernet with uIP
                                                          
    -----------------
    
                                                               
                                                                                    
    Using Internal PHY.
                                                               
    Waiting for MAC to be ready...
                                                    
    MAC ready.
                                                                        
    Waiting for Link.
                                                                 
    Link Established.
                                                                 
    IP: 169.254.19.63
     
    

  • HI,

      I'm sorry that I'm currently out of office and will come back on 1/4/2022.