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.

Ethernet Boot packets getting discarded

Hi Ti Members,

                         Following is the laptop/software details i own

1. CCSV5 - 5.2.0.00069

2. windows 7 - 64 bit operating system.

3. MCSDK - 1.0.0.21

4. no firewalls [All firewalls are disabled].

========preconfig=======

A. set the board pins as

The DIP switch setting for C6670 EVM is:
SW3(pin1, pin2, pin3, pin4): off, on, off, on
SW4(pin1, pin2, pin3, pin4): on, on, on, off
SW5(pin1, pin2, pin3, pin4): on, off, on, off
SW6(pin1, pin2, pin3, pin4): off, off, on, on

=======procedure done=======

1. followed the readme.txt in the following folder

C:\ti\mcsdk_2_00_09_21\tools\boot_loader\examples\ethernet\docs

2. set the board ip address as 192.168.1.2

3. set the pc ip address as 192.168.1.1 with mask as 255.255.255.0

4. checked on wireshark, after power on the board, i see BOOTP [from c6670 board] packets at regular intervals 

5. did "pcsendpkt.exe simple.eth 192.168.1.2" and then i see BOOTP packets getting stopped. [is this expected ?].

6. i see the the simple.eth packet in RED in wireshark.

7. reason i see is Destination port:Discard (9)

8. Following is the wireshark capture

==============================================================================

Header checksum: 0x0000 [incorrect, should be 0xb02c (may be caused by "IP checksum offload"?)]

Good: False

Bad: True

==============================================================================

Ideally, i would expect the Ti example to work, let me know where i am failing [note:- i am not changing or doing any modification to any part of the ethernet boot example given by Ti].

Can anyone please let me know why is that i am running into destination packet discard errors.

Thanks

