• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RTE3 Use real time ethernet as "normal" ethernet interface
#41
Hello Andi,

I was just checking cifx0 and pinging devices across a valid network successfully.

In order to have a totally independent configuring path I have enabled WLAN on my netPI so that eth0 is physically no longer necessary to exclude side effects. I removed the network cable from it by the way, but it is of course internally setup up well in my "bridged" container.

Our office network is usually a dhcp based one but one could easily configure the same setup manually as a static setup ... and this is excatly what I did right now with my cifx0.

I set up my cifx0 with the same (static) parameter set to fit the office network and calling ping from the container to my PC (part of the network) works ... and also pinging the container from my PC works.

Thx
Armin
You never fail until you stop trying.“, Albert Einstein (1879 - 1955)

  Reply
#42
Sorry, I thought that two devices should be able to ping each other if they belong to the same subnet, with or without the gateway existing.

I will test the setup and give a (hopefully) final comment.

Thank you so far!

Best Regards,
Andi
  Reply
#43
Hey Armin,

unfortunately I must bother you again.
We've tested the new Image in our test-field and I've got the response that it could not get pinged.

Therefore, I've build up a testing environment myself and got the following result:


Code:
Ping wird ausgeführt für 172.16.8.202 mit 32 Bytes Daten:
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Zeitüberschreitung der Anforderung.
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63

Ping-Statistik für 172.16.8.202:
   Pakete: Gesendet = 4, Empfangen = 3, Verloren = 1
   (25% Verlust),
Ca. Zeitangaben in Millisek.:
   Minimum = 1ms, Maximum = 1ms, Mittelwert = 1ms

C:\Windows>ping 172.16.8.202

Ping wird ausgeführt für 172.16.8.202 mit 32 Bytes Daten:
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63

Ping-Statistik für 172.16.8.202:
   Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
   (0% Verlust),
Ca. Zeitangaben in Millisek.:
   Minimum = 1ms, Maximum = 2ms, Mittelwert = 1ms

C:\Windows>ping 172.16.8.202

Ping wird ausgeführt für 172.16.8.202 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63

Ping-Statistik für 172.16.8.202:
   Pakete: Gesendet = 4, Empfangen = 2, Verloren = 2
   (50% Verlust),
Ca. Zeitangaben in Millisek.:
   Minimum = 1ms, Maximum = 1ms, Mittelwert = 1ms

As you can see, every ~ fourth ping gets timed out. When I use the same setup and configuration for netPi's standard ethernet-Port, the pinging works just fine.

Do you have any idea where this behaviour could come from or where the packages could get lost?

Thanks,
Andi
  Reply
#44
Well I tried the very same thing


Code:
64 bytes from 192.168.30.253: icmp_seq=1 ttl=64 time=4.48 ms
64 bytes from 192.168.30.253: icmp_seq=2 ttl=64 time=2.34 ms
64 bytes from 192.168.30.253: icmp_seq=3 ttl=64 time=1.68 ms
64 bytes from 192.168.30.253: icmp_seq=4 ttl=64 time=1002 ms
64 bytes from 192.168.30.253: icmp_seq=5 ttl=64 time=1.49 ms
64 bytes from 192.168.30.253: icmp_seq=6 ttl=64 time=1.78 ms
64 bytes from 192.168.30.253: icmp_seq=7 ttl=64 time=1.78 ms
64 bytes from 192.168.30.253: icmp_seq=8 ttl=64 time=1.04 ms
64 bytes from 192.168.30.253: icmp_seq=9 ttl=64 time=2.13 ms
64 bytes from 192.168.30.253: icmp_seq=10 ttl=64 time=1.46 ms
64 bytes from 192.168.30.253: icmp_seq=11 ttl=64 time=2.21 ms
64 bytes from 192.168.30.253: icmp_seq=12 ttl=64 time=2.19 ms
64 bytes from 192.168.30.253: icmp_seq=13 ttl=64 time=1.78 ms
64 bytes from 192.168.30.253: icmp_seq=14 ttl=64 time=1.45 ms
64 bytes from 192.168.30.253: icmp_seq=15 ttl=64 time=1.82 ms
64 bytes from 192.168.30.253: icmp_seq=16 ttl=64 time=1.40 ms
64 bytes from 192.168.30.253: icmp_seq=17 ttl=64 time=1.84 ms
64 bytes from 192.168.30.253: icmp_seq=18 ttl=64 time=1.64 ms
64 bytes from 192.168.30.253: icmp_seq=19 ttl=64 time=2.26 ms
64 bytes from 192.168.30.253: icmp_seq=20 ttl=64 time=1.97 ms
64 bytes from 192.168.30.253: icmp_seq=21 ttl=64 time=2.97 ms
64 bytes from 192.168.30.253: icmp_seq=22 ttl=64 time=1.95 ms
64 bytes from 192.168.30.253: icmp_seq=23 ttl=64 time=2.49 ms
64 bytes from 192.168.30.253: icmp_seq=24 ttl=64 time=1.41 ms
64 bytes from 192.168.30.253: icmp_seq=25 ttl=64 time=1.35 ms
64 bytes from 192.168.30.253: icmp_seq=26 ttl=64 time=1.71 ms
64 bytes from 192.168.30.253: icmp_seq=27 ttl=64 time=2.88 ms
64 bytes from 192.168.30.253: icmp_seq=28 ttl=64 time=1.46 ms
64 bytes from 192.168.30.253: icmp_seq=29 ttl=64 time=1.76 ms
64 bytes from 192.168.30.253: icmp_seq=30 ttl=64 time=1.48 ms
64 bytes from 192.168.30.253: icmp_seq=31 ttl=64 time=2.10 ms
64 bytes from 192.168.30.253: icmp_seq=32 ttl=64 time=1.90 ms
64 bytes from 192.168.30.253: icmp_seq=33 ttl=64 time=2.26 ms
64 bytes from 192.168.30.253: icmp_seq=34 ttl=64 time=2.12 ms
64 bytes from 192.168.30.253: icmp_seq=35 ttl=64 time=1.73 ms
64 bytes from 192.168.30.253: icmp_seq=36 ttl=64 time=1.66 ms
64 bytes from 192.168.30.253: icmp_seq=37 ttl=64 time=2.31 ms
64 bytes from 192.168.30.253: icmp_seq=38 ttl=64 time=1.85 ms
64 bytes from 192.168.30.253: icmp_seq=39 ttl=64 time=2.39 ms
64 bytes from 192.168.30.253: icmp_seq=40 ttl=64 time=2.37 ms
64 bytes from 192.168.30.253: icmp_seq=41 ttl=64 time=1.93 ms
64 bytes from 192.168.30.253: icmp_seq=42 ttl=64 time=1.96 ms
64 bytes from 192.168.30.253: icmp_seq=43 ttl=64 time=2.10 ms
64 bytes from 192.168.30.253: icmp_seq=44 ttl=64 time=1.56 ms


but here as you can see every ping works.

Is there additional traffic running across this specific IP address or is it just the ping command as only message? What else are you running on your netPI? Other containers that could occupy the CPU a lot? What is the general traffice running over this network the cifx0 interface is connected to?

What is true is that the Ethernet LAN interface across netX chip (which was initially made for supporting industrial networks) is 10 times slower in communication and throughput than the standard eth0 interface. We have to pack all TCP/IP traffic into acyclic messages between Raspberry CPU and netX and as you know this interface is an SPI connection at 25Mhz clock rate only. But I doubt this is a root cause for loosing IP packets.
You never fail until you stop trying.“, Albert Einstein (1879 - 1955)

  Reply
#45
Good Evening Armin,

The ping-command is the only thing running accross this IP address and I'm not running anything else on my netPI.
The network I was using is our standard developement-Network which works well with other devices.

In your ping-test, there is one try which took 1002 ms instead of ~1-2 ms, which seems a bit odd to mee as well. What could be the cause for that?

I made a long-time-ping-test where I put the timeout to 100s, to test if it just takes very long or if the packages really get lost.
Here is the result of it:


Code:
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=613ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Zeitüberschreitung der Anforderung.
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Zeitüberschreitung der Anforderung.
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=4ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Zeitüberschreitung der Anforderung.
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=2ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=796ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Zeitüberschreitung der Anforderung.
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Antwort von 172.16.8.202: Bytes=32 Zeit=1ms TTL=63
Zeitüberschreitung der Anforderung.

