Visionfive2 no 1Gbps eth only 100M

That are all not vald ways to measure network performance because protocols like SSH or SMB do add a lot of overhead. Install iperf3 and measure performance with that. Just start iperf3 -s
on your VF2 and on any other computer then do:

iperf3 -c <ip of the vf2>

I have done so and here are my measurements which are quite ok:

Connecting to host 192.168.1.3, port 5201
[  5] local 192.168.1.24 port 55260 connected to 192.168.1.3 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   107 MBytes   896 Mbits/sec  306    274 KBytes       
[  5]   1.00-2.00   sec   112 MBytes   938 Mbits/sec   55    235 KBytes       
[  5]   2.00-3.00   sec   109 MBytes   913 Mbits/sec   88    240 KBytes       
[  5]   3.00-4.00   sec   107 MBytes   899 Mbits/sec  132    263 KBytes       
[  5]   4.00-5.00   sec   108 MBytes   903 Mbits/sec  134    222 KBytes       
[  5]   5.00-6.00   sec   109 MBytes   913 Mbits/sec   93    259 KBytes       
[  5]   6.00-7.00   sec   109 MBytes   913 Mbits/sec  129    290 KBytes       
^C[  5]   7.00-7.84   sec  92.7 MBytes   927 Mbits/sec   39    240 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-7.84   sec   853 MBytes   912 Mbits/sec  976             sender
[  5]   0.00-7.84   sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated

Why you don’t see 1000 MBit/s here you might ask…well, also TCP as a protocol has some overhead. 1000 MBit/s are the gross rate, not the net one.

2 Likes

i no interessed @ banchmark test to obtain only big numbers… i need it to use in my infrastructure @ days operetionals… but if the boards give me more limitations to utilized it… @ full speed… no samba… no filezilla… i think it no interessed me… i use this tools all days… i have this infrastructure… and this board must be integrated into this enviroment… if this integration not possible… i thik use normale motherboard with X86_64 tech.

last one… normal share by 2 hosts Win10 cabled… into my lan… shared files over 80M/s… simple, fast,
If the semplicity is losted… the project not have sanse…
… visionfive is a fantastic board pheraps… i not need it…

Well, explanation has already been given by @cwt
It is totally ok, if only a specific application is of interest to you. But I do wonder why you did then buy a development board using a new ISA in the first place.
And it is clearly advertised as a such:
https://www.starfivetech.com/en/site/boards

make VisionFive 2 the best affordable RISC-V development board

2 Likes

You’re right about that. This board isn’t intended as a replacement for any x86 mini-PC or home server, not even close to the Raspberry Pi. It has limitations in both hardware and software. However, the purpose of this board is clearly for RISC-V development. If you try building a program or rebuilding the Linux kernel on this board (with NVMe), you’ll find its performance is surprisingly good, and memory usage during the build process is also efficient.

1 Like

oh…one addition…I can not second slow transfer rates in “practical applications”. Doing an scp from my work machine to the vf2:

linux-6.5.3.tar.xz                                                                          100%  133MB  24.7MB/s   00:05

That is quite near to what my work machine does with my intel atom based home server (which would be around 28 MB/s).

You may interested in this Does the openssl/libressl already use hardware crypto engine? - #23 by cwt

1 Like

mmmm i suppose you have a problem on your atom-board… today… 2 host with celeron J1900… and debian 11 run to 82M/s… with simple samba condivision…
in the future i return on this project…hoping… in a big step…

2years ago… i used a ASUS eeebox with Intel N450 or N455 i don’t remeber it, and gigabit ethernet… and a old Debian 9… same result had today… 80M/s… but is died… 365 24/24 after 4 years… bye bye

…“Now my rsync is 2.5x faster, but still slower than 100Mbit/s”…
i share my files over 11Megabyte per second whit Visionfive2 (for cleareance… stable into 11,8-11,9 Megabyte per second)… i sature all 100Mbit/s bandiwth… and you minus than me?? with this trick/configuration?! ok…
thankyou

As I said, the bottleneck is the OpenSSL that cannot utilized the hardware crypto acceleration. And that was 8 months ago! Things changed a lot on both kernel and userspace.

1 Like

ok ok… thanks a lot… but you post this answer to give me a partial solution… please take more attention in future

can you help me to close my account on your forum?
thanks a lot

Try here: https://forum.rvspace.org/tos#heading–your-account

If you do not warry about security , you can try old openssl with rc4(named acfour) .
And very old openssl have none-crypt will give you fastest connection. But I think It will not be built on “morden” linux. :sweat_smile:

1 Like

I install bftpd as the ftp server for transfering a large file without encryption.

For maximum speed I like a simple netcat (no encryption)
Destination machine:
cd /destination_folder ; nc -l -p 1234 | cpio -icdmula
Source machine::

cd /source_folder ; find . -xdev -print | cpio -coax | nc -w 3 [destination_IP_address] 1234

Or for the coolness factor try some taco bell programming
e.g.

cd /sourcefolder ; find . -type f -print0 | xargs -n1 -0 -P42 -Isupercalifragilisticexpialidocious scp -o "ControlMaster=YES" -o "ControlPersist=1m" /sourcefolder/supercalifragilisticexpialidocious remoteuser@remotemachine:/destinationfolder/supercalifragilisticexpialidocious

The above line should transfers 42 files at a time in parallel over 42 ssh connections which will use multiple CPU’s and reuse the existing ssh connections instead of wasting resources destroying and creating a new connection for each and every file. You can just bump up or down the random number I selected to tune the performance until either your source/destination CPU’s are overloaded or your network link is saturated :slight_smile: One of the three will be the bottleneck (source CPU/destination CPU/network link between machines).

1 Like

yeah… simply to use crossmode linux microsoft!!! ahahhahaha

In my opinion vf2 is really only for riscv enthusiast. The official software stack are still hacky at this point, and in some cases, non-performant. The kernel is based on 5.15.0, which doesn’t have a patch for memcpy/memmove in kernel, and is using unaligned memory access, which hurt performance a lot. Also there’s no vector extension in jh7110/vf2. I bought it just because I want to explore riscv, and a rpi3-ish speed is good enough for me.

Back to your question: make sure you use the latest release VisionFive 2 Debian Wiki - 202311 Release | RVspace flash it to an sdcard and boot from it. In this way you’ll be using U-boot/OpenSBI/kernel all from the latest release. There are code within u-boot to configure gmac and phy to different speed based on board revision, and there’s also code in u-boot to patch the device-tree, which gets passed to Linux kernel, and does some gmac quirk based on board revision.

Openssh use the ssh-protocol. If you have a lot of scripts with ssh to control/transport , use a old version is easy than re-wright scripts.

PS: ssh/scp can control machine & transport data with one protocol in one port. Someone need this to make their network “clean&simple”.

My choose is remove the USB HDD Box from VF2 and connect it to my x86 computer. :smile:

1 Like