VIM 3 PRO Ethernet Speed Problem

Hello. I have a VIM 3 PRO board and I should make embedded system with this board on Linux operating system with 5.x.x or newer kernel. I noticed that there is a problem with gigabit ethernet RX speed, when I used linux kernel v. 5 or newer (the RX speed = 283 Mbit/s). This problem was not, when I checked it on Linux with 4.x.x kernel version. I also checked khadas vim 3 firmware (VIM3_Ubuntu-gnome-focal_Linux-5.7-rc7_arm64_SD-USB_V0.9-20200530, VIM3_Ubuntu-xfce-bionic_Linux-5.5-rc2_arm64_SD-USB_V0.8.2-20200103) and have the same results - slow gigabit ethernet RX speed. Can you help me with this problem? Maybe there is an optimal config for linux kernel v 5 or newer?

I’m having the same issue with a brand new VIM3 Pro board on Debian 10 (Fenix 0.9.3) with linux 5.9 rc2.
I originally assumed that it was due to extensive heat emission, but after adding a passive cooler the problem persisted.
This problem does not seem to occur instantly, but only after either a bit of uptime or a bit of traffic that went through, I wasnt able to determine exactly what causes the issue. It shows especially when downloading packages via apt, but also occured when running a speedtest via iperf in some situations. Upload does not seem to be affected, but download is slowed down to an abysmal speed of ~1kb/s. The weird thing is that the issue sometimes just disappears again as if nothing happened. Sometimes it needs a reboot or power cycle (reconnect the power cable) though to disappear. This is also an indicator that this is not heat-related.
Neither host-RAM was notably full, according to free, nor was any CPU core notably busy.
Kernel log (dmesg) was unsuspiciously empty so there doesn’t seem to be a crash-problem with the Linux kernel driver.
Also eMMC storage wasn’t slow so it does not seem to be a general i/o issue.
I debugged this a bit further by stracing the iperf server process while I experienced the error again:
The iperf client sent it’s packets and printed the speed test result, while the iperf process in server mode including the stdout output printing got stuck waiting for an interrupt pasted below. It wasnt possible to exit the iperf server via ctrl+c, only killing the process with sigkill was worked.
The said interrupt that was stuck according to strace:

futex(0xaaaac24ab398, FUTEX_WAIT_PRIVATE, 0, NULL

@ilgiz which is your board model ? V12 or V13? I will check it

I checked the version. My board is V12 version

Are you checked this? What about results?

@ilgiz I will check it today or tomorrow … I am working on other issues

@ilgiz

khadas@Khadas:~$ iperf3 -c 192.168.1.117 
Connecting to host 192.168.1.117, port 5201
[  5] local 192.168.1.151 port 38468 connected to 192.168.1.117 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   113 MBytes   950 Mbits/sec    0    351 KBytes       
[  5]   1.00-2.00   sec   112 MBytes   940 Mbits/sec    0    368 KBytes       
[  5]   2.00-3.00   sec   111 MBytes   935 Mbits/sec    0    368 KBytes       
[  5]   3.00-4.00   sec   112 MBytes   940 Mbits/sec    0    368 KBytes       
[  5]   4.00-5.00   sec   112 MBytes   942 Mbits/sec    0    390 KBytes       
[  5]   5.00-6.00   sec   111 MBytes   935 Mbits/sec    0    390 KBytes       
[  5]   6.00-7.00   sec   112 MBytes   938 Mbits/sec    0    390 KBytes       
[  5]   7.00-8.00   sec   112 MBytes   940 Mbits/sec    0    390 KBytes       
[  5]   8.00-9.00   sec   113 MBytes   944 Mbits/sec    0    390 KBytes       
[  5]   9.00-10.00  sec   112 MBytes   936 Mbits/sec    0    530 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   938 Mbits/sec                  receiver

iperf Done.
khadas@Khadas:~$ ^C
khadas@Khadas:~$ iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.117, port 59736
[  5] local 192.168.1.151 port 5201 connected to 192.168.1.117 port 59738
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   104 MBytes   872 Mbits/sec                  
[  5]   1.00-2.00   sec   105 MBytes   878 Mbits/sec                  
[  5]   2.00-3.00   sec   104 MBytes   868 Mbits/sec                  
[  5]   3.00-4.00   sec   103 MBytes   866 Mbits/sec                  
[  5]   4.00-5.00   sec   104 MBytes   874 Mbits/sec                  
[  5]   5.00-6.00   sec   105 MBytes   879 Mbits/sec                  
[  5]   6.00-7.00   sec   103 MBytes   867 Mbits/sec                  
[  5]   7.00-8.00   sec   105 MBytes   885 Mbits/sec                  
[  5]   8.00-9.00   sec   106 MBytes   889 Mbits/sec                  
[  5]   9.00-10.00  sec   105 MBytes   882 Mbits/sec                  
[  5]  10.00-10.00  sec   313 KBytes   837 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.02 GBytes   876 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
^Ciperf3: interrupt - the server has terminated

This is my test result . It work fine. Can you burn a android firmarre to check the internet ? This helps us confirm whether it is a hardware problem.

Thank you for work. Can you send me the linux kernel config, which you used, or firmware name from khadas website? My board can give results like yours only with v 4 linux kernel.

I have the same issue with the V13 version actually.

@ilgiz same firmwre with you . Can you try to burn a andoroid firmware and try again ?

We checked on another board and it works ok. It was a defective device.

@ilgiz OK, Our after-sales colleagues will send you a private message.

1 Like