RC Reddy

  • Hi All,

               I think i got a lead on this, letme try this and update this forum post.

    http://www.techsupportforum.com/forums/f137/wireshark-question-tcp-checksum-offload-248812.html

    Thanks

    RC Reddy

  • Hi All,

               i disabled the "IPV4 checksum offload" and i stil see the error. But this time, there is a change, earlier Wireshark reported the error in red color and this time, somehow the color changes and it shows "destination discard packet"..but this time it doesn't give me any exact reason as why it is discarded. its quite confusing to guess this time.

    i also made following changes in NIC card

    1. TCP checksum offload disabled.

    2. UDP checksum offload disabled.

    i still see the dicard packet info on all simple.eth packets being sent. I dont see it booting as the A1 core register still reads some other value apart from 0x11223344.

    If anyone went through above cycle, please let me know the solutin.

    Thanks

    RC Reddy

     

  • Hi Ti Folks,

                      i am awaiting your response.Kindly reply.

    Thanks

    RC Reddy

  • Hi

    Sometimes it happens that we see packet getting discarded in wirshark but i would suggest that u connect the board to CCS in debug mode and see the value of A1 register as suggested in the example.

    it shld have value 0X11223344.

    i faced the same prblm and when i saw it, data has already been transferred and i got the value in A1 register.

    thanks and Regards

    Amandeep singh

  • Hi Ti folks and Aman,

                    Many thanks for your reply. but i am still getting weird value in the A1 register. few points to be noted [please correct me if i am wrong here]

    I did the simple.eth example given in the

    C:\ti\mcsdk_2_00_09_21\tools\boot_loader\examples\ethernet\Ethernet_boot

    1. A1 0x0080BC80 (Hex) Core

    above value, i see through windows->show view-> Registers and in that core0 Register.

    2. if i disable UDP offload checksum and ipv4 checksum offload, i see the COMPUTED and PACKET BASED CHECKSUM both same and i see the following

    Good Checksum: True

    Bad Checksum: False

    but stil the wireshark fails telling that destination discard [but this time, no reason is being told why the packet is failed].

    3. Another thought is though wireshark may fail, still the internal protocol at Ti evm might accept [since i see bootp packets getting stopped so i assume it is doing something after it gets image thrugh *.eth packets].

    4. Also in forums,i see there is some issue with iBL, i Assume i dont need to worry about that as i am doing Direct Ethernet ROM boot and as such it shud work. please correct  me if i am wrong on it.

    5. I would have tried in about more than 30 times till now [the same simple.eth example], all times, i do jtag with MYOWN project and see the Register A1 and find its value to be A1 0x0080BC80 (Hex) Core. please help on this. if it is few times, it should have worked atleast once. Also i seriously suspect some issue as FEW TIMES ITSELF IS NOT CORRECT. IT SHOULD WORK ALWAYS.

    6. Also i wait around 5 minutes of time,before connecting the ccs thru debug with myown project and view the register A1.

    Hi Ti folks, Kindly respond as i am stuck in this issue since 3 days.

    Thanks

    RC Reddy 

  • Hi Reddy,

    Are you using 3. MCSDK - 1.0.0.21. you should be using MCSDK2.xx. Can you check?


    Thanks,

    Arun.

  • Hi Arun,

                   Thanks for reply and very sorry for confusion. actually the mcsdk version is 2_00_09_21

    C:\ti\mcsdk_2_00_09_21

    in earlier post, I copied the version information from the CCS Installation details. sorry about that incorrect info. 2_00_09_21 is the one i have installed.

    Thanks

    RC Reddy

  • Couple of thing you can check.

    Where is your Program Counter located.

    What is the value in the L2 address is 0x8ffffc. This is boot magic address for Nyquist.

    Thanks,

    Arun.

  • Hi Arun,

                 i ran my own project based *.eth now and 

    1. after 5 minutes after doing the ethernet boot, i connected the same project based.pjt in ccs to c6670 board.

    2. i see PC is at 0x0080 5d00

    3. i see value of 0x00809000 at 0x8ffffc.

    4. As part of one Ti e2e post, i saw the value of 1 at 0x0262013c.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/200332/716052.aspx#716052

    5. also i am writing some values to L2 and i dont see them after i connect to target using ccs. [the buffer in L2SRAM is 0x0 all along],

    Thanks

    RC Reddy

  • Hi Arun,

                  I ran the simple.eth example now

    1. i see PC as 0x0080 5d00

    2. Also i see a value of 0x00810000 at 0x008ffffc

    3. i see a value of 1 in 0x0262013c

    4. Now also dont see any pattern in A1 register [pattern is 0x11223344].

    Thanks

    RC Reddy

  • Can you try it with this eth file.

    Thanks,

    Arun.http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/639/2821.simple.eth

  • Hi Arun,

                  Thanks for mail and sorry this time [i used your sent file] also i failed in reading the register A1 [i see other value apart from 0x11223344]. Its quite frustrating that i am doing/working on same stuff since 3 days,kindly help as what to look into.

    please find my software details in first post this chain of posts and i STILL couldn't achieve the value in A1 register.

    also when i README.txt says CONNECT, i am trying to connect some other .PJT to the target evm board using ccs. in this step, there is a c6670l gel is also being used. my question is 

    does it not overwrite the previous values of Registers when i reload with new .pjt along with gel file [if i understand gel file flushes all memories and registers].

    Thanks

    RC Reddy

  • Hi All,

              Now i could see the value 0x11223344 in the A1 register. All along i was loading the PROGRAM through ccs and based on my above post [gel file is flushing out all memory contents and registers] and this time i loaded SYMBOLS ONLY and i could see 0x11223344 in the A1 register.

    i missed the understanding that we need to load SYMBOLS ONLY in the debug configurations Tab. I request Ti to add [load symbols only stuff] to the README.txt this step.

    Thanks

    RC Reddy

  • Hi All,

              the other approach as they say "just connect" [i was not aware of this approach till now], i tried and i could view the register contents and it reads 0x11223344.

    so overall the view register works in LOAD SYMBOLS ONLY and JUST CONNECT ways.

    Thanks

    RC Reddy

  • Hi Reddy,

    Great. What are you loading btw after you connect to CCS.

    Thanks,

    Arun.

  • Hi Arun,

                 Thanks for mail.

    In first attempt i did load "SYMBOLS ONLY' of some X project and i could see 0x11223344 in A1. 

    1. select any project in project explorer, 

    2. ccv5->Run->DebugConfigurations->Program Tab.

    3.In that Program Tab, i selected LOAD Symbols only.

    In all my attempts, i was loading program only [causing it to flush the memory] [i selected SYMBOLS only for first time and i was under impression that it will be set to SYMBOLS only, but this was not the case, it will default back to PROGRAM load mode]

    In second attempt, i just connected without loading anything [No Loading of symbols,No loading of gel, No loading of program]. I was not familiar with this second way of connecting. however i did the following

    1. CCSV5->view Target Configurations.

    2. In Target configurations, i did right click on .ccxml and clicked launch Selected Configuration.

    3. step 2 launches .ccxml and i selected core0 and right click on it and selected Connect option.

    4. Now,i was able to see memory contents of A1.

    Frankly speaking, till today i wasn't aware of this method 2, by doing trial and error, i got it. [probably, i have missed reading some document on this].

    Thanks

    RC Reddy