2

First of all, not sure at all if this is the correct place to ask. If it isn't, please forgive me.

Well, I have an OrangePi zero as a server. I installed on it armbian (legacy, xenial version, kernel 4.11.5-sun8i).

This has a 100Mb ethernet port; I set it up as a NAS, but I'm experiencing slow downloads from it.

I run iperf3, and this is the output I received on the server. First I tested it as a server (so I verified the UPLOAD speed):

user@DiscoRete:~$ iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.104, port 51784
[  5] local 192.168.1.2 port 5201 connected to 192.168.1.104 port 51785
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  10.8 MBytes  90.8 Mbits/sec
[  5]   1.00-2.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   2.00-3.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   3.00-4.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   4.00-5.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   5.00-6.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   6.00-7.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   7.00-8.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   8.00-9.00   sec  11.3 MBytes  94.9 Mbits/sec
[  5]   9.00-10.00  sec  11.3 MBytes  94.9 Mbits/sec
[  5]  10.00-10.02  sec   220 KBytes  94.6 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.02  sec   113 MBytes  94.5 Mbits/sec                  sender
[  5]   0.00-10.02  sec   113 MBytes  94.5 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

Bandwidth is about 95Mb/s; since the link is a 100Mb ethernet it is quite ok for me.

Then I tested the DOWNLOAD speed:

user@DiscoRete:~$ iperf3 -c 192.168.1.104
Connecting to host 192.168.1.104, port 5201
[  4] local 192.168.1.2 port 47504 connected to 192.168.1.104 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   284 KBytes  2.33 Mbits/sec   37   2.83 KBytes
[  4]   1.00-2.00   sec   270 KBytes  2.21 Mbits/sec   39   2.83 KBytes
[  4]   2.00-3.00   sec   393 KBytes  3.22 Mbits/sec   40   1.41 KBytes
[  4]   3.00-4.00   sec   352 KBytes  2.88 Mbits/sec   29   1.41 KBytes
[  4]   4.00-5.00   sec   481 KBytes  3.94 Mbits/sec   32   1.41 KBytes
[  4]   5.00-6.00   sec   488 KBytes  4.00 Mbits/sec   56   2.83 KBytes
[  4]   6.00-7.00   sec   315 KBytes  2.58 Mbits/sec   37   2.83 KBytes
[  4]   7.00-8.00   sec   236 KBytes  1.93 Mbits/sec   28   2.83 KBytes
[  4]   8.00-9.00   sec   346 KBytes  2.84 Mbits/sec   38   2.83 KBytes
[  4]   9.00-10.00  sec   293 KBytes  2.40 Mbits/sec   32   2.83 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  3.38 MBytes  2.83 Mbits/sec  368             sender
[  4]   0.00-10.00  sec  3.32 MBytes  2.78 Mbits/sec                  receiver

iperf Done.

Wait: less than 3Mb/s??? What is the problem here in your opinion? How can I further test it?

Thank you

UPDATE: I changed the ethernet wire; it worked better the first time (transfers around 8MB/s), but then it went back to 300kB/s (so the 2Mb/s seen here).

If it can help, I noticed that when the cable is disconnected the two LEDs on the port light up on the OrangePI zero...

This weekend, when I get back home, I'll try changing the oPI board with another one I got. Then I'll try with a direct connection.

Do you have any other hints at how can I debug this?

  • 3
    Try replacing the cable. Your receive pair may have some sort of a short or something in it that is causing a bunch of errors/retries when you receive but not when you send. – Jesse_b Aug 4 '17 at 21:30
  • 3
    ifconfig will give you the number of TX and RX errors for each interface. – xhienne Aug 4 '17 at 21:36
  • 1
    The "retr" or retries field is VERY high, one would expect it to be zero. This could be a half duplex vs full duplex or switch vs hub issue. After replacing the cable as suggested, try making the network simpler, and that everyone agrees on settings like duplex. – icarus Aug 4 '17 at 22:37
  • Thank you. I tried replacing the cable to the server. No changes. I tried disconnecting my PC and connecting to the router through wifi (UL 72Mb/s, DL 144Mb/s). The UPLOAD changed to 48.5Mb/s (does not show the retr column), the DOWNLOAD moved to 13Mb/s (with 551 retries). The setup is simple (server = ethernet = router = ethernet = PC, or router ~ wifi ~ PC). ifconfig shows no errors, dropped or other strange packets – frarugi87 Aug 4 '17 at 23:57
  • How is the server connected? Is it 100Mb or gigabit? If it's gigabit or higher, make sure autonegotiation is enabled on both the router and the server. Autonegotiation is required for gigabit ethernet: "The standards for 1000BASE-T, 1000BASE-TX and 10GBASE-T require autonegotiation to be always present and enabled. Other than speed and duplex mode, autonegotiation is used to communicate the port type (single port or multiport) and the master-slave parameters..." – Andrew Henle Aug 5 '17 at 10:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.