Ok… WTF? Das ist neu…
Arsimael Inshan, 2022 (beim debuggen)
Vor einigen Wochen habe ich mein internes Netzwerk von 1GbE auf 10GbE umgestellt. Da ich keine optischen Kabel verlegen wollte und CAT7 Kupfer schon zur Verfügung stand, habe ich mich dazu entschlossen das vorhandene Kupfernetz dafür zu benutzen. Welche Hardware, Switches usw ich verwendet habe, kommt noch in einem extra Betrag, denn hier geht es um die Netzwerkkarten in meinen Rechnern. Genauer gesagt: Um den Netzwerkchip AQtion AQN107 vom ehemaligen Hersteller Aquantia, jetzt Marvell.
Besagter Chip wird in so einigen Netzwerkkarten, sowie auf Mainboards verbaut. Als Beispiel möchte ich hier das Gigabyte Z590 AORUS MASTER oder die Asus XG-C100C erwähnen (Die Asus XG-C100F hat denselben Chip, ist allerdings eine Karte mit SFP+ cage. Hier wäre also theoretisch auch ein optisches Transceiver-Modul möglich). – Für Preise zwischen 100 und 120€ ist das momentan eine der günstigeren Netzwerkkarten die über reguläre Netzwerkkabel 10Gbit/s bieten, und dabei gleichzeitig abwärtskompartibel zu älteren Switches sind.
Asus bewirbt diese Karte mit „Fit für Gaming“… Ich sage dazu: „jain“ und muss warnen: Ohne Anpassungen sind diese Karten unglaublich frustrierend.
Was Linux angeht… dort hatte ich keine Probleme. Alle Karten, egal ob Debian, Arch oder Ubuntu verrichten tadellos ihren Dienst. Was die Geschwindigkeit in meinem Netz angeht: nutzen wir doch mal iperf3:
9Gbit/s im durchschnitt… „kann man lassen“. Das heimtückische ist – wie so oft – Windows.
AQC107 : Network link is lost.
I9-11900K, dazu 128GB DDR4 Ram und eine Geforce 3090 RTX. Das sollte eigentlich ausreichend sein um so richtig Spaß zu haben. Dazu noch eine Netzwerkkarte die das Netzwerk ins 21. Jahrhundet schickt. „What could possibly go wrong?„
Nunja. Ich habe beim Zusammenbau des neuen Gaming-Rechners das oben erwähnte Gigabyte-Mainboard gekauft. Ein Z590 Chipsatz mit einer onboard 10GbE Netzwerkkarte. Das fetzt!
Oder auch nicht… An dieser Stelle mal ein kleines Zitat aus der „Killerspiel“-Debatte:
„Ego-shooter machen uns nicht aggressiv. LAG MACHT DAS!“
Jeder Gamer… überall… immer…
Und die ersten Runden waren ein Graus… Keine einzige Runde Killing Floor 2 hielt länger als Runde 3, allerdings fiel ich schon früher aus den Maps oder laggte so extrem dass ich die Runde verloren habe. Streamen ging gleich gar nicht. Video riss immer wieder ab.
Lange hats gedauert bis ich irgendwann mal auf die Idee kam bei Windows das zu machen, was bei Linux Standard ist: „Mal in die Logfiles kucken“. Und tatsächlich. In schöner Regelmäßigkeit:
Meine Netzwerkkarte verliert also immer wieder die Verbindung. Nachdem ich das vor allem auch live erleben konnte wie ich immer bei einem der massiven Lags die Netzwerkverbindung komplett weggeflogen ist, hab ich mir ernsthaft überlegt ob es nicht Sinn macht das Mainboard wieder zurück zu schicken. Aber erstmal testen. Ich habe also eine Asus 10GbE Netzwerkkarte eingebaut um zu sehen ob es wirklich am Mainboard liegt. Neben dem Tausch der Karte habe ich noch einige andere Dinge ausprobiert:
- Tausch der Netzwerkkabel
- Verbindung über verschiedene Ports am Switch
- Verbindung über verschiedene Switche
- Direktverbindung zwischen 10GbE Netzwerkkarte und 2.5GbE Fritzbox Anschluss
- Diverse Treiberversionen
Einige Dinge brachten Besserung, aber keine endgültige LÖSUNG. Zwischenzeitlich bin ich auf die Marvell Homepage gestoßen, inklusive dem Download der neuesten Firmware. (Marvell AQtion Firmware updater Utility – wählt „Windows 10 x64“ unter der „Platform“ aus).
Hier empfiehlt es sich ebenfalls das aktuelle Treiberpaket für Windows zu laden und zu installieren! Der neue Treiber und das Flashen der aktuellen Firmware haben das Problem so weit reduziert, das man zumindest wieder durchgehend spielen kann ohne andauernd aus Maps zu laggen oder zu sterben… Aber nun zum interessanten Part:
Flash it, baby!
/!\ VORSICHT /!\
Das flashen einer Firmware birgt immer das Risiko die Hardware unbrauchbar zu machen!
Unter Windows ist das Flashen einer neuen Firmware recht einfach. Datei entpacken, Flasher mit Adminrechten starten, Netzwerkkarte auswählen, und los geht’s.
Nervig: NATÜRLICH(!) gibt es unter Linux wiedermal kein Tool. Zumindest nicht auf der Marvell Homepage. Wer suchet, der findet. So sagt man. In meinem Fall wohl eher: Wer fraget der findet. Polynomial-C von gentoofan.org hat auch lange gesucht bis er auf das linux-flash-tool gestoßen ist.
Wer eine beliebige Suchmaschine nach „atlflashupdate-1.8.0_AQC107-FW-3.1.109.tgz“ befragt, der findet schnell ein Archiv, welches augenscheinlich dazu gedacht sein könnte, eine Firmware auf AQC107 Chips zu flashen… Leider verweigert dieses Tool den Dienst bei den Asus-Karten.
Startet man das Tool auf einem Terminal, verweigert es das Flashen mit der Meldung „no adapters can be found“ gefolgt von einer Liste mit gefundenen Aquantia adaptern.
Man könnte meinen hier wäre das Abenteuer zu ende, aber nein. Man muss lediglich die beigefügte „updatedata.xml“ um die aufgelistete ID ergänzen:
Gleich zu Beginn der Datei finden wir eine kleine Liste mit unterstützten Geräten:
Hier ergänzen wir einfach eine weitere Zeile und fügen unseren Adapter hinzu:
Datei abspeichern und das Flashtool neu ausführen und schon sollte man wie auch auf Windows die Netzwerkkarte auswählen können*.
Nach dem Flashen empfiehlt sich ein sauberer Neustart.
Auffälligkeiten:
- Unter Arch Linux mit einem 5.16-11er Kernel hat das Flashtool nicht funktioniert. (Segmentation fault)
- Unter Proxmox 7.1-10 mit Kernel 5.15 führte der Reboot des Interfaces nach dem erfolgreichen flashen zu einer Kernel-Panic
Am Ende dieser ganzen Eskapade bleibt mir nur noch eines zu sagen: