Jump to content

2.5Gbps port, or USB 1Gbps Startech unlink during transfers


Demodude123

Recommended Posts

I'm on the Ubuntu focal release for the Helios64: Kernel: 5.8.14-rockchip64

 

If I try transferring between the 2.5Gbps port and my computer, either linked at 2.5Gbps or 1Gbps, will unlink. I tried with a StarTech USB 3.0 port, linking at 1Gbps, and the same issue occurs, leading me to believe it's a software issue with the USB driver.

 

lsusb -t, with the startech plugged in:

root@helios64:/helios# lsusb -t
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 1: Dev 5, If 0, Class=Vendor Specific Class, Driver=ax88179_178a, 5000M
        |__ Port 2: Dev 4, If 0, Class=Mass Storage, Driver=uas, 5000M
        |__ Port 4: Dev 3, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
root@helios64:/helios# 
[0] 0:bash- 1:bash*                

 

What I see with iperf:

 

                                                                               │Accepted connection from 192.168.1.20, port 56104
iperf Done.                                                                    │[  5] local 192.168.1.10 port 5201 connected to 192.168.1.20 port 56106
justin@justin-3900x:~$ iperf3 -c 192.168.1.10                                  │[ ID] Interval           Transfer     Bitrate
Connecting to host 192.168.1.10, port 5201                                     │[  5]   0.00-1.00   sec   251 MBytes  2.10 Gbits/sec                  
[  5] local 192.168.1.20 port 56106 connected to 192.168.1.10 port 5201        │[  5]   1.00-2.00   sec   281 MBytes  2.36 Gbits/sec                  
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd               │[  5]   2.00-3.00   sec   276 MBytes  2.32 Gbits/sec                  
[  5]   0.00-1.00   sec   258 MBytes  2.16 Gbits/sec    0   1.48 MBytes        │[  5]   3.00-4.00   sec   275 MBytes  2.30 Gbits/sec                  
[  5]   1.00-2.00   sec   278 MBytes  2.33 Gbits/sec    0   1.48 MBytes        │[  5]   4.00-5.00   sec   281 MBytes  2.36 Gbits/sec                  
[  5]   2.00-3.00   sec   276 MBytes  2.32 Gbits/sec    0   1.48 MBytes        │[  5]   5.00-6.00   sec   281 MBytes  2.35 Gbits/sec                  
[  5]   3.00-4.00   sec   278 MBytes  2.33 Gbits/sec    0   1.48 MBytes        │[  5]   6.00-7.00   sec   281 MBytes  2.35 Gbits/sec                  
[  5]   4.00-5.00   sec   278 MBytes  2.33 Gbits/sec    0   1.48 MBytes        │[  5]   7.00-8.00   sec   281 MBytes  2.35 Gbits/sec                  
[  5]   5.00-6.00   sec   281 MBytes  2.36 Gbits/sec    0   1.48 MBytes        │[  5]   8.00-9.00   sec   276 MBytes  2.31 Gbits/sec                  
[  5]   6.00-7.00   sec   280 MBytes  2.35 Gbits/sec    0   1.48 MBytes        │[  5]   9.00-10.00  sec   268 MBytes  2.25 Gbits/sec                  
[  5]   7.00-8.00   sec   281 MBytes  2.36 Gbits/sec    0   1.48 MBytes        │[  5]  10.00-10.00  sec   395 KBytes  2.40 Gbits/sec                  
[  5]   8.00-9.00   sec   279 MBytes  2.34 Gbits/sec    0   1.48 MBytes        │- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   9.00-10.00  sec   265 MBytes  2.22 Gbits/sec    0   1.48 MBytes        │[ ID] Interval           Transfer     Bitrate
- - - - - - - - - - - - - - - - - - - - - - - - -                              │[  5]   0.00-10.00  sec  2.69 GBytes  2.31 Gbits/sec                  receiver
[ ID] Interval           Transfer     Bitrate         Retr                     │-----------------------------------------------------------
[  5]   0.00-10.00  sec  2.69 GBytes  2.31 Gbits/sec    0             sender   │Server listening on 5201
[  5]   0.00-10.00  sec  2.69 GBytes  2.31 Gbits/sec                  receiver │-----------------------------------------------------------
                                                                               │Accepted connection from 192.168.1.20, port 56110
