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.

TDA2PXEVM: TI NDK gives only MDNS packets

Part Number: TDA2PXEVM
Other Parts Discussed in Thread: SYSBIOS

Hi all,

I have configued the TI ndk stack to get the  udp packets from ecu that is running tda2px.

The ecu is sending the data through ethernet that i can verify by seeing the logs on teraterm

I am not seeing the UDP packets in wireshark on linux pc that is connected to the ecu using ethernet cable.

Both in NDK  and linux machine i am configuring static ip.Please see the packets i am seeing in wireshark.

Please find the NDK configuration below and also the wiresahrk image attached.

My doubts are:

a) If we have to do some configuration on the NDK side to get UDP packets.

b) If i am seeing MDNS packets instead of UDP packets what does that verify ,does it

indicate that ecu is sending data to pc.

Regards

Mayank

var NdkConfigGlobal = xdc.useModule('ti.ndk.config.Global');
var Ip = xdc.useModule('ti.ndk.config.Ip');
var Tcp = xdc.useModule('ti.ndk.config.Tcp');
var Udp = xdc.useModule('ti.ndk.config.Udp');
var Bios = xdc.useModule('ti.sysbios.BIOS');
var Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
var HalHwi = xdc.useModule('ti.sysbios.hal.Hwi');
var Cache = xdc.useModule('ti.sysbios.hal.unicache.Cache');
var IntXbar = xdc.useModule('ti.sysbios.family.shared.vayu.IntXbar');
var enableStaticIP = 1;

//NdkConfigGlobal.enableCodeGeneration = false;

/**********************************************************************\
| NSP Driver configuration |
\**********************************************************************/

var GMACSW = xdc.useModule('ti.nsp.drv.GMACSW');
GMACSW.device = GMACSW.DEVICE_VAYU;
GMACSW.instrumentedBuild = false;
/* select the stack library we want */
NdkConfigGlobal.IPv6 = false;
NdkConfigGlobal.stackLibType = NdkConfigGlobal.MIN;
NdkConfigGlobal.netSchedulerPri = NdkConfigGlobal.NC_PRIORITY_HIGH;
NdkConfigGlobal.debugAbortLevel = NdkConfigGlobal.DBG_NONE;
NdkConfigGlobal.debugPrintLevel = NdkConfigGlobal.DBG_NONE;

/* Assign memory sections and sizes */
NdkConfigGlobal.pbmDataSection = ".bss:NDK_PACKETMEM";
NdkConfigGlobal.memDataSection = ".bss:NDK_MMBUFFER";
NdkConfigGlobal.lowTaskStackSize = 8192;
NdkConfigGlobal.normTaskStackSize = 8192;
NdkConfigGlobal.highTaskStackSize = 8192;
NdkConfigGlobal.ndkThreadStackSize = 8192;
NdkConfigGlobal.pktSizeFrameBuf = 1536*2;
NdkConfigGlobal.pktNumFrameBufs = 192*5;
NdkConfigGlobal.memRawPageSize = 3072;
NdkConfigGlobal.memRawPageCount = 16*5;

/* Use hook functions available in the ti.ndk.config.Global module to add CGI commands */
NdkConfigGlobal.networkOpenHook = '&netOpenHook';
NdkConfigGlobal.networkCloseHook = '&netCloseHook';

/* change the size of our receive buffers */
/* Tcp.transmitBufSize = 8192; */
/* Tcp.receiveBufSize = 8192; */
/* Tcp.receiveBufLimit = 8192; */
Udp.receiveBufSize = 3*8192;

