What's new

Aquantia AQC10x firmware update

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

I am fully updated, FW and Driver, but my upload speeds are severely limited. I have a 10Gig link between my desktop and my NAS. Gigabit service from Verizon Fios. My upload speeds peak at .5 to .6 Mbps. My local copies from my machine to my NAS are also severely limited, upload speeds to the NAS are limited to about 100KB/s. If I switch out to the a 1Gig NIC, everything works as expected. Anyone else experiencing any issues?
Nope, not seeing this. Windows machine? Try resetting the network settings/running the network repair thing, as sometimes Windows networking just breaks, for no apparent reason.
 
Marvell dropped new firmware for their Aquantia cards:
https://www.marvell.com/content/dam/marvell/en/drivers/MarvellFlashUpdate_1.5.0_3.1.109.zip

I read somewhere earlier in the thread that someone wanted to update their ASUS XG-C100C and the standard Aquantia firmware updater wasn't working. I also have this card (along with a variety of other Aquantia cards). The ASUS card runs the Aquantia AQC107 firmware just fine. When you run atlflashupdate, it'll detect the ASUS card as an Aquantia card but claim that it cannot update it. If you edit the updatedata.xml file that comes with the Marvell firmware and add a line that matches the info displayed for your card (when you ran atlflashupdate), it'll update the firmware.

The original stanza in updatedata.xml:
Code:
<bdp id="1">
    <hwids>
      <pciid vid="1d6a" did="d107" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="07b1" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="d108" sdid="d108" svid="1849" />
      <pciid vid="1d6a" did="08b1" sdid="d108" svid="1849" />
    </hwids>
    <mac>02010000c0000000060000000000000001000000c00000000e00000021000000ffff0000c00000000b000000000000000800000000000000</mac>
    <phy>030184011cc471adffff1dc471adffff1ec40100ffff0000</phy>
    <image>AQC107.clx</image>
  </bdp>

The stanza after editing it so that it will update the ASUS XG-C100C:
Code:
  <bdp id="1">
    <hwids>
      <pciid vid="1d6a" did="d107" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="d107" sdid="8741" svid="1043" />
      <pciid vid="1d6a" did="07b1" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="d108" sdid="d108" svid="1849" />
      <pciid vid="1d6a" did="08b1" sdid="d108" svid="1849" />
    </hwids>
    <mac>02010000c0000000060000000000000001000000c00000000e00000021000000ffff0000c00000000b000000000000000800000000000000</mac>
    <phy>030184011cc471adffff1dc471adffff1ec40100ffff0000</phy>
    <image>AQC107.clx</image>
  </bdp>

I'm running Linux but here you can see the ASUS card running with 3.1.109 firmware:
Code:
$ sudo ethtool -i enp5s0
driver: atlantic
version: 5.5.13-200.fc31.x86_64-kern
firmware-version: 3.1.109
$ lspci -v -s 0000:05:00.0|head -2
05:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)
        Subsystem: ASUSTeK Computer Inc. XG-C100C

Code:
$ iperf -c freenas
------------------------------------------------------------
Client connecting to freenas, TCP port 5001
TCP window size:  680 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.10 port 51818 connected with 10.0.0.51 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  10.7 GBytes  9.23 Gbits/sec
 
I read somewhere earlier in the thread that someone wanted to update their ASUS XG-C100C and the standard Aquantia firmware updater wasn't working.

That was me. The card was in a Windows 2012 R2 server at the time. The server has since been upgraded to 2019.
 
Marvell dropped new firmware for their Aquantia cards:
https://www.marvell.com/content/dam/marvell/en/drivers/MarvellFlashUpdate_1.5.0_3.1.109.zip

The stanza after editing it so that it will update the ASUS XG-C100C:
Code:
  <bdp id="1">
    <hwids>
      <pciid vid="1d6a" did="d107" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="07b1" sdid="8741" svid="1043" />
      <pciid vid="1d6a" did="07b1" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="d108" sdid="d108" svid="1849" />
      <pciid vid="1d6a" did="08b1" sdid="d108" svid="1849" />
    </hwids>
    <mac>02010000c0000000060000000000000001000000c00000000e00000021000000ffff0000c00000000b000000000000000800000000000000</mac>
    <phy>030184011cc471adffff1dc471adffff1ec40100ffff0000</phy>
    <image>AQC107.clx</image>
  </bdp>

Worked for me flawlessly. You sir deserve an order! How did you know that?
Thank you very much!
 
Worked for me flawlessly. You sir deserve an order! How did you know that?
Thank you very much!

The atlflashupdate tool actually gives you the info you need when it displays the NIC (that it then refuses to update). It compares what it finds against the packaged .xml file and if it finds a match, it will update the firmware. If you take the string of 16 hex characters that atlflashupdate displays and break it apart and plug it into the appropriate place in the xml file (in this case, the AQC107.clx firmware section), it will update the device. I imagine the same steps would work for anyone with the Gigabyte version of this card (GC-AQC107), though they would almost certainly have different hex values.

