Power & Source of Big Ideas

NanoPiNeo2 network file transfer speed dropped significantly

Moderators: chensy, FATechsupport

I have a peculiar problem with one of my two NanoPi Neo2 v1.0

Hardware setup:
NanoPi Neo2 v1.0 (#1 and #2)
NanoPi Neo2 specific heatsink
8GB microSD
5v 2.4A PSU
GbE Ethernet LAN connection via CAT6 cable
2TB Seagate Barracuda HDD in Orico SATA to USB3.0 case

Software setup:
DietPi or Armbian, both fresh installed on 8GB microSD (one each), updated and upgraded to latest.
Samba

This is a NAS setup
HDD is successfully mounted in fstab
HDD is shared via samba
HDD share is successfully accessed and browsed from Win10pc and other linux systems

Test condition:
Copy 5.17GB file from Win10 to NanoPi Neo2 NAS

Test 1: NanoPi Neo2 #1
Armbian (lscpu report max freq at 816MHz)
File transfer speed starts from 24Mbps then immediately drop to average 700kbps
terminate test after 2 minutes

Test 2: NanoPi Neo2 #1
DietPi (lscpu report max freq at 1008MHz)
File transfer speed starts from 30Mbps then immediately drop to average 700kbps
terminate test after 2 minutes

Test 3: NanoPi Neo2 #2
Armbian, same 8GB microSD used in Test 1 (lscpu report max freq at 816MHz)
File transfer speed starts from 24Mbps then drop to average 16Mbps
File transfer completed in under 7 minutes

Test 4: NanoPi Neo2 #2
DietPi, same 8GB microSD used in Test 2 (lscpu report max freq at 1008MHz)
File transfer speed starts from 34Mbps then drop to average 20Mbps
File transfer completed in under 5 minutes.

The test results do indicate that NanoPi Neo2 #1 file transfer dropped to unacceptable rate of 700Kbps
and the problem is not related to software (as both Armbian and DietPi showed same results)

Also tried using the other 2 USB ports on the NanpPi Neo2 #1 using a DIY USB breakout board
results were the same on the other 2 ports

Question:
Can I revive the file transfer speed of NanoPi Neo2 #1 ?
some time ago I searched about performance-fine-tuning the /etc/samba/smb.conf
and ended up with the following parameters in the [global] section:

Code: Select all

[global]
        workgroup = GUIDO
        server string = %h server
        hosts allow = 192.168.6.
        log level = 1
        log file = /var/log/samba/log.%m
        max log size = 1000
        syslog = 0
        panic action = /usr/share/samba/panic-action %d
        min receivefile size = 131072
        write cache size = 524288
        read raw = yes
        write raw = yes
        max xmit = 65535
        large readwrite = yes
        dead time = 15
        getwd cache = yes
        oplocks = yes
        socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=524288 SO_SNDBUF=524288
        min protocol = SMB2


you have to change the workgroup and the hosts allow line ;)

If you know any better parameters - let me know :)

PS: Iam using the silver NAS-case from FriendlyArm:
https://www.friendlyarm.com/index.php?r ... uct_id=222
Thank you for your interest in my dilema.

The performance fine tuning suggestion is interesting and might try to apply those sometime on my other NanoPi Neo2

