• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » BIOS » BIOS forum » 64 byte packets Flooding and Burst causing NDK Halting
Share
BIOS
  • Forum
  • Announcements
Options
  • Subscribe via RSS

Forums

64 byte packets Flooding and Burst causing NDK Halting

This question is answered
Mark Depp
Posted by Mark Depp
on Apr 06 2012 01:30 AM
Intellectual765 points

I am using EVM DM648 with NDK2.0. I am using the helloworld application which comes with the board. The application is configured in the ALEBYPASS/PROMISCUOUS MODE. The throughput of the application is very much close to the benchmarks supplied with the boards documentations.
 
The problems is that when i send a burst of 64byte packets the board starts dropping packets abruptly. This is natural and no problem with me. But after sometime when i increase the no. of packets in the burst the board halts and i have to restart the board to make it continue transmitting/receiving the packets. I can live with the dropping of packets but cannot with the halting and restarting of the board by re-powering it. This behaviour is also sometimes experienced with 128byte packets. The board works fine with the packet sizes above 128 bytes.
 
Can you please help me?
 

Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Mark Depp
    Posted by Mark Depp
    on May 08 2012 05:36 AM
    Intellectual765 points

    Steven

    I have sent you the csl_emac.c file.

    Unfortunately my organization's policy is against the use of that pdf file publicly, so i m sorry to tell you not to share the file on the forum.

    Can you please tell me the name of the tool you plan using to regenerate the problem, this will help me in checking at my end that is it possible to regenerate problem or not with the tool you selected.

    Hoping that this will help you in reaching to some conclusion.

    Regards

    Mark

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steven Connell
    Posted by Steven Connell
    on May 08 2012 11:47 AM
    Mastermind20540 points

    Hi Mark,

    Thanks for sending that source file.  I understand about the PDF instructions that you have sent, I won't post your PDF file then.

    The tool is called "Colasoft Packet Builder " (http://www.colasoft.com/packet_builder/).  Please let me know if you see any issue with it (or if you have another recommendation...)

    Thanks,

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on May 09 2012 03:05 AM
    Intellectual765 points

    Steven

    Thanks, the tool promises to be good one and i think it will regenerate the problem.

    I hoping to hear some good news from you soon.

    Regards

    Mark

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steven Connell
    Posted by Steven Connell
    on May 10 2012 16:25 PM
    Mastermind20540 points

    Hi Mark,

    I have made all of the changes to the helloWorld example as stated in the steps of the PDF file that you sent to me privately.  I can build it, however there is a warning related to ALE code which may be problematic.  Do you see these warnings on your side?  If so I'd recommend fixing that.

        "csl_emac.c", line 1077: warning: integer conversion resulted in a change of sign

    This is coming from here:

        if (lpAleConfig->aleModeFlags & EMAC_CONFIG_ALE_ENABLE)
            aleCtlVal |= CSL_FMK(CPSW3G_ALE_CONTROL_ENABLE_ALE, 1);

    Next I tried running the application but I am unable to get an IP address from DHCP, it gets a fault.

    I'll send you the project so you can have a look at it and make sure I've made the changes correctly.

    Steve

    [C64XP_0]
    [C64XP_0] TCP/IP Stack 'Hello World!' Application
    [C64XP_0]
    [C64XP_0] Using MAC Address: 00-21-ba-12-4a-c1
    [C64XP_0] cpsw_MDIO_Init
    [C64XP_0] SetPhyMode:000001E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:0 LPBK:0
    [C64XP_0] cpsw_MDIO_Init
    [C64XP_0] SetPhyMode:000001E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:0 LPBK:0
    [C64XP_0]  EMAC should be up and running
    [C64XP_0] EMAC has been started successfully
    [C64XP_0] Registeration of the EMAC Successful
    [C64XP_0] Service Status: DHCPC    : Enabled  :          : 000
    [C64XP_0] Service Status: DHCPC    : Enabled  : Running  : 000
    [C64XP_0] cpsw_MDIO_FindingState: PhyNum: 0
    [C64XP_0] cpsw_MDIO_FindingState: PhyNum: 1
    [C64XP_0] cpsw_MDIO_PhYReset(0)
    [C64XP_0] Enable Phy to negotiate external connection
    [C64XP_0] NWAY Advertising: FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
    [C64XP_0] cpsw_MDIO_PhYReset(1)
    [C64XP_0] Enable Phy to negotiate external connection
    [C64XP_0] NWAY Advertising: FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
    [C64XP_0] Phy: 1, NegMode 01E1, NWAYadvertise 01E1, NWAYREadvertise CDE1
    [C64XP_0] Negotiated connection: FullDuplex 100 Mbs
    [C64XP_0] Link Status: 100Mb/s Full Duplex on PHY 1
    [C64XP_0] Service Status: DHCPC    : Enabled  : Fault    : 002

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on May 11 2012 14:18 PM
    Intellectual765 points

    Steve

    My apologies, actually the engineer who made this code wrote incomplete documentation which lead to this confusion.

    Now i modified your code to make it the actual application required.

    Please use the project i sent along with emac_common.h file to build load and run the project. No other change is required at all.

    Moreover ignore that warning relating the change of sign it doesnt matters.

    Kindly reproduce the problem using this code and 64 byte packets.

    Hope to hear from you soon.

    Regards

    Mark

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steven Connell
    Posted by Steven Connell
    on May 18 2012 19:27 PM
    Mastermind20540 points

    Hi Mark,

    Thanks for sending the updated emac_common.h file.  I rebuilt my project using the update and also added a print statement in main() of one of the new macros you added just to double check that I am getting your updated file brought into my build.

    However, I still am not able to run the application successfully; the application gets a DHCP fault (see output below).

    Can you try running the .out file on your hardware setup?  Does it work for you?

    4621.helloWorld.out.txt

    (please rename it to "helloWorld.out")

    Steve

    [C64XP_0]  ------------ EMAC_DSC_FLAG_TOPORT1 = 65536
    [C64XP_0]
    [C64XP_0] TCP/IP Stack 'Hello World!' Application
    [C64XP_0]
    [C64XP_0] Using MAC Address: 00-21-ba-12-4a-c1
    [C64XP_0] cpsw_MDIO_Init
    [C64XP_0] SetPhyMode:000001E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:0 LPBK:0
    [C64XP_0] cpsw_MDIO_Init
    [C64XP_0] SetPhyMode:000001E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:0 LPBK:0
    [C64XP_0]  EMAC should be up and running
    [C64XP_0] EMAC has been started successfully
    [C64XP_0] Registeration of the EMAC Successful
    [C64XP_0] Service Status: DHCPC    : Enabled  :          : 000
    [C64XP_0] Service Status: DHCPC    : Enabled  : Running  : 000
    [C64XP_0] cpsw_MDIO_FindingState: PhyNum: 0
    [C64XP_0] cpsw_MDIO_FindingState: PhyNum: 1
    [C64XP_0] cpsw_MDIO_PhYReset(0)
    [C64XP_0] Enable Phy to negotiate external connection
    [C64XP_0] NWAY Advertising: FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
    [C64XP_0] cpsw_MDIO_PhYReset(1)
    [C64XP_0] Enable Phy to negotiate external connection
    [C64XP_0] NWAY Advertising: FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
    [C64XP_0] Phy: 1, NegMode 01E1, NWAYadvertise 01E1, NWAYREadvertise CDE1
    [C64XP_0] Negotiated connection: FullDuplex 100 Mbs
    [C64XP_0] Link Status: 100Mb/s Full Duplex on PHY 1
    [C64XP_0] Service Status: DHCPC    : Enabled  : Fault    : 002

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on May 19 2012 04:16 AM
    Intellectual765 points

    Steve

    I can only tell it to you on monday when i get back to office that on my hardware setup do i get the dhcp error or not. However i remember for sure that i took care of this when i modified your project you sent to me in a zip file. In your post you only mentioned about using emac_common.h file i sent. Did you used the project i sent to you or not?. I will reply you in detail about dhcp behavior on Monday when i test it on my hardware.

    Regards

    Mark

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on May 21 2012 01:39 AM
    Intellectual765 points

    Steve

    I checked the code you sent to me. Actually  there was no issue in code regarding NDK but it was hardware Link issue. It was incompatible with either FE or GE.

    However i have removed the issue now please recompile and run it.

    Thanks

    Regards

    Mark

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on May 21 2012 01:40 AM
    Intellectual765 points

    Please use the RAR file i sent to you today.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steven Connell
    Posted by Steven Connell
    on May 21 2012 19:34 PM
    Mastermind20540 points

    Hi Mark,

    I am getting closer.  I reviewed the changes and recompiled the project that you sent me.

    I ran the app and have been using the Colasoft packet builder tool to send a continuous stream of ARP packets (64bytes in size) to the board.  However, I couldn't see the stack crash.

    Let me review my set up with you to make sure that I've got it set up correctly:

    1. My PC is running the Colasoft packet builder tool

    2. PC is directly connected to the DM648 using a crossover cable

    3. I run the NDK application and get the following output:

    [C64XP_0]
    [C64XP_0] Using MAC Address: 00-21-ba-12-4a-c1
    [C64XP_0] cpsw_MDIO_Init
    [C64XP_0] SetPhyMode:000021E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:8192 LPBK:0
    [C64XP_0] cpsw_MDIO_Init
    [C64XP_0] SetPhyMode:000021E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:8192 LPBK:0
    [C64XP_0]  EMAC should be up and running
    [C64XP_0] EMAC has been started successfully
    [C64XP_0] Registeration of the EMAC Successful
    [C64XP_0] cpsw_MDIO_FindingState: PhyNum: 0
    [C64XP_0] cpsw_MDIO_FindingState: PhyNum: 1
    [C64XP_0] cpsw_MDIO_PhYReset(0)
    [C64XP_0] Enable Phy to negotiate external connection
    [C64XP_0] NWAY Advertising: FullDuplex-1000 FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
    [C64XP_0] cpsw_MDIO_PhYReset(1)
    [C64XP_0] Enable Phy to negotiate external connection
    [C64XP_0] NWAY Advertising: FullDuplex-1000 FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
    [C64XP_0] Negotiated connection: FullDuplex 1000 Mbs
    [C64XP_0] Link Status: 1000Mb/s Full Duplex on PHY 1
    [C64XP_0] Link Status: No Link on PHY 1

    4. In the packet builder tool, I construct an ARP packet.  I then send the same packet in an infinitely repeated burst.  I have set the ARP packet's source MAC address to that of my PC.  The destination address is set to the MAC address of the board.  (I also tried setting the destination address to the broadcast address ... screen shots below show some details ...)

    5. I can see the ARP packets showing up on Wireshark

    6. I can see the LED on the physical Ethernet port on the board blink continuously while sending the packets, so I know the packets are getting through.

    7. But, the application doesn't crash.

    Am I missing anything?  Perhaps my setup isn't correct or somehow different than yours.

    Can you try reproducing using the Colasoft tool on your side please?

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on May 22 2012 11:31 AM
    Intellectual765 points

    ok fine this is good. now here i tell you how to regenerate the problem using colasoft packet builder. information you provided tells that your board is connected to pc with a GE link.  you just have to send the same arp packet you are sending. just change this setting of arp packet as destination mac 00:00:00:00:00:00 destination ip 0.0.0.0 source mac 00:00:00:00:00:00  source ip put here ip address of your system. when you generate packet burst with this setting an ip address conflict will be generated ignore it and application will crash. then you can trace back the cause of crash.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on May 22 2012 12:51 PM
    Intellectual765 points

    s?u=YYY5B4VSL please see this also

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steven Connell
    Posted by Steven Connell
    on May 24 2012 14:17 PM
    Mastermind20540 points

    Hi Mark,

    I've again tried to reproduce the problem using your instructions but still am not having luck.  Please review the below steps that I've taken in trying to reproduce the issue.  Please let me know if I am missing something or if any step is incorrect.

    Steve

    Scenario 1:  PC connected directly to DM648

    - PC
        - running Colasoft and Wireshark
        - connected to DM648 board using a crossover cable (directly, i.e. no switch or router in between).
        - IP address is 146.252.161.73 (obtained from DHCP server before direct crossover connection was made to the DM648 board).

    - DM648 board
        - runs the test application we have been working on (modified hello world).
        - It does not have an IP address.
        - directly connected to the PC via crossover cable.  Crossover cable plugged into Ethernet port labeled "J8".

    a. load and run test application on the DM648 board

    b. run Wireshark

    c. run Colasoft and configure a ARP packet as you describe in the post above ("just change this setting of arp packet as destination mac 00:00:00:00:00:00 destination ip 0.0.0.0 source mac 00:00:00:00:00:00  source ip put here ip address of your system.")



    d. send the packet in burst mode in an infinite loop.



    e. I see the ARP packet show up in Wireshark.  I see the LED continuously lit up on the J8 Ethernet port of the DM648 (indicating the data is coming in there).



    f. I do not see the NDK test application crashing.

    Scenario 2: Two PCs and DM648

        For this scenario I am trying to follow the instructions you sent in the attached Word document.

    - PC 1:
        - running Colasoft and Wireshark
        - IP address is 146.252.161.73 (obtained from DHCP server).
        - connected to Netgear 1Gbps switch
        - Netgear switch is connected to the TI network


    - PC 2:
        - running Colasoft
        - connected to DM648 board using a crossover cable into Ethernet port J7 (directly, i.e. no switch or router in between).
        - IP address is 146.252.161.242 (obtained from DHCP server before direct crossover connection was made to the DM648 board).

       
    a. send packets from PC 2 using Colasoft.  I see the LED on Ethernet port J7 lit up indicating that the data is coming into the DM648.



    b. send the packets from PC 1 using Colasoft.  I *do not* see the Ethernet port J8 lit up continuously.  It blinks the same as when normal network traffic is coming in.  Not sure if any of the ARP packets are coming into the board on that connection


    c. Also the NDK application still does not crash.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mark Depp
    Posted by Mark Depp
    on Jun 02 2012 10:04 AM
    Intellectual765 points

    Steve

    I am sorry that i didnt replied you for few days, actually i was a little bz with some other assignments.

    Actually i have seen your last reply and now what stirs me is some problem between your configuration and yours. I request you to give it a final try.

    I am sending you a PPT file with pictorials and instructions that will reproduce the problem.

    Please give it a shot.

    Regards

    Mark

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steven Connell
    Posted by Steven Connell
    on Jun 22 2012 12:54 PM
    Mastermind20540 points

    Hi Mark,

    I have been on vacation and am just seeing your response.  I can definitely give this another shot and will let you know the result.

    Steve

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
123
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use