Update: It's 12 hex characters, not 16. In the format Rashed points out here: https://www.rashedtalukder.com/updating-asus-xg-c100cs-aquantia-aqc107-firmware-and-drivers/

Since the card lives in one of my Linux hosts, I didn't get a screenshot when I flashed it. Fortunately, Rashed did so now you know what values to plug in. :)
 
Last edited:
Marvell dropped new firmware for their Aquantia cards:
https://www.marvell.com/content/dam/marvell/en/drivers/MarvellFlashUpdate_1.5.0_3.1.109.zip

I read somewhere earlier in the thread that someone wanted to update their ASUS XG-C100C and the standard Aquantia firmware updater wasn't working. I also have this card (along with a variety of other Aquantia cards). The ASUS card runs the Aquantia AQC107 firmware just fine. When you run atlflashupdate, it'll detect the ASUS card as an Aquantia card but claim that it cannot update it. If you edit the updatedata.xml file that comes with the Marvell firmware and add a line that matches the info displayed for your card (when you ran atlflashupdate), it'll update the firmware.

The original stanza in updatedata.xml:
Code:
<bdp id="1">
    <hwids>
      <pciid vid="1d6a" did="d107" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="07b1" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="d108" sdid="d108" svid="1849" />
      <pciid vid="1d6a" did="08b1" sdid="d108" svid="1849" />
    </hwids>
    <mac>02010000c0000000060000000000000001000000c00000000e00000021000000ffff0000c00000000b000000000000000800000000000000</mac>
    <phy>030184011cc471adffff1dc471adffff1ec40100ffff0000</phy>
    <image>AQC107.clx</image>
  </bdp>

The stanza after editing it so that it will update the ASUS XG-C100C:
Code:
  <bdp id="1">
    <hwids>
      <pciid vid="1d6a" did="d107" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="d107" sdid="8741" svid="1043" />
      <pciid vid="1d6a" did="07b1" sdid="d107" svid="1849" />
      <pciid vid="1d6a" did="d108" sdid="d108" svid="1849" />
      <pciid vid="1d6a" did="08b1" sdid="d108" svid="1849" />
    </hwids>
    <mac>02010000c0000000060000000000000001000000c00000000e00000021000000ffff0000c00000000b000000000000000800000000000000</mac>
    <phy>030184011cc471adffff1dc471adffff1ec40100ffff0000</phy>
    <image>AQC107.clx</image>
  </bdp>

I'm running Linux but here you can see the ASUS card running with 3.1.109 firmware:
Code:
$ sudo ethtool -i enp5s0
driver: atlantic
version: 5.5.13-200.fc31.x86_64-kern
firmware-version: 3.1.109
$ lspci -v -s 0000:05:00.0|head -2
05:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)
        Subsystem: ASUSTeK Computer Inc. XG-C100C

Code:
$ iperf -c freenas
------------------------------------------------------------
Client connecting to freenas, TCP port 5001
TCP window size:  680 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.10 port 51818 connected with 10.0.0.51 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  10.7 GBytes  9.23 Gbits/sec
It still can keep the original Mac Address if I use this way to Flash Aquantia AQtion firmware right? I used Diag to flash the ASUS XG-C100C then the Mac Address is 00-17-b6-00-00-00 and the manufacturer isn’t ASUS anymore. so I return ASUS XG-C100C back to ASUS hope they can fix it and I want to know if I get a new one and I want to flash the Firmware,Is it safe to use this way? thank you so much
 
It still can keep the original Mac Address if I use this way to Flash Aquantia AQtion firmware right? I used Diag to flash the ASUS XG-C100C then the Mac Address is 00-17-b6-00-00-00 and the manufacturer isn’t ASUS anymore. so I return ASUS XG-C100C back to ASUS hope they can fix it and I want to know if I get a new one and I want to flash the Firmware,Is it safe to use this way? thank you so much

It does not change the MAC address of your card. I have updated the firmware on my XG-C100C four or five times and it still has the same MAC as the label on the box it came in.