As stated in my first post, my problem seem hardware related (on NanoPi Neo2 #1) as the unfavorable results were the same in both Armbian and DietPi setups.

Could it be that the RTL8211E is showing signs of impending failure or could it be somewhere else on the board?
Might try using a USB GbE LAN adapter to see if things improve...

Update:
Just tried attaching a USB to GbE LAN adapter.... network file transfer speed remains the same at around 700Kbps on the NanoPi Neo2 #1.

Could be the SoC already?
LTolledo wrote:
Could be the SoC already?

or the ethernet-cable or port of the cable?

Did you swap against another port/cable and double-check if there is no double IP?
And update to most recent Armbian version http://ix.io/1Gyz
guidol wrote:
LTolledo wrote:
Could be the SoC already?

or the ethernet-cable or port of the cable?

Did you swap against another port/cable and double-check if there is no double IP?


The test setup uses the same CAT6 ethernet cable
connected to the same port
Just swapping the NanoPi Neo2 #1 to NanoPi NEo2 #2

Also tried transferring the NanoPi Neo2 #1's port (and even other switch hub), same results (low transfer rate)
No double IPs detected, verified in router client IP monitoring page
NanoPi Neo2 #1 is fixed (reserved) IP at 192.xxx.xxx.110, while NanoPi Neo2 #2 is DHCP (acquired IP is 192.xxx.xxx.5).

NanoPi Neo2#1's IP address while on USB GbE adaptor is also DHCP at 192.xxx.xxx.7. Again no IP conflict with other devices (all other devices have reserved IP address starting from 192.xxx.xxx.30)

As stated on the first post, at the time of the test (date on the first post), both Armbian and DietPi were updated and upgraded to the most recent available version.
Am back with some more test
This time just testing using hdparm on both the "defective" NanoPi Neo2 No1 and the "good" NanoPi Neo2 No2

Lets start with Armbian on NanoPi Neo2 No1:

Code: Select all

root@NPiN2ArmbNo1:~# hdparm --direct /dev/sda1

/dev/sda1:
 multcount     = 16 (on)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 243200/255/63, sectors = 3907024002, start = 63
root@NPiN2ArmbNo1:~# hdparm -t /dev/sda1

/dev/sda1:
 Timing buffered disk reads:   4 MB in  3.67 seconds =   1.09 MB/sec
root@NPiN2ArmbNo1:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:   4 MB in  4.64 seconds = 883.31 kB/sec
root@NPiN2ArmbNo1:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:   4 MB in  4.55 seconds = 900.37 kB/sec
root@NPiN2ArmbNo1:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:   4 MB in  5.02 seconds = 815.96 kB/sec
root@NPiN2ArmbNo1:~#




Now Armbian again, this time on NanoPi Neo2 No2 (same microSD swapped between No1 and No2)

Code: Select all

root@NPiN2ArmbNo2:~# hdparm /dev/sda1

/dev/sda1:
 multcount     = 16 (on)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 243200/255/63, sectors = 3907024002, start = 63
root@NPiN2ArmbNo2:~# hdparm -t /dev/sda1

/dev/sda1:
 Timing buffered disk reads: 108 MB in  3.01 seconds =  35.85 MB/sec
root@NPiN2ArmbNo2:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:  74 MB in  3.03 seconds =  24.46 MB/sec
root@NPiN2ArmbNo2:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:  62 MB in  3.03 seconds =  20.50 MB/sec
root@NPiN2ArmbNo2:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:  60 MB in  3.05 seconds =  19.68 MB/sec
root@NPiN2ArmbNo2:~#



Results shows very big difference between No1 and No2

Now lets try with DietPi on NanoPi Neo2 No1:

Code: Select all

root@NPiN2DietPiNo1:~# hdparm /dev/sda1

/dev/sda1:
 multcount     = 16 (on)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 243200/255/63, sectors = 3907024002, start = 63

root@NPi2N2DietPiNo1:~# hdparm -t /dev/sda1

/dev/sda1:
 Timing buffered disk reads:   4 MB in  4.19 seconds = 976.91 kB/sec
root@NPi2N2DietPiNo1:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:   4 MB in  4.16 seconds = 984.49 kB/sec
root@NPi2N2DietPiNo1:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:   4 MB in  4.14 seconds = 988.64 kB/sec
root@NPi2N2DietPiNo1:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads:   4 MB in  4.15 seconds = 987.40 kB/sec
root@NPi2N2DietPiNo1:~#


Now DietPi again, this time on NanoPi Neo2 No2 (same microSD swapped between No1 and No2)

Code: Select all

root@NPi2N2DietPiNo2:~# hdparm /dev/sda1

/dev/sda1:
 multcount     = 16 (on)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 243200/255/63, sectors = 3907024002, start = 63
root@NPi2N2DietPiNo2:~# hdparm -t /dev/sda1

/dev/sda1:
 Timing buffered disk reads: 108 MB in  3.03 seconds =  35.67 MB/sec
root@NPi2N2DietPiNo2:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads: 104 MB in  3.04 seconds =  34.17 MB/sec
root@NPi2N2DietPiNo2:~# hdparm -t --direct /dev/sda1

/dev/sda1:
 Timing O_DIRECT disk reads: 112 MB in  3.03 seconds =  36.98 MB/sec
root@NPi2N2DietPiNo2:~#



DietPi results are the same with Armbian. I hope nobody insist that this is still due to difference in OS/Software.

NanoPi Neo2 No1 was used as a NAS for about a year. Can I expect the same may/can happen to the NanoPi Neo2 No2?
should not happen to NanoPi Neo2 No2, because I got 2 old Neo2 running ove a year and a LTS Neo2 1GB Ram now runjing for about 6 months.

Who is online

In total there are 41 users online :: 0 registered, 0 hidden and 41 guests (based on users active over the past 5 minutes)
Most users ever online was 5185 on Wed Jan 22, 2020 1:44 pm

Users browsing this forum: No registered users and 41 guests