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.

EVM6678L HUA demo is not working.

Hi Support,

I am trying to perform HUA demo, but I got some problems. (the web page freeze) no result output. 

In Benchmark test, only Direction = Transmit and Protocol = TCP can run without problem . in my test, the EVM and PC are directly connected. and since I have no problem to perform "Transmit/TCP" test, it proved  the EVM and Host are well configured. (Firewall disabled, JAVA is installed sure). After digging deeper, I found there are some error message from Java console, I attached them below, I believe there are something wrong with the Java Applet, hope you can help on this issue thanks. 

Receive TCP test

CacheEntry[http://192.168.2.100/NDKBenchmark.jar]: updateAvailable=false,lastModified=Thu Jan 01 08:00:00 CST 1970,length=12014
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Exception in thread "Thread-16" java.lang.NullPointerException
at ndkbenchmark.NDKBenchmark.paint(NDKBenchmark.java:76)
at ndkbenchmark.NDKBenchmark$SendRecvTCPThread.run(NDKBenchmark.java:196)

Receive UDP TEST
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Exception in thread "Thread-16" java.lang.NullPointerException
at ndkbenchmark.NDKBenchmark.paint(NDKBenchmark.java:76)
at ndkbenchmark.NDKBenchmark$SendRecvThread.run(NDKBenchmark.java:258)

Transmit UDP Test
CacheEntry[http://192.168.2.100/NDKBenchmark.jar]: updateAvailable=false,lastModified=Thu Jan 01 08:00:00 CST 1970,length=12014
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Permissions manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Missing Codebase manifest attribute for: http://192.168.2.100/NDKBenchmark.jar
Exception in thread "Thread-16" java.lang.NullPointerException
at ndkbenchmark.NDKBenchmark.paint(NDKBenchmark.java:76)
at ndkbenchmark.NDKBenchmark$SendRecvThread.run(NDKBenchmark.java:268)

By the way, the JAVA on my host is latest version. 

  • Can you provide:

    • The Host PC: OS, version
    • Web broswer: IE/Firefox/chrome, version?
    • Java: version?

    If you change the broswer, will this work?

    Regards, Eric

  • Hi Eric,

    OS: Windows 7 service pack 1 64-bit

    Browser: Chrome version 29.0.1547.76m

    Java Runtime 1.7.0.40

    I got the same result with Internet Explorer 8.

    Behchmark test
    Receive UDP: Failed, Transmit UDP: Failed
    Receive TCP: Failed, Transmit TCP: Pass 

  • Hi Eric,

    we are also facing similar problem like this one and need clarification on the below information:

    It appears that NDKBenchmark.java file (part of HUA C66x project, under c:\hua\src\webpages folder) uses port 7000 to receive and 10001 to send UDP packets for the benchmark tests.  Is this correct? 

    Are the .html and .java files under this folder used to control packet data flow when the HUA demo runs?

    Srinivasalu

    -Signalogic

  • Eric-

    We have verified we can change pre-compiled HMTL files and the cgi files, and see the results in generated web pages -- so I think we're starting to understand the basic software architecture of the HUA demo project.

    Now we want to add our own UDP test, and see if we can address some of the issues that Rex mantions above. However, we want to add UDP testing as C code in the HUA project, not Java scripts running on the remote (web client) machine. For example, we are thinking about a basic test with all C66x cores sending arbitrary UDP packets at slowly increasing rates, and measuring throughput on the remote machine.

    For this, which documentation should we refer to? Is there any additional HUA demo documentation that might contain guidelines for this?

    Thanks.

    -Jeff

  • Rex,

    Sorry for the late response. We found that HUA demo sometimes worked and sometimes didn't. We are investigating it.

    Regards, Eric

     

  • Hi Eric,

    Thanks for reply .We are looking forward the updated software.
    We  are looking for the source code of UDP Network loopback test.It will be so useful, so that we can add our own UDP test.

    Please can you answer our questions about C source code integration of HUA?

    Srinivasalu
    -Signalogic

  • Srinivasalu,

    Just to set the right expectation. We are investigating why sometimes HUA demo failed between C66x EVM and PC ---- just hang there. We don't have any plan to add C code on PC side for TCP/UDP test.

    For the loopback test, I checked with our test team, it was done by using smartbits, that is a test equipment.

    Regards, Eric 

  • Eric-

    Thanks for your reply.  We want to modify C66x side code, not host (PC) side.  We want to know which C66x C source files we can change to control UDP output?

    Our initial objective is a C66x C program that uses HUA and generates UDP packets, which we would receive on host side using iPerf.  This program would have no host web page and no cgi scripts... or maybe a minimal web page that simply says "start the test" but otherwise runs no Java or script files.

    Thanks.

    -Jeff
    Signalogic

  • In HUA demo,

    main() -----> hpdspuaStart() ------> AddWebFiles(): inside this function: pFxn = (void*) &ndkThroughputBench;

    if ( !strcmp(POST_values[0], "RX"))

    {

    if (!strcmp(PROTOCOL, "UDP"))

    copyUDPTestee_NetworkOpen();

    else

    copyTCPTestee_NetworkOpen();

    DIRECTION = 1;

    }

    else if (!strcmp(POST_values[0], "TX"))

    {

    if (!strcmp(PROTOCOL, "UDP"))

    copyUDPTester_NetworkOpen();

    else

    copyTCPTester_NetworkOpen();

    DIRECTION = 0;

    }

    Those functions are inside C:\ti\mcsdk_2_01_02_06\demos\hua\src\benchmark\ndkbenchmark.c

    Regards, Eric

  • Hi Support team,

    Comments in the HUA main task indicate the task does configuration and starts the IP stack,and the thread is called from BIOS.  Where is the code that actually receives a TCP/IP packet after a web page button is pushed (and script runs) on the remote machine?. I am reading through the NDK Users Guide (spru523h.pdf) but didn't find any clear information.

    If the main NDK thread is not periodic and not polling for packets, then what is the mechanism that causes it to wake up and process instructions sent by the remote machine?

    Srinivasalu

    -Signalogic

  • Hi Support Team,

    In HUA Project,is htmlSock created and initialized?

    For example in the file ndkloopback.c,

    Function Name : ndkLoopbackStart (SOCKET htmlSock, int32_t ContentLength, char *pArgs ).
    Where does htmlsock are Initialized?.

    I have searched for complete .c file search and didn't find it.

    I need more information whether socket attributed for htmlSock((eg. blocking vs. non-blocking)


    Srinivasalu
    -Signalogic

  • Eric-

    Thanks. We are converting the HUA program to be event-driven. It appears the code waits on instructions from the cgi scripts running on the remote machine at this location in webserver.c:

      len = recv(htmlSock, buffer, ContentLength, MSG_WAITALL);

    Srinivas is not yet able to find where htmlSock is initialized and with what attributes -- i.e. whether the socket is blocking or non-blocking.

    Our objective is to make this a periodic task, and make the recv() call non-blocking.

    Thanks.

    -Jeff

  • Eric,


    1) In HUA demo project, which *.c files are running on the remote machine and which are running on C66x?  I assume currently that all .c files under ../webpages sub-folder are running on the remote machine, for example as CGI functions

    2) Is there any case where C66x code generates packets?  or is it always doing some type of loopback or "reacting" in some way to the remote machine?

    My objective is just to get C66x code to send some UDP packets, without all the HTML, CGI, and other user-interface support that will not be used in my actual C66x system.

    Srinivasalu

    -Signalogic

  • Is this you are looking for: void CreatehtmlSockets(SOCKET htmlSock) in C:\ti\mcsdk_2_01_02_06\demos\hua\src\webpages\information.c.

    Sorry for the delay.

    Regards, Eric

     

  • Eric-

    In CreatehmlSockets() htmlSock is an input parameter, so should have already been created -- we're trying to figure out where.

    We want to know htmlSock's attributes to determine if the recv() call in webserver.c is blocking. Is this where C66x code is waiting for a web page action (form submit + cgi script) on the remote machine?

    Thanks.

    -Jeff