Updating ASUS XG-C100C’s Aquantia AQC107 Firmware and Drivers

 April 19, 2020
Posted by Rashed Talukder

If you’ve purchased network card that uses the Aquantia AQC107 chipset such as the ASUS XG-C100C, ASUS ROG AREION 10G, or others, you might be wanting to update your firmware to resolve some connectivity and speed issues. The Aquantia line of chips gives a lot of performance for the buck. While NICs and motherboards with integrated LAN using the AQC107 are some of the most affordable options today, the reliability with the included firmware left me wanting. However, when searching for a firmware, it was impossible to find anything because it turns out that Aquantia was purchased by Marvell. Along with the acquisition, it seems they removed all firmware from Aquantia’s site and left no reference to go to Marvell. So if you’re looking to update your firmware to your ASUS XG-C100C like I was on, then follow the steps below:

Firmware update is only possible on Windows. You must execute an EXE file. These steps are not officially supported. Follow the steps and flash at your own risk!

Flashing Aquantia AQtion firmware on unsupported devices

  1. Download the latest firmware and drivers from https://www.marvell.com/support/downloads.html#.
    • Select your platform (e.g. Windows 10 64-bit that’s towards the bottom, past the other Windows versions at the top).
    • Select your part number as ACQ107 (these steps may work for other chips like the AQC108 or AQC100).
    • Extract the zip files to any directory you want. For this post, we’re going to be referencing it from C:\.
  2. Open command prompt as administrator.
    • Windows button, and type CMD into Windows search.
    • Select “Run as administrator” on the right options pane of the search results for Command Prompt.
  3. Go to the firmware flash directory.
    • Type in CD \MarvellFlashUpdate.
    • Press the tab button to autocomplete the rest of the folder name. Press enter.
  4. Run the flash utility
    • Type atlflashupdate.exe and press enter to execute.
    • Press Y to proceed.

Now you’re going to see an error that says “no adapters can be updated” and the program will exit. To fix this,

Marvell Aquantia AQtion firmware update tool screenshot to get DID, SDID, SVID.
Marvell Aquantia AQtion firmware update tool screenshot
  1. From your Command Prompt window, take a look at the output “Device” column.
    • did is the first 4 digits
    • sdid is the first 4 digits after the hyphen.
    • svid is the last 4 digits.
  2. Open updatedata.xml file using Notepad or XML editor like Notepad++ or Visual Studio Code. If it opens in Microsoft Word or Wordpad, do not save it! That will corrupt your data. Right-click in file explorer and Open with notepad.
  3. Add the string <pciid vid="1d6a" did="YOUR_DID" sdid="YOUR_SDID" svid="YOUR_SVID" />, replacing the placeholders with their respective values to the hwids element of bdp option id=1. It should look like:
<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" />
      <pciid vid="1d6a" did="07b1" sdid="8741" svid="1043" /> <!-- NOTE: paste the new entry here so it looks like this. These values are for XG-C1001C -->
    </hwids> 
 
 <mac>02010000c0000000060000000000000001000000c00000000e00000021000000ffff0000c00000000b000000000000000800000000000000</mac>
    <phy>030184011cc471adffff1dc471adffff1ec40100ffff0000</phy>
    <image>AQC107.clx</image>
</bdp>
  1. As the final step, rerun the Marvell/Aquantia AQtion firmware flash tool again by executing the command atlflashupdate.exe. It should recognize the board. If not, check your values with the output.

Conclusion

Hopefully with these steps, you’ve been able to flash your firmware on the ASUS XG-C100C or other devices using the Aquantia AQC107. Credit goes to MikeMike’s post on SNBForums that I eventually found and got me most of the way there. Hopefully this helps others be able to use it on any other board featuring an AQC100, AQC107, or AQC108.

In the next post, I’m going to go through a few quick steps to show you how to get full 10Gbps speeds with an ASUS XG-C100C.

22 comments

  1. Oli
    |

    thank you for bringing up MikeMike solution !

  2. SZETUNG
    |

    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

    • |

      I don’t make any guarantees because the actual firmware may change, however, when I used this it preserved my MAC and my vendor. I can see it on my switch as being listed as ASUS. If you MAC has already been overwritten, i’m not sure how you’ll be able to recover the old address.

      • SZETUNG
        |

        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

        • ZH
          |

          would you please share me the tool“Diag” ?

  3. Tamara
    |

    Thank You. You saved my day. I could do this to my card and now it works fine. I`m so happy

    • |

      Glad it worked for you too! Thanks for letting me know. Which card do you have btw? The ASUS?

  4. |

    Thank you, too.
    I was also able to flash my ASUS XG-C100C to 3.1.109 with this hint. And it successfully fixed my connectivity issues 🙂

  5. Richard
    |

    Thanks for the insight & detailed posting.
    Fixed my network connectivity issue after updating to W10 v2004 as it was having terrible upload speeds below 0.2 Mbps.

    Asus’s official drivers on their website didn’t worked but after flashing Marvell’s firmware and drivers, the card works great again.

  6. BOBA FETT
    |

    hey 🙂

    first of all thanks for pointing out how to update firmware for the Asus card. I just purchased two of em, one for my linux server and one for my windows workstation. One feature I definitely need is working Wake on Lan. Asus states “officially” that they don’t support Wake in Lan. Other brands, e.g. DeLock, using the same chip, say it works on Windows only. And then … if you look at Linux Kernel Aquatia driver discussions, there is definitely WoL functionality mentioned, even a fix for it from Kernel 4.16 upwards …. so I am pretty sure the chipset supports Wake on Lan.
    Anybody here tried it with the firmware described here? Maybe even on a Linux box?

    Thanks,

    boba

  7. Manz
    |

    Thank you for the guide!
    ASUS XG-C100C do not support wake on lan(wol), does 3.1.109 enable this function?
    I’m using this card on my hackintosh, had anyone using macOS 10.15 with 3.1.109 firmware.

  8. |

    Worked for both my Asus Aeron 10G and Asus XG-C100C. Had terrible speed backing up my primary server to my secondary server until I flashed the firmware and used the non-Asus drivers. I can saturate my bandwith now and latency is much better. It is a shame Asus does not update these cards, last update I found for the Aeron was 2017…

  9. Chloe
    |

    “ASUS XG-C100C do not support wake on lan(wol), does 3.1.109 enable this function?”

    I updated to 3.1.109 but can not enable wol. The option is ticked but grey out in the settings and it doesn’t work. I wish someone would find a way to enable it for these cards

  10. |

    Did you had some time to write the guide about how to get full speed with that adapter ?

    • |

      I did but unfortunately my other computer with 10gb built in died so I couldn’t run tests.

      • |

        What settings would you had changed ? I’m currently capped at 3Gb/s :/

        • |

          Jumbo packet – 9014 bytes
          Large send offload (all) – enabled
          Receive buffers – 4096
          Transmit buffers – 8096

          There are going to be a lot of variables to your speed, switch actual limits, network card performance on other side, IO capacity on either receiver or sender, etc.

        • Florian
          |

          Look at the connected PCI Express port, I was also limited to 3G, because I was on a PCI Express 2.0, going to version 3 …. no more problem;)

  11. |

    Rashed: I owe you a coffee! Firmware upgrade worked on my Asus XG-C100C. Thank you for taking the time to detail this procedure. LarryJ in W. MT USA

  12. |

    any updates? will it work for any international version? also the website linked seem to not output any firmware and or drivers suggestions when prompted with the part number. I just bought it and I am getting 720MB/s write speed to the NAS and 988MB/s read from the NAS, so I am happy, but if it could go at full 10G it would be better of course

  13. |

    I was able to update my ASUS XG-C100F without modifying the xml file. Thanks for the tutorial, was very helpful 🙂

  14. Tony W
    |

    Excellent instuctions, after this my Asus XG-C100C connects quickly and correctly (Was getting odd pauses every so often)
    thank you!

Leave a Comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.