Ping-Statistik für 172.16.8.202:
    Pakete: Gesendet = 161, Empfangen = 156, Verloren = 5
    (3% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 1ms, Maximum = 796ms, Mittelwert = 10ms


As you can see, there are long periods where everything works well. What happens if you make a test for a longer time?


For comparisment, I was pinging a Raspberry Pi connected to the same network, getting this result:


Code:
Ping-Statistik für 172.16.8.170:
    Pakete: Gesendet = 212, Empfangen = 212, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 4ms, Mittelwert = 0ms

Did you ping from or to the netPi? Because pinging from the netPI to another device within the container works well for me without any losses:


Code:
PING 172.16.0.221 (172.16.0.221): 56 data bytes
64 bytes from 172.16.0.221: icmp_seq=0 ttl=128 time=6.085 ms
64 bytes from 172.16.0.221: icmp_seq=1 ttl=128 time=1.701 ms
64 bytes from 172.16.0.221: icmp_seq=2 ttl=128 time=1.826 ms
64 bytes from 172.16.0.221: icmp_seq=3 ttl=128 time=1.785 ms
64 bytes from 172.16.0.221: icmp_seq=4 ttl=128 time=1.665 ms
64 bytes from 172.16.0.221: icmp_seq=5 ttl=128 time=1.670 ms
64 bytes from 172.16.0.221: icmp_seq=6 ttl=128 time=1.529 ms
64 bytes from 172.16.0.221: icmp_seq=7 ttl=128 time=1.705 ms
64 bytes from 172.16.0.221: icmp_seq=8 ttl=128 time=1.713 ms
64 bytes from 172.16.0.221: icmp_seq=9 ttl=128 time=1.871 ms
64 bytes from 172.16.0.221: icmp_seq=10 ttl=128 time=1.608 ms
64 bytes from 172.16.0.221: icmp_seq=11 ttl=128 time=1.644 ms
64 bytes from 172.16.0.221: icmp_seq=12 ttl=128 time=1.393 ms
64 bytes from 172.16.0.221: icmp_seq=13 ttl=128 time=1.523 ms
64 bytes from 172.16.0.221: icmp_seq=14 ttl=128 time=1.743 ms
64 bytes from 172.16.0.221: icmp_seq=15 ttl=128 time=1.341 ms
64 bytes from 172.16.0.221: icmp_seq=16 ttl=128 time=5.272 ms
64 bytes from 172.16.0.221: icmp_seq=17 ttl=128 time=1.751 ms
64 bytes from 172.16.0.221: icmp_seq=18 ttl=128 time=1.661 ms
64 bytes from 172.16.0.221: icmp_seq=19 ttl=128 time=1.690 ms
64 bytes from 172.16.0.221: icmp_seq=20 ttl=128 time=1.741 ms
64 bytes from 172.16.0.221: icmp_seq=21 ttl=128 time=1.822 ms
64 bytes from 172.16.0.221: icmp_seq=22 ttl=128 time=1.681 ms
64 bytes from 172.16.0.221: icmp_seq=23 ttl=128 time=1.874 ms
64 bytes from 172.16.0.221: icmp_seq=24 ttl=128 time=1.663 ms
64 bytes from 172.16.0.221: icmp_seq=25 ttl=128 time=1.788 ms
64 bytes from 172.16.0.221: icmp_seq=26 ttl=128 time=1.792 ms
64 bytes from 172.16.0.221: icmp_seq=27 ttl=128 time=1.847 ms
64 bytes from 172.16.0.221: icmp_seq=28 ttl=128 time=1.619 ms
64 bytes from 172.16.0.221: icmp_seq=29 ttl=128 time=1.749 ms
64 bytes from 172.16.0.221: icmp_seq=30 ttl=128 time=1.696 ms
64 bytes from 172.16.0.221: icmp_seq=31 ttl=128 time=1.792 ms
64 bytes from 172.16.0.221: icmp_seq=32 ttl=128 time=1.692 ms
64 bytes from 172.16.0.221: icmp_seq=33 ttl=128 time=1.697 ms
64 bytes from 172.16.0.221: icmp_seq=34 ttl=128 time=1.683 ms
64 bytes from 172.16.0.221: icmp_seq=35 ttl=128 time=4.842 ms
64 bytes from 172.16.0.221: icmp_seq=36 ttl=128 time=1.937 ms
64 bytes from 172.16.0.221: icmp_seq=37 ttl=128 time=1.812 ms
64 bytes from 172.16.0.221: icmp_seq=38 ttl=128 time=1.803 ms
64 bytes from 172.16.0.221: icmp_seq=39 ttl=128 time=1.554 ms
64 bytes from 172.16.0.221: icmp_seq=40 ttl=128 time=1.493 ms
64 bytes from 172.16.0.221: icmp_seq=41 ttl=128 time=1.917 ms
64 bytes from 172.16.0.221: icmp_seq=42 ttl=128 time=1.800 ms
64 bytes from 172.16.0.221: icmp_seq=43 ttl=128 time=1.847 ms
64 bytes from 172.16.0.221: icmp_seq=44 ttl=128 time=1.762 ms
64 bytes from 172.16.0.221: icmp_seq=45 ttl=128 time=1.978 ms
64 bytes from 172.16.0.221: icmp_seq=46 ttl=128 time=1.801 ms
64 bytes from 172.16.0.221: icmp_seq=47 ttl=128 time=1.818 ms
64 bytes from 172.16.0.221: icmp_seq=48 ttl=128 time=2.005 ms
64 bytes from 172.16.0.221: icmp_seq=49 ttl=128 time=1.832 ms
64 bytes from 172.16.0.221: icmp_seq=50 ttl=128 time=1.857 ms
64 bytes from 172.16.0.221: icmp_seq=51 ttl=128 time=1.776 ms
64 bytes from 172.16.0.221: icmp_seq=52 ttl=128 time=1.837 ms
64 bytes from 172.16.0.221: icmp_seq=53 ttl=128 time=1.779 ms
64 bytes from 172.16.0.221: icmp_seq=54 ttl=128 time=1.840 ms
64 bytes from 172.16.0.221: icmp_seq=55 ttl=128 time=1.581 ms
64 bytes from 172.16.0.221: icmp_seq=56 ttl=128 time=1.727 ms
64 bytes from 172.16.0.221: icmp_seq=57 ttl=128 time=1.628 ms
64 bytes from 172.16.0.221: icmp_seq=58 ttl=128 time=1.634 ms
64 bytes from 172.16.0.221: icmp_seq=59 ttl=128 time=1.793 ms
64 bytes from 172.16.0.221: icmp_seq=60 ttl=128 time=1.788 ms
64 bytes from 172.16.0.221: icmp_seq=61 ttl=128 time=1.742 ms
64 bytes from 172.16.0.221: icmp_seq=62 ttl=128 time=1.641 ms
64 bytes from 172.16.0.221: icmp_seq=63 ttl=128 time=1.883 ms
64 bytes from 172.16.0.221: icmp_seq=64 ttl=128 time=5.547 ms
64 bytes from 172.16.0.221: icmp_seq=65 ttl=128 time=1.777 ms
64 bytes from 172.16.0.221: icmp_seq=66 ttl=128 time=1.769 ms
64 bytes from 172.16.0.221: icmp_seq=67 ttl=128 time=1.905 ms
64 bytes from 172.16.0.221: icmp_seq=68 ttl=128 time=1.672 ms
64 bytes from 172.16.0.221: icmp_seq=69 ttl=128 time=1.796 ms

For me, this indicates that the network should not the be the cause.

Any ideas for further investigation?

Thanks,
Andi
  Reply
#46
Well I did some more tests with a PC and a Raspberry Pi both pinging the cifx0 for a while


Code:
64 bytes from 192.168.30.253: icmp_seq=2285 ttl=64 time=1.24 ms
64 bytes from 192.168.30.253: icmp_seq=2286 ttl=64 time=1.24 ms
64 bytes from 192.168.30.253: icmp_seq=2287 ttl=64 time=1.49 ms
^C
--- 192.168.30.253 ping statistics ---
2287 packets transmitted, 2286 received, 0% packet loss, time 2289371ms
rtt min/avg/max/mdev = 0.811/4.565/937.514/49.555 ms


I can't see any packets lost, but I see indeed ping commands that take ~1000msec to respond. This needs more time to investigate.

Have your ping commands a timeout lesser than this 1000msec configured maybe and hence are declared as lost?
You never fail until you stop trying.“, Albert Einstein (1879 - 1955)

  Reply
#47
This was my guess as well, but I've put the timeout to 100s and they timed out anyways.

BR,
Andi
  Reply
#48
Well Andi,

I need to understand our spi driver running between netx chip and raspberry cpu and used by the cifxdeamon program a little bit better. Till today it was for me just a precompiled library I used. Now I am digging into details how exactly it works.

Investigations will take a while. I keep you informed. I will start looking at it tomorrow.
You never fail until you stop trying.“, Albert Einstein (1879 - 1955)

  Reply
#49
Hello Andi,

I want to share with you the information I collected.

I have to tell you that indeed netX and the container's ethernet port implementation will drop ethernet frames at higher bus loads. The interface cannot be compared to a native ethernet port such as eth0 supported by netPI as well ... netX ethernet port is and will be always a bottleneck and is driven through a user space driver and not kernel driver as it is usual.

The reason lies in the very nature of the design. First of all the 25Mhz speed of the SPI interface between raspberry CPU and netX is a limiting factor. As next the established mailbox system to collect incoming traffic and to it send out consumes a lot of time for handshaking in between and all this is executed in polling mode and not in interrupt mode. Another reason is the 8 traffice message deep ethernet frame buffer established between both chips. If it is overloaded then frames are dropped as well.

Of course even if frames are dropped with TCP/IP based communications there is no problem at all since the protocol includes recovery mechanisms to resend lost packages or to detect them. I agree that it will slow down the effective data rate, but it works fine. So overall the cifx0 is an interface that can be well used as service interface e.g. Codesys PLC programming port. If there is a needs for a high performance interface cifx0 is not suitable.

P.S: what I was never able to see are lost ping packages if there is no other network load active over the same network.

Thx
Armin
You never fail until you stop trying.“, Albert Einstein (1879 - 1955)

  Reply
#50
Hey Armin,

I really thank you for all the effort you've put into this Image.
But after reading your last reply, I don't think it is a good idea to use the extra network-ports for what we wanted to.

At least it wasn't for nothing, since the cointainer is now easily configurable and works fine for small data checks, etc.

If you find out more about this, I would still be interested in news.

Thanks again,
Andi
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  activate Ethernet cifx0 Christian_Rau 3 2,489 March-26th-2021, 05:28 AM
Last Post: Armin@netPI
  Web browser reports "insecure connection" when accessing netPI for the first time Armin@netPI 2 2,713 January-31st-2020, 07:07 AM
Last Post: Armin@netPI
  Profinet Startup Time Schranz 3 3,351 November-18th-2019, 03:22 PM
Last Post: Armin@netPI
  normal ethernet port using for Profinet MGharat 4 4,579 August-7th-2019, 10:39 AM
Last Post: hannes
  Launching multi-containers at a time - Docker stacks Armin@netPI 0 1,840 June-4th-2019, 04:11 PM
Last Post: Armin@netPI
  niot-e-npi3-51-en (RS485 <-> Industrial Ethernet) merklethomas 6 4,638 April-26th-2019, 01:38 PM
Last Post: Armin@netPI
  Modbus TCP Connection via RTE Ethernet Ports Flo_Lo 18 10,841 April-15th-2019, 09:50 PM
Last Post: Armin@netPI
  USB/Ethernet adapter slos 4 3,581 April-8th-2019, 09:11 AM
Last Post: slos
  [SOLVED] Use netX interface as profinet controller jromero248 2 3,082 January-10th-2019, 12:30 PM
Last Post: jromero248
  IP Realtime Ethernet michu252 7 4,677 August-21st-2018, 10:41 AM
Last Post: Armin@netPI

Forum Jump:


Users browsing this thread: 3 Guest(s)