if (enableStaticIP)
{
/* Settings for static IP configuration */
Ip.address = "10.2.0.8";
Ip.mask = "255.255.255.0";
Ip.gatewayIpAddr = "10.2.0.100";
Ip.ifIdx = 1;
}
else
{
Ip.dhcpClientMode = Ip.CIS_FLG_IFIDXVALID;
}

  • Hi all,

    Is there anyone to reply to above query.

    Regards

    Mayank

  • Hi,

    I have tried to debug my application.On the ecu side sendto is working on.On server side(linux machine) i am getting connection established.

    But i am not able to ping the ecu and also i am not able to see the UDP packets in wiresahrk.On ecu side the application is sending some algorithm data over the

    network.With the packets that i am getting in the image above what can i conclude about the ndk stack,is it working or not or if i am missing any configuration on ndk.

    I have posted my ndk configuration also and i dont think there is any issue in ndk configuration.

    If someone can tell whether NDK is working or how i can is ee udp packets in wireshark on linux machine.

    Regards

    Mayank

  • Mayank,

    Do any of the packets in Wireshark have EVM's MAC address as source MAC address? The MAC address of the EVM is typically printed when application starts.

    Your NDK config settings seem correct to me. They match the configuration in our example applications.

  • Hi,

    I ran the TI NDK Hello World application.I am getting the following log:

    MAC Port 1 Address:
    90-9a-77-44-2e-fb
    GMACSW has been started successfully
    Registration of the GMACSW Successful
    Network Added: If-1:10.2.0.8

    But after that i am not able to ping,even the link is not up.

    Regards

    Mayank

  • Hi all,

    I am  dumping the registers and it is given as below:

    GOOD_RX_FRAMES (00000000)
    BROADCAST_RX_FRAMES (00000000)
    MULTICAST_RX_FRAMES (00000000)
    PAUSE_RX_FRAMES (00000000)
    RX_CRC_ERRORS (00000000)
    GOOD_TX_FRAMES (00000000)
    BROADCAST_TX_FRAMES (00000000)
    DEFERRED_TX_FRAMES (00000000)
    COLLISIONS (00000000)
    TX_Interrupt_Pacing_Enable (00030271)
    TX_Interrupt_Pacing_Count (00000002)
    TX CLK (00050102)
    WR_RGMII_CTL (00000000)
    MAC_CTRL (00040038)
    CM_GMAC_GMAC_CLKCTRL (08000002)
    CPDMA_INTERRUPT_MASK (00000001)
    CPSW_FLOW_CONTROL (00000001)
    MDIO_ALIVE (00000000) - this indicates something is wrong with configuration
    MDIO_LINK (00000000)
    MDIO_CONTROL (41000059)
    The Register Address (48484800) has value (00180109)
    The Register Address (48484804) has value (00000001)
    The Register Address (48484808) has value (00000000)
    The Register Address (4848480c) has value (00000000)
    The Register Address (48484810) has value (00180109)
    The Register Address (48484814) has value (00000001)
    The Register Address (48484818) has value (00000000)
    The Register Address (4848481c) has value (00000000)
    The Register Address (48484820) has value (00000000)
    The Register Address (48484824) has value (80000000)
    The Register Address (48484828) has value (00000000)
    The Register Address (4848482c) has value (00000000)
    The Register Address (48484830) has value (00000000)
    The Register Address (48484834) has value (00000000)
    The Register Address (48484838) has value (00000000)
    The Register Address (4848483c) has value (00000000)
    The Register Address (48484840) has value (00000000)
    The Register Address (48484844) has value (00000000)
    The Register Address (48484848) has value (00000000)
    The Register Address (4848484c) has value (00000000)

    I have posted my ndk configuration above post and the register dump above.

    NDK configuration is ok.Please inform me where i am getting wrong.

    Is it related to PHY address.

    Regards

    Mayank

  • Mayank,

    Which Ethernet port on did you plug in the cable on TDA2P EVM? Please connect to port 0.

    I recommend you to download Processor SDK Vision from the below link and test with the pre-built binary.

    http://www.ti.com/tool/PROCESSOR-SDK-TDAX

    The pre-built binary will use Dynamic IP so please have a router to connect PC and EVM.

    You should be able to ping EVM from PC to make sure the hardware connection is setup correctly first.

    Regards,
    Stanley

  • Hi,

    I downloaded the PROCESSOR_SDK_VISION_03_08_00_00 package from ti site

    and ran client and helloworld application.I was not able to ping the board.

    I was getting following o/p on the console.

    MAC Port 1 Address:
    90-9a-77-44-2e-fb
    GMACSW has been started successfully
    Registration of the GMACSW Successful
    Network Added: If-1:10.2.0.8

    After that the application seems to be going in infinite loop.

    Regards

    Mayank

  • Are you using TDA2P EVM? Could you confirm which Ethernet port is used on EVM?

    Did you try running with DHCP instead of static IP?

  • Hi,

    I am using our own TDA2PX based ecu.I didn't try configuring with dhcp.

    Regards

    Mayank