Now that the cooler has been modified to fit properly and I’ve confirmed via HWiNFO that extreme temperatures don’t occur – at least under light load, I turned my attention to the firmware:
The Marvell/Aquantia controllers have internal firmware that can be updated. Issues are still being fixed to this day, and it’s highly recommended to flash the latest firmware version, even if that entails certain risks. The update is (only?) possible under Windows, so it makes sense for me to do this now, before Proxmox and thus Debian is running on the mini-PCs.
There are good resources for the Aquantia controllers at station-drivers.com
Update Process
I was a little worried, after all, you can easily render the module unusable if something goes wrong. It’s similar to a BIOS or UEFI update during a power outage.
That’s why I updated in two steps: first to version 1.5.38 using the official Marvell firmware updater and then a small step up to 1.5.45 using the modified updater from station-drivers.com. Both are available for download there, along with a detailed forum thread:
Download v1.5.38 (Official)
Download v1.5.45 (Mod)
Forum thread
The release notes are also interesting; there have been a lot of improvements over the years, thanks to Marvell / Aquantia:
FW version 1.5.45 for Marvell AQC113 Family of Controllers
==============================================
1.5.45
?
-------
* Updates the PCIe Gen3 x4 advertisement information.
* Tunes the PCIe memory timing for 0.7 V power supply.
* Sets hysteresis to 50 mV.
* Provides SRAM ECC protection.
* Restricts the presets to used only P4-P9.
1.5.38
27 February 2024
-------
* Bypassed automatic execution of PCIe Configuration from Bootloader.
* PCIe Serdes Firmware integrated into MAC Firmware image and loaded during cold boot.
* PCIe initialization triggered from MAC Firmware.
* ROMBIN atlantic2 set to Antigua_1_5_xxx_487
1.3.37
31 October 2023
-------
* Signed PXE ROM v3.1.106 with EFI v2.1.13 FW
* Added fix for Pre-Boot DMA protection
1.3.36
31 October 2023
-------
* Signed PXE ROM v3.1.105 with EFI v2.1.12 FW
* Added boot time optimization and check for cable detect status - fix for Lenovo
1.3.34
3 February 2023
-------
* Reverted the change of loading the PCIe PHY FW to PCIe PHY SRAM (Change introduced in 1.3.29).
The PHY FW will be loaded from PCIe PHY ROM as it was before
1.3.28
8 April 2022
------------
* Added Advertize 2.5 and 5G NBase-T speed capabilities
* Added AQC113 device ID 0x34C0 to inventory list
1.3.27
18 March 2022
------------
* OEM specific release
* exluded SerDes FW to 3.5.0
* Added configuration to enable SRAM ECC detection and correction
1.3.26
23 feb 2022
------------
* OEM specific release
* Added CFG TLV configuration changes(need your input)
1.3.25
16 feb 2022
------------
* OEM specific release
* Fixed the unintended Wake-On-Link-Up behavior on the Mac-OS environment.
* Fixed the issue of untimely wake-up from Wake-On-Timer.
1.3.24
08 feb 2022
------------
* Updated the SerDes FW to 3.5.0
* Limited the PCIe preset mask to p4-p9 for Gen3 and Gen4
1.3.23
15 jan 2022
------------
* Introduced additional provisionable PCIe configuration mode to workaround PCIe instability observed on some platforms
Relevance- AQC113C
1.3.22
5 jan 2022
------------
* Removed default advertisement of GARP and Unsolicited NA in Sleep Proxy mode. The driver can use the new capability mask bit in the offload-control register to control this feature
* Do not wait for 20sec (linklatchuptimeout) to enable Wakeonlinkup if the link is down at the time of suspend/sleep
* Removed the extra link flap on Wake-on-link. And when the system wakes up, initialize the link at the highest possible speed
Relevance: fast-boot mode
1.3.21
11 nov 2021
------------
* Updated PCIe VPD data
Relevance: images with PCIe VPD support
* Added support for drvdiag -s in PCIROM v3.1.4 UEFI driver
Relevance: UEFI
1.3.20
16 oct 2021
------------
* OEM specific release with specific provisioning
1.3.19
-----------
* Skipped version
1.3.18
02 july 2021
------------
* Fixed the issue of incorrect packet statistics counters reported by fw
* Removed 1G half duplex speed advertisement from the speed capability configuration
* Fixed the invalid speed advertisement
Relevance: AQC115C-B1
* Fixed the wrong led behavior at 2.5G speed
Relevance: AQC115C
1.3.17
23 apr 2021
-----------
* Added firmware support to disable NCSI via BDP provisioning
* Fixed longer link downtime during os suspend to resume transition in fast-boot mode
1.3.16
13 apr 2021
-----------
* Fixed the TFTP pxe boot failure due to failure to acknowledge Ock/Oack
Relevance: FW images with PCIe option rom support
1.3.15
02 apr 2021
-----------
* Added mDNS support
1.3.14
-----------
* Skipped version
1.3.13
13 feb 2021
-----------
* PHY firmware updated to v6.01.02 for Bx
* PHY change: only enable autoneg timeout when downshift is enabled if downshift was active
* Disable Reed Solomon feature in PHY firmware
* Fixed AQC113 power consumption is higher when cable is removed vs. Attached
1.3.12
08 feb 2021
-----------
* Revert additional fix for mDNS
1.3.11
05 feb 2021
-----------
* Fixed answers in mDNS query differ between when system is in sleep and when the system is awake - additional fix
* Fixed panic case: extended Lom port not open up after secure request was sent
1.3.10
01 feb 2021
-----------
* Fixed AQC113 failed when configured with 10G/full-duplex and came back up with a hot-plug of cable
1.3.9
28 jan 2021
-----------
* Fixed additional fix - remove questions from response (mDNS)
1.3.8
26 jan 2021
-----------
* Fixed AQC113: link became inactive and still fails with hot-plug of cable
* Fixed additional fix for regression test failure
* Fixed AQC113: answers in mDNS query differ between when system is in sleep and when the system is awake
1.3.7
20 jan 2021
-----------
* Fixed AQC113 ping failed after stress test when system is in sleep
* Fixed [Lom] ping6 extLom is successful after the system panics without pinging basic Lom
1.3.6
10 jan 2021
-----------
* Fixed AQC113 PTP tx ring appears to stop working
1.3.5
6 jan 2021
----------
* Fixed AQC113 A0 : built-in became 10base after cable was plugged in switch
* Fixed [Lom] extended mode enabled before 30 sec window
* Fixed [Lom] extended Lom port should be closed after 300 seconds, not 500+ seconds
* Added provision registers 3660 and 3664 in config
* PHY firmware updated to v6.01.01 for Bx
1.3.4
18 dec 2020
-----------
* Fixed AQC113 extended Lom port should be closed after 300 seconds, not 500+ seconds - "shutdown" case
* Fixed AQC113 extended Lom port kept open after Lom unenrolled
* Fixed AQC113 ping6 ext Lom drops packets when system is shutdown (power on failed)
1.3.3
15 dec 2020
-----------
* Fixed AQC113 (both A0/B0) FW does not respond to mDNS query while sleeping
* Fixed AQC113 did not wake after tcp keepalive expires
* PHY firmware updated to v6.0.15
1.3.2
26 nov 2020
-----------
* Fixed AQC113 (both A0/B0) FW does not respond to mDNS query while sleeping (side-issue with uncast request)
* Fixed thermal shutdown functionality is not provisionable
* Remove support for 10m_HD and 100m_HD
1.3.1
09 nov 2020
-----------
* Added support for B1 devices
1.2.3
27 oct 2020
-----------
* Fixed AQC113 Lom0 doesn't generate interrupts for link change events
1.2.1
14 oct 2020
-----------
* Added support for B0 devices
1.1.27
16 sept 2020
------------
* Fixed MAC firmware hang while pc wakeup from suspend state
* Fixed unexpected wake when thunderbolt ethernet adapter is connected
* Fixed regression: ipv4 ping to nic proxy not functioning
1.1.24
22 july 2020
-------------
* Fixed configuration for GPIO
* Fixed calculation read bytes for smbus transaction of Lom
* Fixed interrupt line for Lom if rx packet available
* Fixed Lom interruption pin set to "asserted" after initializing
1.1.19
26 june 2020
-------------
* No changes
1.1.18
25 june 2020
-------------
* Fixed processing of mDNS resource records
Known issue:
* GPIO pin for reset function should be pulled up instead of pulled down
1.1.12
10 june 2020
-------------
Bug fixes:
* Fixed possible datapath stuck after hot-reset
* Fixed link negotiation issue caused after reset for AQC113C 7x7 devices
* Fixed chip stuck which may be caused by soft reset
* Fixed issue preventing chip reset when reset requested while loading ITI
1.1.5
6 may 2020
-----------
Bug fixes:
* Fixed issue that cause PCIe link drops
* Fixed issue when MAC calculated PHY hash before PHY is ready
Enhancements:
* FW provide packet to driver that woke up the system
New features:
* SNR data were added to driver interface
1.0.32
16 march 2020
-------------
Bug fixes:
* PHY reset stability improvements
* Fixed PHY FW stuck caused by fast reset
* Fixed ipv6 offload issue which may prevent receiving fragmented packets
* Fixed VPD corruption caused by multiple VPD read/write operations
Enhancements:
* Hot reset alarm support added
* MSM settings may be applied without link drop-off
1.0.25
14 february 2020
-------------
Bug fixes:
* FW no longer wake host after first link down/up immediately after hibernation
* Fixed SerDes initialization which cause disappearance from PCIe
* Fixed wake on link up
Changes:
* Disabled half-duplex by default for 10M, 100M, 1G speeds
1.0.22
31 january 2020
-------------
Enhancements:
* Disabled half duplex on 10M, 100M, 1G speeds by default
Changes:
* Disabled run-time power optimizations
1.0.19
24 january 2020
-------------
Enhancements:
* Added "coma" power mode
Bug fixes:
* Fixed disappearing from PCI after hibernating
* Fixed data at mDNS response for ipv4 "A" request
* Fixed missing response for mDNS PTR+TXT request
* Fixed chip licensing, which hadn't got settings from efuse high word
1.0.13
10 january 2020
-------------
Enhancements:
* Reduced minimal timeout for TCPKA from 60 to 1 sec
Bug fixes:
* Fixed link up in sleep proxy mode
* Fixed missed ipv6 probes after TCPKA timeout
* Fixed wake up caused by receiving TCPKA probe with wrong flags
* Fixed data at mDNS reply
1.0.11
30 december 2019
-------------
New features:
* Added chip licensing functionality
* Added thermal monitor interface
* Added cable diagnostics
Bug fixes:
* Fixed flow control configuration. Incoming pause frames cause traffic slow down as intended.
* Fixed forced reset of PHY FW caused by MAC FW
* Fixed incorrect data at probe packet which is generated by TCPKA offload
* Fixed invalid src ipv6 at mDNS reply
* VPD mailbox was removed from FW
* Fixed wake up counter
* Fixed resending probes by TCPKA after receiving correct ack on first probe
1.0.3
20 december 2019
-------------
Initial releasePerform the first update
The requirements should be:
- Secure Boot must be disabled in UEFI
- Everything in Windows Defender must be turned off (including the “Driver Block List”)
- Other antivirus software must also be disabled
To update to version 1.5.38, simply download the archive linked above, extract it and run the “startprg.bat” file it contains as an administrator. Once the process is complete, the command prompt windows that opened will close automatically, and you should restart your PC.
Using “kickstart2.exe” you can check before or after the update to see which firmware is currently running on the controller:

