Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

NicheStack: ARP refuses to work

Hello,

I am trying to start the NicheStack on Nios II. I've fallowed the stack manual and prepared example code available here (http://pastebin.com/bfqwah7c).

The stack starts fine, however ARP doesn't work. When I try to ping the IP I set, the stack doesn't respond to ARP broadcast message. However if I run the example code (either Simple Socket Server or Web Server), then the computer gets ARP response, I reupload my code and the stack responds to ping. Basically it is like this:

upload web server example -> start ping -> upload my code -> ping drops a few timeouts during Nios II upload process and the continues to work.

Now what is more strange: if I change the IP address, computer gets the new address and ping successfully continues to work.

What did I miss there?

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    It seems like if your code is missing some initialization which is instead performed by SSS or WebServer programs.

    It could be PHY initialization; I think this is the only one which is possibly not reset and reinitialized when you reload the code.

    Check if your code programs the MAC address correctly.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hm, strange, according to ethernet and the nichestack tcp/ip

    stack - nios ii edition manual (http://www.altera.com/literature/hb/nios2/n2sw_nii52013.pdf) pages 11-4 and 11-5 I need to run alt_iniche_init() and netmain(), then wait for iniche_net_ready. This should initialize the stack. I use the same steps in my code. What is really strange - ping does work, so the stack works and ICMP works... I suppose ARP partialy also works, because if I change the IP in the stack, it is found by ping easily on the next software upload (ip is changed, arp should tell the new ip address).

    Anyway, thanks for pointers, I am checking.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Solved: needed to add tse_my_system.c to the project to let the system load RGMII interface properly.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hello Socrates,

    I am also kind of similar situation, so please provide me the file tse_my_system.c so that i can test my system too,

    My problem is ...

    1. Simple_Socket_Server (Edited)---->Start Ping---->Receive Data From Remote ESDK Board serially----->Generate Interrupt---->Stop Pinging.& Code Stuck

    2. Reload The HW/Sw---->Start Ping---->Receive Serial data generate Interrupt---->Stop Pinging & Code Stuck.

    so just for try, please provide tse_my_system.c

    i have also also Post my Problem on forum post May 10th, 2013, Post No. 16 "http://www.alteraforum.com/forum/showthread.php?t=39445&page=2"
    • Thomas1968's avatar
      Thomas1968
      Icon for New Contributor rankNew Contributor

      Hi there,

      were are using an older of Niche Stack for NiosII (v3.4) and I'm looking for related documentation.
      Happy to hear from you

      Best Thomas