eth1 (2.5) vanished: Upgrade to 20.11.3 / 5.9.14-rockchip64


Recommended Posts

Well I did a fresh install of Armbian_20.11.6_Helios64_buster_current_5.9.14.img (didn't try to update) and hammered the disks and 2.5g network for about a day now and no tx resets or timeouts happened at all. No disconnects or hang ups.



Link to post
Share on other sites
Donate and support the project!

On the off chance something there's something different from that image that @clostro mentioned to mine, I tried the same with a separate SD card. No change: eth1 with 2.5Gbps broke down within 10 seconds of the Helios64 sending my desktop machine data via iperf3, just as described before. The only thing I changed after setting the root passwd was setting up a static IP address for eth1 via nmcli. So back to 1Gbps it is.

Link to post
Share on other sites

I guess your tx offload is off as well since it is set that way by default but could you try again with 'ethtool -K eth1 tx off'? Asking just in case. Got the tx resets and hang ups again when I switched it back on and initiated a large transfer to see what happens with the new build.

Link to post
Share on other sites

I've had similar problems with the 2.5GB NIC, even with no load.

Pinging from my PC to the NAS shows gaps during which the NIC is unreachable.

Even this morning, with the very latest armbian image (Armbian_20.11.6_Helios64_buster_current_5.9.14.img), right after the first boot, nothing installed yet, I couldn't even get "apt update" to complete.

Four times in a row, apt complained it couldn't download some lists (never twice the same) or couldn't locate a server (my Pi-Hole logs show every DNS request was fulfilled).

I switched back tp the 1GB NIC and everything works like a charm.

It was the same with the two previous images. Ping reports from my PC consistently show between 8% and 20% dropped packets when using the 2.5GB NIC.

Link to post
Share on other sites

Yes, it's off. "ethtool -K eth1 tx off" produced no output and it gave up just a few seconds after the transfer started. Forcing tx offload on and off again (should we really trust the driver to report the current setting?) didn't improve things. Yesterday I fiddled around with disabling autosuspend on the usb ports and devices in /sys in case it's some weird issue like that - no improvement.


However, I've found that changing the advertised speeds for autonegotiation on my desktop's side (removing the bit for 2.5Gbps, for example) causes the link to go down for a few seconds and then back up - that's picked up by the Helios64's eth1 and it goes back to a stable 1Gbps connection. So at least eth1 can be resurrected without a full NAS reboot in a few seconds' time.

Link to post
Share on other sites

Yeah, I'm back to the 1gbps port too... Pushed over 3 TB of data on to the device from multiple sources simultaneously the other day and haven't had a single error.

With the previous stable builds it used to throw errors quite often during transfers, so when I didn't see any errors with the new one I figured the problem must have been fixed.

Today I'm loosing eth1 completely even without exerting much of a load. Maybe its because I'm pulling data from the device today instead of pushing. They are tx errors after all and not rx.



Link to post
Share on other sites

@gprovost Hi, my Helios64 is connected to a Zyxel XGS1010-12 switch on its 2.5gbps ports via a CAT5E 26AWG metal jacket cable. On the pc side I have the sabrent 2.5g usb network adapter, again connected to the other 2.5gbps port. I think sabrent usb adapter has the same controller as the Helios64. 



PS C:> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Ethernet 2                Realtek USB 2.5GbE Family Controller         16 Up           00-24-27-88-0B-5A       2.5 Gbps
ZeroTier One [93afae59... ZeroTier Virtual Port                        15 Up           2A-AE-7A-A6-B8-55       100 Mbps
ZeroTier One [af78bf94... ZeroTier Virtual Port #2                     53 Up           62-D9-06-F3-75-44       100 Mbps
VirtualBox Host-Only N... VirtualBox Host-Only Ethernet Adapter        12 Up           0A-00-27-00-00-0C         1 Gbps
Wi-Fi                     Intel(R) Wi-Fi 6 AX200 160MHz                11 Disconnected 50-E0-85-F5-02-3A          0 bps
Ethernet                  Intel(R) I211 Gigabit Network Connec...       4 Disconnected B4-2E-99-8E-1D-2E          0 bps

PS C:> Get-NetAdapterAdvancedProperty "Ethernet 2"

Name                      DisplayName                    DisplayValue                   RegistryKeyword RegistryValue
----                      -----------                    ------------                   --------------- -------------
Ethernet 2                Energy-Efficient Ethernet      Disabled                       *EEE            {0}
Ethernet 2                Flow Control                   Rx & Tx Enabled                *FlowControl    {3}
Ethernet 2                IPv4 Checksum Offload          Rx & Tx Enabled                *IPChecksumO... {3}
Ethernet 2                Jumbo Frame                    Disabled                       *JumboPacket    {1514}
Ethernet 2                Large Send Offload v2 (IPv4)   Enabled                        *LsoV2IPv4      {1}
Ethernet 2                Large Send Offload v2 (IPv6)   Enabled                        *LsoV2IPv6      {1}
Ethernet 2                ARP Offload                    Enabled                        *PMARPOffload   {1}
Ethernet 2                NS Offload                     Enabled                        *PMNSOffload    {1}
Ethernet 2                Priority & VLAN                Priority & VLAN Enabled        *PriorityVLA... {3}
Ethernet 2                Selective suspend              Enabled                        *SelectiveSu... {1}
Ethernet 2                Speed & Duplex                 Auto Negotiation               *SpeedDuplex    {0}
Ethernet 2                SS idle timeout                5                              *SSIdleTimeout  {5}
Ethernet 2                SS idle timeout(Screen off)    3                              *SSIdleTimeo... {3}
Ethernet 2                TCP Checksum Offload (IPv4)    Rx & Tx Enabled                *TCPChecksum... {3}
Ethernet 2                TCP Checksum Offload (IPv6)    Rx & Tx Enabled                *TCPChecksum... {3}
Ethernet 2                UDP Checksum Offload (IPv4)    Rx & Tx Enabled                *UDPChecksum... {3}
Ethernet 2                UDP Checksum Offload (IPv6)    Rx & Tx Enabled                *UDPChecksum... {3}
Ethernet 2                Wake on Magic Packet           Enabled                        *WakeOnMagic... {1}
Ethernet 2                Wake on pattern match          Enabled                        *WakeOnPattern  {1}
Ethernet 2                Advanced EEE                   Disabled                       AdvancedEEE     {0}
Ethernet 2                Green Ethernet                 Enabled                        EnableGreenE... {1}
Ethernet 2                Idle Power Saving              Enabled                        EnableU2P3      {1}
Ethernet 2                Gigabit Lite                   Enabled                        GigaLite        {1}
Ethernet 2                Network Address                                               NetworkAddress  {--}
Ethernet 2                VLAN ID                        0                              VlanID          {0}
Ethernet 2                Wake on link change            Enabled                        WakeOnLinkCh... {1}
Ethernet 2                WOL & Shutdown Link Speed      10 Mbps First                  WolShutdownL... {0}



Link to post
Share on other sites


My network setup regarding the Helios64:

1: Helios64 eth0 <--> noname  noname Gigabit switch <--> my internal network, router etc <--> my desktop machine, onboard 1Gbps ethernet port (enp7s0), Intel i211, kernel module igb. Used for ssh connection to trigger iperf3 to go through eth1. MTU 1500.

2: Helios64 eth1 <--> 5m Cat 6 ethernet cable <--> my desktop machine, 2.5Gbps ethernet port (enp6s0), Realtek RTL8125, vanilla kernel module r8169. Nothing but static IP address assignments from the same subnet, (different subnet compared to 1). MTU 1500.


My desktop PC has both its ethernet ports on the mainboard itself, no USB devices are involved on that side. The mainboard is an ASUS "ROG STRIX X570-E GAMING" with the latest non-beta BIOS as of 2020-01-11.


To toggle the 2.5Gbps speed between H64 eth1 and my desktop's enp6s0, I run the following commands on my desktop:

ethtool -s enp6s0 advertise 0x80000000002f # 2.5Gbps
ethtool -s enp6s0 advertise 0x3f # 1Gbps

Increasing the MTUs for the direct 2.5Gbps connections to 9124 significantly increases the effective H64 -> desktop througput from ~1.5Gbps to ~2Gbps, but it also "kills" the H64's eth1 much quicker, I feel. Then again, because the stability seems completely random to begin with, that may just be my imagination.

Link to post
Share on other sites