iperf Done.                                                                    │[  5] local 192.168.1.10 port 5201 connected to 192.168.1.20 port 56112
justin@justin-3900x:~$ iperf3 -c 192.168.1.10 -R                               │[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
Connecting to host 192.168.1.10, port 5201                                     │[  5]   0.00-1.00   sec   153 MBytes  1.29 Gbits/sec    0   1.41 KBytes       
Reverse mode, remote host 192.168.1.10 is sending                              │[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5] local 192.168.1.20 port 56112 connected to 192.168.1.10 port 5201        │[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[ ID] Interval           Transfer     Bitrate                                  │[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   0.00-1.00   sec   150 MBytes  1.26 Gbits/sec                           │[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec                             │[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec                             │[  5]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec                             │[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec                             │[  5]   8.00-9.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec                             │[  5]   9.00-10.00  sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec                             │- - - - - - - - - - - - - - - - - - - - - - - - -
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec                             │[ ID] Interval           Transfer     Bitrate         Retr
[  5]   8.00-9.00   sec  0.00 Bytes  0.00 bits/sec                             │[  5]   0.00-10.00  sec   153 MBytes   129 Mbits/sec    0             sender
                                                                               │

 

sudo ethtool -K eth1 tx off - this does lower the speed as expected, but it will still unlink after some time. I've also had times where iperf3 works fine, but then doing a smb share, it lasts for just a few seconds before the link dies.

 

Any idea? If it's happening to both the startech and the internal realtek usb, I'm not sure where the software issue is...

 

armbianmonitor -u

http://ix.io/2Etm

Edited by Demodude123
add armbian upload
Link to comment
Share on other sites

  • Demodude123 changed the title to 2.5Gbps port, or USB 1Gbps Startech unlink during transfers

A bit hard based on your message to know clearly what is connected to what at which link speed.

 

12 hours ago, Demodude123 said:

I tried with a StarTech USB 3.0 port, linking at 1Gbps, and the same issue occurs, leading me to believe it's a software issue with the USB driver.

 

Hmmm that's interesting info.

 

Do you see the same issue (link drop during smb access) when using the Helios64 1GbE port ? Just to arrow down the problem to purely USB-to-LAN.

 

Going to try to same thing on my side i have similar adapter based ax88179_178a

Link to comment
Share on other sites

I see the issue in all 'USB'-backed combos. It happens on the 2.5Gbps linked at 2.5Gbps, the 2.5Gbps linked at 1Gbps, and to a startech usb3 1Gbps plugged into any port on the helios, linked at 1Gbps.

 

My tower has a PCIe 2.5GBps and a 1Gbps built into the motherboard. I saw this result with both. My tower runs Ubuntu 20.04 stable with the 5.4 kernel. I've never had network issues with it.

 

Since the Helios64 2.5Gbps is run off the USB, that leads me to believe there's something wrong with the kernel/usb driver. (since both the USB backed 2.5Gbps and an external USB Startech 1Gbps have the issue).

 

For what it's worth - I have not performed the 1Gbps performance fix mentioned in the latest blog.

 

You should be able to recreate with a few iperf3's back to back. One direction will always succeed, pulling nearly 2.5Gbps, and the other will fail after a few tries.

Edited by Demodude123
Link to comment
Share on other sites

I was able to recreate this with the latest test build: Armbian_20.11.0-trunk.32_Helios64_focal_current_5.9.8.img.xz - and put it on an SD card.

 

I did compile and install zfs, but then tried iperf3 tx. Here's my armbianmonitor -u stats. It includes a kernel panic in dmesg against the r8152 driver. After which, the iperf3 drops to 0bits, restarts the NIC, the transfer continues, but keeps crashing over and over, until it gives up.

 

http://ix.io/2F07

Link to comment
Share on other sites

Have you tried with Kernel 4.4 ?

 

For me it still looks like issue related to TX checksum offload not working properly on LK5.x

 

I cannot reproduce the issue on my setups.

 

Can you post some iperf output of the USB Startech 1Gbps issue. When doing the iperf test with the USB Startech 1Gbps please insure the 2.5GbE is disconnected, just to be sure traffic is transiting only through the Startech adapter.

 

 

Link to comment
Share on other sites

I think I had a double issue. I have a realtek card from the same family in the desktop I am testing. I think my desktop needs the https://github.com/igorpecovnik/realtek-r8152-linux patch.

 

For now, I've switched cables around so I can use the 2.5Gps port at 100MBps at our home lan, and the 1Gps port directly into my motherboard port. The 2.5G card in the desktop is a pcie card.

 

I'll keep it this way until the TX checksum offload issue is resolved. Thanks for your help.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines