10GbE in the DeskMini X300
As my little home server I have an Asrock DeskMini X300 with an AMD Ryzen 7 5700G (16 cores) and 64GB of memory. A nice low powered home server to play around with. Out of the box, the DeskMini comes with one 1 Gbit network interface (a Realtek chipset). Since most of my devices are connected via WiFi anyway, this was more than enough until now. But then, modernity arrived in my part of the world and we now have 10Gbit fiber internet, great!
10Gbit internet sounds awesome, however devices connected via WiFi will only ever see a real-world maximum of around 700 Mbits/sec via WiFi 6. But maybe my little DeskMini could use all that 10Gbit? Unfortunately, the DeskMini motherboard does not have any of the usual PCIe expansion slots apart from SATA and M.2 slots. So I decided to try the “IOCREST M.2 to Single 10G Ethernet Network Adapter (IO-M2F107-GLAN)” adapter (AliExpress link here), to see if that would work.
To be honest, I was skeptical if that thing was even gonna work at all. So once the card arrived I installed the network adapter in the M.2 slot next to the CPU cooler (it fits perfectly next to a Noctua NH-L9a-AM4) and moved my M.2 SSD to the M.2 slot at the back.
So when I booted the DeskMini the card immediately showed up as expected (I am using Fedora 39, kernel version 6.7.9-200.fc39.x86_64) in lspci
:
# lspci -vv
[..]
01:00.0 Ethernet controller: Aquantia Corp. AQtion AQC107 NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G] (rev 02)
Subsystem: Aquantia Corp. Device 0001
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
[..]
Capabilities: [40] Express (v2) Endpoint, IntMsgNum 0
[..]
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s unlimited, L1 unlimited
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 8GT/s, Width x2 (downgraded)
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
[..]
Kernel driver in use: atlantic
Kernel modules: atlantic
Note that LnkSta
shows as downgraded
, we seem to be running with 2x speed instead of 4x. However, ethtool
was showing that the card was running the full 10Gbit/s once I connected it to the 10G port on the router:
$ ethtool enp1s0
Settings for enp1s0:
Supported ports: [ TP ]
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
2500baseT/Full
5000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
2500baseT/Full
5000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 10000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
MDI-X: Unknown
netlink error: Operation not permitted
Current message level: 0x00000005 (5)
drv link
Link detected: yes
Very nice. I then put the DeskMini back together and routed the connection cable outside. I still have to come up with a good solution on where to put the RJ45 connector, but for now it lives outside the case:
Performance-wise, it looks … fine? Typically I get around 6.5 – 7.5 Gbits/sec with iperf3
. I think the below numbers are more related to my shared XGS-PON internet connection than the performance of the device and will vary throughout the day:
$ iperf3 -P 4 -c speedtest.init7.net
Connecting to host speedtest.init7.net, port 5201
[..]
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 7.00-8.00 sec 226 MBytes 1.90 Gbits/sec 0 3.15 MBytes
[ 7] 7.00-8.00 sec 223 MBytes 1.87 Gbits/sec 0 3.15 MBytes
[ 9] 7.00-8.00 sec 220 MBytes 1.85 Gbits/sec 0 5.49 MBytes
[ 11] 7.00-8.00 sec 222 MBytes 1.86 Gbits/sec 0 5.03 MBytes
[SUM] 7.00-8.00 sec 891 MBytes 7.48 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 5] 8.00-9.00 sec 226 MBytes 1.90 Gbits/sec 0 3.15 MBytes
[ 7] 8.00-9.00 sec 223 MBytes 1.87 Gbits/sec 0 3.15 MBytes
[ 9] 8.00-9.00 sec 222 MBytes 1.86 Gbits/sec 0 5.49 MBytes
[ 11] 8.00-9.00 sec 223 MBytes 1.87 Gbits/sec 0 5.03 MBytes
[SUM] 8.00-9.00 sec 894 MBytes 7.50 Gbits/sec 0
- - - - - - - - - - - - - - - - - - - - - - - - -
[..]
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.16 GBytes 1.86 Gbits/sec 0 sender
[ 5] 0.00-10.01 sec 2.16 GBytes 1.85 Gbits/sec receiver
[ 7] 0.00-10.00 sec 2.12 GBytes 1.82 Gbits/sec 0 sender
[ 7] 0.00-10.01 sec 2.12 GBytes 1.82 Gbits/sec receiver
[ 9] 0.00-10.00 sec 2.12 GBytes 1.82 Gbits/sec 1 sender
[ 9] 0.00-10.01 sec 2.12 GBytes 1.81 Gbits/sec receiver
[ 11] 0.00-10.00 sec 2.13 GBytes 1.83 Gbits/sec 0 sender
[ 11] 0.00-10.01 sec 2.13 GBytes 1.83 Gbits/sec receiver
[SUM] 0.00-10.00 sec 8.53 GBytes 7.33 Gbits/sec 1 sender
[SUM] 0.00-10.01 sec 8.53 GBytes 7.32 Gbits/sec receiver
So I am quite happy with that IOCREST M.2 10Gbit network card so far, a good option if you want to add 10GbE connectivity to your Asrock DeskMini.