If you want to be 100% safe (because you are within your warranty period and you don't have some critical issue), you should be on whatever firmware ASUS has blessed. There is always risk in doing something the vendor hasn't themselves recommended. That risk may be bricking your card, voiding your warranty, or both. The risk, for me, was low. My card was out of the return period, out of warranty, ASUS was (is) multiple revisions behind on firmware updates, and its firmware had some quirks fixed by Aquantia, so the gain was worth the risk.
 
It does not change the MAC address of your card. I have updated the firmware on my XG-C100C four or five times and it still has the same MAC as the label on the box it came in.

If you want to be 100% safe (because you are within your warranty period and you don't have some critical issue), you should be on whatever firmware ASUS has blessed. There is always risk in doing something the vendor hasn't themselves recommended. That risk may be bricking your card, voiding your warranty, or both. The risk, for me, was low. My card was out of the return period, out of warranty, ASUS was (is) multiple revisions behind on firmware updates, and its firmware had some quirks fixed by Aquantia, so the gain was worth the risk.
Thank you so much!! it works for my ASUS XG-C100C, I got a new one from the seller and Flash the firmware to 3.1.109 successfully in this way and it preserved MAC and vendor, . It seems if we use Diag to upgrade the firmware then it will become a reference design Aquantia AQC107
 
Thank you so much!! it works for my ASUS XG-C100C, I got a new one from the seller and Flash the firmware to 3.1.109 successfully in this way and it preserved MAC and vendor, . It seems if we use Diag to upgrade the firmware then it will become a reference design Aquantia AQC107
Hi DoctorX, just got one c100c, does the firmware 3.1.109 support wol? Really need that function : (
 
It does not change the MAC address of your card. I have updated the firmware on my XG-C100C four or five times and it still has the same MAC as the label on the box it came in.

If you want to be 100% safe (because you are within your warranty period and you don't have some critical issue), you should be on whatever firmware ASUS has blessed. There is always risk in doing something the vendor hasn't themselves recommended. That risk may be bricking your card, voiding your warranty, or both. The risk, for me, was low. My card was out of the return period, out of warranty, ASUS was (is) multiple revisions behind on firmware updates, and its firmware had some quirks fixed by Aquantia, so the gain was worth the risk.
Hi MikeMike, just got one c100c, does the firmware 3.1.109 support wol(wake on line)? Really need that function : (
 
Hi MikeMike, just got one c100c, does the firmware 3.1.109 support wol(wake on line)? Really need that function : (
Yes, 3.1.109 supports WOL. I am able to use the Linux command "wakeonlan" to wake a sleeping Windows 10 box with an AQC108 with 3.1.109 firmware. AQC107-based cards (such as the XG-C100C) with 3.1.109 should behave no differently.
 
Yes, 3.1.109 supports WOL. I am able to use the Linux command "wakeonlan" to wake a sleeping Windows 10 box with an AQC108 with 3.1.109 firmware. AQC107-based cards (such as the XG-C100C) with 3.1.109 should behave no differently.
Thank you very much! Will try it later today! Hoping it will work with my hackintosh.
 
Hi DoctorX, just got one c100c, does the firmware 3.1.109 support wol? Really need that function : (
I use this card for my QNAP NAS so I don’t know C100C support WOL or not after you upgrade the firmware! 
I am sorry I cannot help you but I think you can try since you already have this card!
 
after update to 3.1.109, my XG-C100C still cannt use wol, have to accept it : (

What is the operating system that you're attempting to wake?
WOL is more than just firmware support - the dials and knobs for the OS must also be tuned correctly.
 
What is the operating system that you're attempting to wake?
WOL is more than just firmware support - the dials and knobs for the OS must also be tuned correctly.
I'm using macOS 10.15.6 and windows 1909, the led of c100c is off when my pc fall sleep in both macOS and windows. WOL won't work after fall sleep and shutdown.
 
I'm using macOS 10.15.6 and windows 1909, the led of c100c is off when my pc fall sleep in both macOS and windows. WOL won't work after fall sleep and shutdown.
I can't with MacOS but for Windows 10, make sure you're on driver 2.1.21.0 (or newer).

In Device Manager for the NIC, on the Power Management tab, I have the following options set:
[x] Allow the computer to turn off this device to save power (you could try unchecking this, but for me, it works with it enabled).
[x] Allow this device to wake the computer
[ ] Only allow a magic packet to wake the computer (this one is unchecked)

On the Advanced tab, ensure that:
Wake from power off state == Enabled
Wake on Link == Disabled
Wake on Magic Packet == Enabled
Wake on Pattern Match == Enabled
Wake on Ping == Disabled***

*** - I have it disabled because I have a busy network with lots of scans but you could enable it if that's your thing.

Possibly also involved, in Control Panel -> Power Options -> Change Plan Settings (for your selected power plan) -> Change Advanced Power Settings -> PCI Express -> Link State Power Management -> Setting should be set to "Moderate power savings" of "Off". I am unsure if Maximum Power Savings will remove power from the slot when asleep. My system is set to "Moderate".

In addition to that, you may also have to check your BIOS settings for power management such as ErP (disabled) and "Power on by PCI-E" (enabled).

WOL requires the card, the OS, and the motherboard to all be in agreement. Motherboard/BIOS support for this is probably the biggest variable where you're most likely to run into issues.

When my system is asleep, the NIC link is still up (the NIC lights remain on and my managed switch still shows the port state as up) and the IP is still pingable.

I am able to send the appropriately crafted packet to wake the system from sleep.
 
Last edited:

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top