Script modifications
To update to version 1.5.45, you need to make changes to the script provided by station-drivers.com, as the IDs listed there are incorrect:

For the modified updater to work with this HP FlexIO v2 module, the four ID blocks must be adjusted to match those of the module. Actually, only two of them need to be changed. To do this, in the “Check if device matches required IDs” section of the “flashUpdateScript.ps1” script file, enter the following:
# Configuration 1 and 2
If (($ids[1] -eq "0x1D6A") -and ($ids[3] -eq "0x1043") -and ($ids[4] -eq "0x8890")) {
If (($ids[2] -eq "0x04C0") -or ($ids[2] -eq "0x14C0")) {
$deviceSupported = $true
}
}by replacing it with:
# Configuration 1 and 2
If (($ids[1] -eq "0x1D6A") -and ($ids[3] -eq "0x103C") -and ($ids[4] -eq "0x88FB")) {
If (($ids[2] -eq "0x04C0") -or ($ids[2] -eq "0x14C0")) {
$deviceSupported = $true
}
}It’s best to cross-check the IDs with the hardware IDs in Device Manager; they must match. Then save the script, close it, and run the “startprg.bat” file, which is also included.
Perform the update to version 1.5.45
The first thing I noticed was a message saying that the installed driver (from Windows Update) was too old. Once I updated it by installing the newer v3.1.11 version from the Marvell website, the update went through without any problems:



After restarting the PC, everything is working as it should. That was a nerve-wracking process – all that tinkering beforehand would have been for nothing if the update had gone wrong. Now the controller is ready for the future on Debian / Proxmox VE.