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.

Linux/66AK2E05: Linux Netcp Driver Problem

Part Number: 66AK2E05


Tool/software: Linux

Hi There

I have 3 EA k2e EVM Board.  We use PROCESSOR-SDK-LINUX-K2E  04_00_00_04.

I guess some problem in netcp linux driver.

I use 1 UDP stream port and 1 monitor port ( In case k2e EVM Board ).

When plug out UDP port in operating, Other Monitor Port is not working.

and plug in UDP port again then Monitor Port is alive again.

Maybe there is some problem netcp driver.

Does anyone know how solve this problem ?

Help me please....

Thanks.

  • Hi Sangseog,

    I've forwarded this to the software team. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Hi, Sangseog,

    I tried on ProcSDk 3.3 and saw the issue. I'll try with 4.0 release. If it is still an issue as you see, I'll submit it to our bug system to get it fixed.

    Rex
  • Hi, Sangseog,

    I don't see the issue using ProcSDK 4.0.0.3. I have both eth0 and eth1 up and running, pinging through eth1 to a PC and remove the eth0 cable. The ping on eth1 continues. I did the same to the other port. Please see my console capture:

    root@k2e-evm:~# ifconfig
    eth0 Link encap:Ethernet HWaddr B4:99:4C:00:18:B8
    inet addr:158.218.109.208 Bcast:158.218.109.255 Mask:255.255.255.0
    inet6 addr: fe80::b699:4cff:fe00:18b8%763860/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:8171 errors:0 dropped:0 overruns:0 frame:0
    TX packets:887 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:9521488 (9.0 MiB) TX bytes:71106 (69.4 KiB)

    eth1 Link encap:Ethernet HWaddr 02:18:31:7E:3E:00
    inet addr:192.168.1.111 Bcast:192.168.1.255 Mask:255.255.255.0
    inet6 addr: fe80::18:31ff:fe7e:3e00%763860/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:293 errors:0 dropped:0 overruns:0 frame:0
    TX packets:361 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:29599 (28.9 KiB) TX bytes:40679 (39.7 KiB)


    root@k2e-evm:~# ping 192.168.1.1
    PING 192.168.1.1 (192.168.1.1): 56 data bytes
    64 bytes from 192.168.1.1: seq=0 ttl=64 time=0.215 ms
    64 bytes from 192.168.1.1: seq=1 ttl=64 time=0.175 ms
    64 bytes from 192.168.1.1: seq=2 ttl=64 time=0.168 ms
    64 bytes from 192.168.1.1: seq=3 ttl=64 time=0.171 ms
    64 bytes from 192.168.1.1: seq=4 ttl=64 time=0.168 ms
    64 bytes from 192.168.1.1: seq=5 ttl=64 time=0.168 ms
    64 bytes from 192.168.1.1: seq=6 ttl=64 time=0.164 ms
    64 bytes from 192.168.1.1: seq=7 ttl=64 time=0.167 ms
    64 bytes from 192.168.1.1: seq=8 ttl=64 time=0.159 ms
    64 bytes from 192.168.1.1: seq=9 ttl=64 time=0.158 ms
    [ 451.235094] netcp-1.0 2620110.netcp eth0: Link is Down
    64 bytes from 192.168.1.1: seq=10 ttl=64 time=0.164 ms
    64 bytes from 192.168.1.1: seq=11 ttl=64 time=0.197 ms
    64 bytes from 192.168.1.1: seq=12 ttl=64 time=0.167 ms
    64 bytes from 192.168.1.1: seq=13 ttl=64 time=0.157 ms
    64 bytes from 192.168.1.1: seq=14 ttl=64 time=0.160 ms
    64 bytes from 192.168.1.1: seq=15 ttl=64 time=0.158 ms
    64 bytes from 192.168.1.1: seq=16 ttl=64 time=0.162 ms
    64 bytes from 192.168.1.1: seq=17 ttl=64 time=0.159 ms
    64 bytes from 192.168.1.1: seq=18 ttl=64 time=0.158 ms
    64 bytes from 192.168.1.1: seq=19 ttl=64 time=0.161 ms
    64 bytes from 192.168.1.1: seq=20 ttl=64 time=0.160 ms
    64 bytes from 192.168.1.1: seq=21 ttl=64 time=0.160 ms
    64 bytes from 192.168.1.1: seq=22 ttl=64 time=0.193 ms
    [ 463.685477] netcp-1.0 2620110.netcp eth0: Link is Up - 1Gbps/Full - flow control off
    64 bytes from 192.168.1.1: seq=23 ttl=64 time=0.185 ms
    64 bytes from 192.168.1.1: seq=24 ttl=64 time=0.174 ms
    64 bytes from 192.168.1.1: seq=25 ttl=64 time=0.177 ms
    ^C


    root@k2e-evm:~# ping 158.218.109.254
    PING 158.218.109.254 (158.218.109.254): 56 data bytes
    64 bytes from 158.218.109.254: seq=0 ttl=64 time=0.405 ms
    64 bytes from 158.218.109.254: seq=1 ttl=64 time=0.246 ms
    64 bytes from 158.218.109.254: seq=2 ttl=64 time=0.267 ms
    64 bytes from 158.218.109.254: seq=3 ttl=64 time=0.237 ms
    64 bytes from 158.218.109.254: seq=4 ttl=64 time=0.241 ms
    64 bytes from 158.218.109.254: seq=5 ttl=64 time=0.239 ms
    64 bytes from 158.218.109.254: seq=6 ttl=64 time=0.236 ms
    64 bytes from 158.218.109.254: seq=7 ttl=64 time=0.239 ms
    64 bytes from 158.218.109.254: seq=8 ttl=64 time=0.239 ms
    [ 540.485103] netcp-1.0 2620110.netcp eth1: Link is Down
    64 bytes from 158.218.109.254: seq=9 ttl=64 time=0.268 ms
    64 bytes from 158.218.109.254: seq=10 ttl=64 time=0.270 ms
    64 bytes from 158.218.109.254: seq=11 ttl=64 time=0.267 ms
    64 bytes from 158.218.109.254: seq=12 ttl=64 time=0.240 ms
    64 bytes from 158.218.109.254: seq=13 ttl=64 time=0.270 ms
    64 bytes from 158.218.109.254: seq=14 ttl=64 time=0.239 ms
    64 bytes from 158.218.109.254: seq=15 ttl=64 time=0.216 ms
    [ 547.765477] netcp-1.0 2620110.netcp eth1: Link is Up - 1Gbps/Full - flow control off
    64 bytes from 158.218.109.254: seq=16 ttl=64 time=0.251 ms
    64 bytes from 158.218.109.254: seq=17 ttl=64 time=0.261 ms
    64 bytes from 158.218.109.254: seq=18 ttl=64 time=0.240 ms
    64 bytes from 158.218.109.254: seq=19 ttl=64 time=0.239 ms
    ^C
  • Thankyou For Your Comment


    ** I use 1 UDP stream port and 1 monitor port ( In case k2e EVM Board ).

    This Issue occur - One Port Is UDP Stream Port And Many Data to be Sent to Phy.

    Datd Rate of Ping Test is too low..
  • Sanseog,

    I don't understand. If the UDP port is plugged out. There won't be any data through that port any way. In that case, why the traffic matter?

    I gave it a try any way with outbound iperf on eth0 with -u -b 600M, and inbound ping on eth1, and still not seeing the issue.

    Rex

  • Samseog,

    I think I know your test setup. You have outbount UDP on eth0. We'll investigate the issue.

    Rex
  • Rex . Thanks for your concern.

    I modify some code in netcp_ethss.c and solve this problem.

    But I cannot be sure my modification.

    I modify ethernet line connection check timer interval.

    original code is  #define GBE_TIMER_INTERVAL (HZ / 2)   ----  HZ is 1000

    my code is #define GBE_TIMER_INTERVAL (HZ / 500)

    if available , Please Check side effect of my modification.

    Thank you....

  • Hi, Sangseog,

    Thanks for the feedback. I'll input it in the jira and have the developer to review it. 

    Rex

  • Hi, Sangseog,

    WIth the change you suggested, I still see the issue. Besides, it schedules the link check 500 times a second which adds runtime overhead and it may not be a good solution if it works.

    Rex
  • Hi Rex, Thank you for your opinion

    i agree your opinion.
    I hope to get good solution.

    When plug out while udp out streaming , then network not operating.
    And intrerface down udp port, descriptor Error message is displayed.

    I Guess there is some error in DMA Handling.
    Plesae review DMA operation sequence.

    Thank you.
  • Hi Rex.

    I agree to you opinion.
    I hope to get good solution

    While Network is not oerating in plugout test,
    descriptor error messsage is displayed when interface down.

    I guess there is some error in DMA Handling.

    Please Check this Problem.

    Thank you.
  • Sangseog,

    We are investigating this issue. I'll post back once we root cause it.

    Rex