Wednesday, July 4, 2012

10. Selftest

1. For selftest, connect nf2c0 to nf2c1 and nf2c2 to nf2c3 using an RJ45.




2. Ensure the nf2cx interfaces are up. You can check this by using the command :
ifconfig
3. If you can see the 4 interfaces (nf2c0, nf2c1, nf2c2, nf2c3) in the list, that means that the interfaces are up.


 4. If the 4 interfaces can't be seen in the list, then they have to be pulled up by using the command :
ifconfig nf2c0 up
ifconfig nf2c1 up
ifconfig nf2c2 up
ifconfig nf2c3 up
or for i in `seq 0 3`; do ifconfig nf2c$i up; done
5. Load self-test bitfile
nf_download ~/netfpga/bitfiles/selftest.bit
6. Run Selftest
a - If you have the SATA cable connected, then use the command :
~/netfpga/projects/selftest/sw/selftest
b - If you do not have the SATA cable connected, then use the command :
~/netfpga/projects/selftest/sw/selftest -n
c - To get the continuous output, add a -c to the above commands. The advantage of getting a continuous output is that you can correct the errors (described later on) in real time.




7. While running the selftests, I got 2 errors. PHY Test failed and DMA Test failed. I corrected the errors as follows :
A - PHY Test Failure : PHY Test failure occurs due to improper connection between the ports. Run the selftest in continuous mode by using the command : ~/netfpga/projects/selftest/sw/selftest -n -c. Now under PHY Test, check if the packets being are going to BAD or GOOD. If the packets are going to GOOD, then it is fine otherwise you would notice that there is a no link appearing for that port. The ports of the NetFPGA are very sensitive. So even though it appears that the ports are connected, they may actually not be connected. So readjust the connections till all the packets go into GOOD. This would result in passing of the PHY Test.


 B - DMA Test Failure : This may result due to multiple reasons, vis-a-vis, the following :
1. Memory hasn't been allocated for the NetFPGA (Article 2 of this blog)
2. The nf2cX interfaces haven't been turned up (Refer article 9 to turn up the interfaces)
3. The CPCI hasn't been reprogrammed. So try reprogramming the CPCI using the command : /usr/local/sbin/cpci_reprogram.pl --all

5 comments:

  1. Hi pharic,

    The cable for use Crossover or Straight-Through,

    My output is different than yours, because I have no IP address assigned.

    This is my output :

    nf2c0 Link encap:Ethernet HWaddr 00:4E:46:32:43:00
    UP BROADCAST MULTICAST MTU:1986 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
    Interrupt:113

    nf2c1 Link encap:Ethernet HWaddr 00:4E:46:32:43:01
    UP BROADCAST MULTICAST MTU:1986 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
    Interrupt:113

    nf2c2 Link encap:Ethernet HWaddr 00:4E:46:32:43:02
    UP BROADCAST MULTICAST MTU:1986 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
    Interrupt:113

    nf2c3 Link encap:Ethernet HWaddr 00:4E:46:32:43:03
    UP BROADCAST MULTICAST MTU:1986 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
    Interrupt:113

    I need to configure something?

    ReplyDelete
    Replies
    1. hey.. u don’t have to worry abt it.. u don’t have to get the same output.. as long as the ports are detected in selftest u r fine..

      Delete
    2. Hi Harichandan,

      I used the Straight-Through cable, in this step (10) everything worked, I am going to do the step 11.

      Delete
  2. Hi pharic,,
    I cant see my interfaces, onli the eht0 , eth1 and lo, but nf2c0, nf2c1, nf2c2, nf2c3, no
    Can you help me ?

    tnks

    ReplyDelete
    Replies
    1. try these commands :
      ifconfig nf2c0 up
      ifconfig nf2c1 up
      ifconfig nf2c2 up
      ifconfig nf2c3 up

      this shud bring up the interfaces.. if nt then it means tht the drivers haven't been installed properly..

      Delete