Jump to content

Nanopi NEO 2 iperf issue


obermeim

Recommended Posts

Hi everybody,

 

I would like to use the Nanopi NEO2 as firewall and therefore would like to support testing ethernet.

I setup an iperf server on Nanopi NEO2 and I am running the client on my iMac to test stability of ethernet connections.

After around 30-40 seconds the ethernet links goes down and is coming up back again.

 

IPERF LOG

imac:~ mobs$ iperf3 -p 5001 -c 192.168.1.100 -t 0
Connecting to host 192.168.1.100, port 5001
[  5] local 192.168.1.109 port 53298 connected to 192.168.1.100 port 5001
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   111 MBytes   932 Mbits/sec                  
[  5]   1.00-2.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec                  
[  5]   3.00-4.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   4.00-5.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   5.00-6.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   6.00-7.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   7.00-8.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   8.00-9.00   sec   112 MBytes   940 Mbits/sec                  
[  5]   9.00-10.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  10.00-11.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  11.00-12.00  sec   112 MBytes   939 Mbits/sec                  
[  5]  12.00-13.00  sec   112 MBytes   941 Mbits/sec                  
[  5]  13.00-14.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  14.00-15.00  sec   112 MBytes   939 Mbits/sec                  
[  5]  15.00-16.00  sec   112 MBytes   941 Mbits/sec                  
[  5]  16.00-17.00  sec   111 MBytes   929 Mbits/sec                  
[  5]  17.00-18.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  18.00-19.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  19.00-20.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  20.00-21.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  21.00-22.00  sec   112 MBytes   939 Mbits/sec                  
[  5]  22.00-23.00  sec   112 MBytes   941 Mbits/sec                  
[  5]  23.00-24.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  24.00-25.00  sec   112 MBytes   939 Mbits/sec                  
[  5]  25.00-26.00  sec   112 MBytes   941 Mbits/sec                  
[  5]  26.00-27.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  27.00-28.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  28.00-29.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  29.00-30.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  30.00-31.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  31.00-32.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  32.00-33.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  33.00-34.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  34.00-35.00  sec  94.8 MBytes   794 Mbits/sec                  
[  5]  35.00-36.00  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  36.00-37.00  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  37.00-38.00  sec  0.00 Bytes  0.00 bits/sec                  
[  5]  38.00-39.00  sec  2.88 MBytes  24.2 Mbits/sec                  
[  5]  39.00-40.00  sec   112 MBytes   942 Mbits/sec                  
[  5]  40.00-41.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  41.00-42.00  sec   112 MBytes   940 Mbits/sec                  
[  5]  42.00-43.00  sec   112 MBytes   941 Mbits/sec                  
^C[  5]  43.00-43.46  sec  52.0 MBytes   940 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-43.46  sec  4.30 GBytes   850 Mbits/sec                  sender
[  5]   0.00-43.46  sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated

 

AND on the syslog I can see the following

 

Nov 12 17:33:14 localhost NetworkManager[623]: <info>  [1510504394.8756] device (eth0): link disconnected
Nov 12 17:33:14 localhost NetworkManager[623]: <info>  [1510504394.8759] device (eth0.10): link disconnected

 

I would like to stabilize the Nanopi NEO2 build. How can I help? Need I address this issue to another mailing list?

 

Kind regards,
obermeim

Link to comment
Share on other sites

Thanks for checking. It doesn’t look like a hardware issue because it only happens if I run the iperf in downstream ( iMac > Nanopi ) mode. If I run iperf in upstream mode ( Nanopi > iMac ) the connection is absolutely stable ( no disconnect ). I think it’s a driver issue because of the huge amount of data transmitted. Do you know a mailing list I can address this issue to?

Link to comment
Share on other sites

21 minutes ago, obermeim said:

Do you know a mailing list I can address this issue to?

 

The driver used is the same as on all other H3, H5 and A64 devices with Armbian's mainline kernel now and not just me tested extensively with the new driver variant already on various devices. How many different Ethernet cables did you try?

Link to comment
Share on other sites

Just tested with another Ethernet cable. Problem is still there:

/var/log/armhwinfo.log has been uploaded to http://sprunge.us/QQKP

 

My understanding is that actually Nanopi NEO2 is different from most of the other variants because it uses this Gigabit Ethernet chip RTL8211E-VB-CG.
Do you think this makes a difference with respect to this issue?

 

My next step is to test this issue on another Nanopi NEO2 this evening.

Link to comment
Share on other sites

4 hours ago, obermeim said:

RTL8211E-VB-CG

 

Hmm... http://linux-sunxi.org/index.php?search=RTL8211E-VB-CG&title=Special%3ASearch suggest that's copy&paste from http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO2 -- so if FriendlyELEC would've written just 8211E, then this would also be listed that way in the wiki. In fact I'm thinking about editing it there ;) Edited it and linked to normal RTL8211E entry.

 

Seriously: please always test from bottom to top first. In networking such 'link down, link up' problems happen most of the times at layer 1 so please check this first (also testing between your two NEO2). Few months ago the PSU of my old lab switch died (a dumb ALLNET Gbit switch) and in the meantime I had to send two cables to the trash already since with the replacement switches ('smart' ones from HP and Netgear) strange problems occured sometimes but in some combinations always (eg. ROCK64 not negotiating an GbE link at boot).

Link to comment
Share on other sites

Thanks for reponse and your links. I have just read thru them. There is one note ( see below )

 

Quote

For reliable Gigabit networking (1000Mbit operation), several sunxi devices require an important tweak that adjusts the relative timing of the clock and data signals to the PHY, in order to compensate for differing trace lengths on the PCB (details). Among others, this includes Banana Pi/Pro, Cubietruck, Lamobo R1, pcDuino3 Nano and Orange Pi/Mini. Recent mainline U-Boot uses CONFIG_GMAC_TX_DELAY to initialize these devices accordingly. If a necessary GMAC TX delay isn't set, then GBit Ethernet operation might be unreliable or won't work at all. 10/100 Mbit/sec negotiation is unaffected, so misconfigured devices could actually work (faster) when connected to a Fast Ethernet port instead of a GBit Ethernet port.

 

I don't know how to check if this paramter is set correctly on Nanopi NEO2.

 

But anyway as proposed I will do some thorough testing as proposed by you.

Link to comment
Share on other sites

On 13.11.2017 at 11:27 AM, obermeim said:

How many different Ethernet cables did you try?

Wow. I have tested now on two different Nanopi NEO2 with two different cables. And you have been right, it was the cable. Unbelievable. Thanks for your hints.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines