Site Tools


Sidebar

Work

Projects Travel Singapore Socials (External)

projects:homelab:aquantia

Aquantia NIC Notes

Controllers

  • AQtion AQC100(S): 10G MAC with PCIe Gen3, typically used with SFP+ NICs
  • AQtion AQC107/AQC108: Multi-gig MAC + Ethernet PHY with PCIe Gen3, for RJ45 Ethernet NICs
    • AQC107: 10G
    • AQC108: 5G
  • AQtion AQC113/AQC114/AQC114CS/AQC115C: Multi-gig MAC + Ethernet PHY with PCIe Gen4, for RJ45 Ethernet NICs
    • AQC113: 10G
    • AQC114/AQC114CS: 5G; AQC114CS might be the same as the AQC114, except with a smaller package
    • AQC115C: 2.5G

Products

SFP+

  • PCIe cards
  • Thunderbolt
    • QNAP QNA-T310G1S (recommended) - AQC100, JHL6240 PCIe Gen3 x2 TB3 controller. Compact size, fanless
    • Sonnet Solo10G SFP+ - AQC100, JHL6340 PCIe Gen3 x4 TB3 controller. Fanless, has (easily replaceable) captive cable, quite a bit of wasted internal space. Extra two lanes on TB3 controller not useful, and controller has 0.5W higher TDP than the JHL6240. Works fine.

10GBase-T RJ45

  • PCIe cards
  • Thunderbolt
    • Sonnet Solo10G (recommended) - AQC107, JHL6340 PCIe Gen3 x4 TB3 controller. Fanless, has (easily replaceable) captive cable. Slightly shorter than Solo10G SFP+ (see above).
    • QNAP QNA-T310G1T - AQC107, JHL6240 PCIe Gen3 x2 TB3 controller. Has an internal fan. Compact size; form factor similar to QNA-T310G1S (see above).

5GBase-T RJ45

  • PCIe cards

2.5GBase-T RJ45

Why not just use something like an Intel i225?

Utilities

    • Extract and copy the atlflashupdate binary to the Windows firmware package and execute there
  • aqcdiag2) - self-tests, flash backup/restore, device info, etc
    • It's a bit old, so the Python 2.7 build in the Linux version links old libraries and references old kernel header files.
      • On Ubuntu 22.04, using DIAG_2.10_Ubuntu_x86_64.zip, stringpatching lib/_ctypes.x86_64-linux-gnu.so to use libffi.so.7 instead of libffi.so.6, and lib/readline.x86_64-linux-gnu.so to use libreadline.so.8 instead of libreadline.so.6 seems to work fine.
        • Alternatively, you can rebuild Python 2.7 with –with-shared, and substitute the existing Python libraries (libpython2.7.so.1.0, and lib/) with the newly-built ones.
      • Replace #include <asm/compat.h> with #include <linux/compat.h> in diag_driver_linux/diag_driver.c for newer kernel versions too.
    • Or you can use this patched archive3): build the kernel driver in driver/diag_driver_linux with make, then run ./DIAG -s (to automatically unload/load kernel modules) in diag/.
    • To backup/restore flash: use menu item 3) Flash3) Save Flash Contents To File (read) or 2) Update Flash Image (write).
    • ./DIAG -s –password \!h:ahT8uW6 also exposes secret menus that let you read/write registers, update PCIe device ID/subsystem IDs, change MAC addresses, wipe your flash (!), etc

Firmware

  • AQC100/AQC10x/AQC11x: Marvell Drivers → Marvell Public Drivers → Windows → AQC107
projects/homelab/aquantia.txt · Last modified: 2024/08/03 04:57 by zhongfu