1

I recently acquired a zimacube - its a N100 based NAS system. I've wiped the preinstalled zimaos and run a minimal install of ubuntu server 24.04 and made the usual changes I do on my builds for multigig support - adjusting sysctl as per this answer.

Its running the 'standard' not HWE kernel - and the full distro and kernel information is as below.

geek@zimanas1:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04 LTS
Release:        24.04
Codename:       noble

geek@zimanas1:~$ uname -r 6.8.0-36-generic

I'm currently speed/capacity testing one of the onboard I226-V and the bundled AQC113. Each has its own (currently dynamic, but stable) IP. If I turn on the system, or reboot without the I226-V plugged into the network - I am unable to connect to the AQC113. The AQC113 comes up immediately on the I226V being connected. I can't ping the system if the I226V is unplugged even on the AQC113's IP at any time.

If it matters there's an 'x16' (at x2?) port and 'x4' at (x1?) port, and the AQC 113 is plugged into the 'x16' port When it functions, I'm able to get 10 gig speeds.

ip addr output

^Cgeek@zimanas1:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:e0:4c:0f:0e:b2 brd ff:ff:ff:ff:ff:ff
3: enp14s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
    link/ether 88:c9:b3:b3:0d:ef brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.155/24 metric 100 brd 192.168.2.255 scope global dynamic enp14s0
       valid_lft 3470sec preferred_lft 3470sec
    inet6 fe80::8ac9:b3ff:feb3:def/64 scope link
       valid_lft forever preferred_lft forever
4: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:e0:4c:0f:0e:b1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.152/24 metric 100 brd 192.168.2.255 scope global dynamic enp4s0
       valid_lft 3576sec preferred_lft 3576sec
    inet6 fe80::2e0:4cff:fe0f:eb1/64 scope link
       valid_lft forever preferred_lft forever

The dmesg output seems to hint that the link speed is set to zero until just before the onboard/intel NIC is plugged in - I can reliably do this on reboot.

[   26.391395] atlantic 0000:0e:00.0 enp14s0: atlantic: link change old 0 new 10000
[   34.927124] igc 0000:04:00.0 enp4s0: NIC Link is Up 2500 Mbps Full Duplex, Flow Control: RX/TX

The adaptor is also mentioned around here

  0.906666] pps pps1: new PPS source ptp1
[    0.906929] igc 0000:04:00.0 (unnamed net_device) (uninitialized): PHC added
[    0.907557] atlantic: Detect ATL2FW 1050026
[    0.913016] nvme nvme0: 4/0/0 default/read/poll queues
[    0.917101]  nvme0n1: p1 p2
[    0.929721] igc 0000:04:00.0: 4.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x1 link)
[    0.929734] igc 0000:04:00.0 eth2: MAC: 00:e0:4c:0f:0e:b1

If its needed my netplan configuration looks like this

network:
    ethernets:
        enp3s0:
            dhcp4: true
            optional: true
            ignore-carrier: true
        enp4s0:
            dhcp4: true
            optional: true
            ignore-carrier: true
        enp14s0:
            dhcp4: true
            optional: true
            ignore-carrier: true
            mtu: "9000"
    version: 2
    wifis: {}

Here's my LSHW output for networks -

geek@zimanas1:~$ sudo lshw -c network
  *-usb:0 DISABLED
       description: Wireless interface
       product: 802.11n WLAN NIC
       vendor: Realtek
       physical id: 3
       bus info: usb@1:3
       logical name: wlx90de8051c3c1
       version: 0.00
       serial: 90:de:80:51:c3:c1
       capabilities: usb-2.00 ethernet physical wireless
       configuration: broadcast=yes driver=rtl8xxxu driverversion=6.8.0-36-generic firmware=N/A link=no maxpower=500mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11
  *-network
       description: Ethernet interface
       product: Ethernet Controller I226-V
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: enp3s0
       version: 04
       serial: 00:e0:4c:0f:0e:b2
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=igc driverversion=6.8.0-36-generic firmware=2017:888d latency=0 link=no multicast=yes port=twisted pair
       resources: irq:16 memory:81200000-812fffff memory:81300000-81303fff memory:81100000-811fffff
  *-network
       description: Ethernet interface
       product: Ethernet Controller I226-V
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: enp4s0
       version: 04
       serial: 00:e0:4c:0f:0e:b1
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=igc driverversion=6.8.0-36-generic duplex=full firmware=2017:888d ip=192.168.2.152 latency=0 link=yes multicast=yes port=twisted pair
       resources: irq:18 memory:80f00000-80ffffff memory:81000000-81003fff memory:80e00000-80efffff
  *-network
       description: Ethernet interface
       product: AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G]
       vendor: Aquantia Corp.
       physical id: 0
       bus info: pci@0000:0e:00.0
       logical name: enp14s0
       version: 03
       serial: 88:c9:b3:b3:0d:ef
       size: 10Gbit/s
       capacity: 10Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp 10bt-fd 100bt-fd 1000bt-fd 10000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=atlantic driverversion=6.8.0-36-generic duplex=full firmware=1.5.38 ip=192.168.2.155 latency=0 link=yes multicast=yes port=twisted pair speed=10Gbit/s
       resources: irq:18 memory:80c00000-80c7ffff memory:80ca0000-80ca0fff memory:80800000-80bfffff memory:80c80000-80c9ffff

When it works, the 10 gig card appears to work perfectly fine - its the link speed being set to 0 until the other adaptor is plugged in that's confusing. At some times though I've data going through at 2.5gigs, which incidentally is the speed of the other card.

How do I get my AQC113 to stay up?

Journeyman Geek
  • 133,878

1 Answers1

0

I vaguely remembered reading somewhere that windows set metrics for multigig connections as lower than gigabit - and it did feel like maybe linux was prioritising the 2.5 gig connection over the 10 gig.

Looking at my ip addr output, I noticed both the 10 gig and 2.5 gig connections were at the same metric. I'm not sure why the system went "2.5 gig or bust" or occasionally seemed to send data over one and not the other, but its possible it decided the 2.5 gig connection had a higher priority than the 10 gig despite identical metrics.

Logically the 2.5 gig adaptor shouldn't affect the 10 gig one, and I don't actually know why this should matter or even works.

I ended up explicitly setting a metric for each adaptor which seems to have fixed it. In theory this might break the network on current build should I have only the 2.5 gig adaptor plugged in, but I'm unlikely to remove the 10 gig card from this - this is the netplan configuration I ended up with and it appears to work reliably.

network:
    ethernets:
        enp3s0:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 200
            optional: true
            match:
                macaddress: 00:e0:4c:0f:0e:b2
        enp4s0:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 200
            optional: true
            match:
              macaddress: 00:e0:4c:0f:0e:b1
        enp14s0:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 100
            match:
               macaddress: 88:c9:b3:b3:0d:ef
            optional: true
            mtu: "9000"
    version: 2
    wifis: {}
Journeyman Geek
  • 133,878