Seit einiger Zeit werde ich an meinen Windows Hosts und VMs bei Windows Update durch den Fehlercode 0x80072ee2 beglückt. Microsoft hat diesen Fehlercode, zusammen mit einigen anderen, in KB836941 als ERROR_INTERNET_TIMEOUT dokumentiert. Direkt zum Fehler findet man leider oft diesen Artikel, welcher absolut nichts über das Problem aussagt.

Auf meinen selten genutzten Windows Installationen gibt es nämlich, abgesehen von der eingebauten Windows Firewall mit den Standardregeln, keinerlei Firewall, die irgendwas blockieren würde. Auch andere Anwendungen laufen auf diesen Systemen und auch sonst im Netzwerk ohne Probleme. Das Problem trat bei mir erstmalig zusammen mit dem Austausch der Homeserver-Hardware auf, dieser hat dieses Jahr einiges an neuer Hardware bekommen. Das verwendete Mainboard Gigabyte H87-HD3 verwendet als Netzwerkchipsatz den relativ verbreiteten Realtek RTL8111, dieser machte bisher auch keine Probleme.

Zusammen mit Windows Update scheint es aber doch ein Problem zu geben, bzw. Windows ist nicht in der Lage mit dem Problem so wie andere Systeme umzugehen. Den standardmäßig ist bei diesem Chipsatz mit dem aktuellen Linux Treiber auch die ein oder andere Offload Funktion aktiv, deren Sinn ist es die CPU für Netzwerkoperationen zu entlasten indem bestimmte Dinge direkt in der Netzwerkkarte erledigt werden. Darunter fallen z.B. das Berechnen von Prüfsummen oder auch das Fragmentieren von Ethernet Frames oder TCP/IP Paketen. Treiber oder die Karte selbst scheinen damit aber so ihre Probleme zu haben, wodurch Windows Update sehr zuverlässig nicht mehr funktioniert.

Am Homeserver habe ich daraufhin mit dem Brecheisen alle Offload Funktionen der Netzwerkschnittstelle deaktiviert:

sudo ethtool --offload eth0 tso off ufo off gso off gro off lro off rxhash off\
 rx off tx off
Das Resultat war ein funktionierendes Windows Update. Als langfristige Lösung werde ich mir dieses Wochenende noch 2 Intel PCIe Netzwerkkarten besorgen und auf das Spielzeug von Realtek verzichten ;)

Die getätigten Einstellungen überleben übrigens keinen reboot, es ist also erforderlich diese je nach Distribution in der Netzwerkkonfiguration einzutragen, um auch nach einem reboot keine bösen Überraschungen zu erleben. Wenn man für verschiedene Realtek LAN Chipsätze sucht findet man auch die ein oder andere Empfehlung für Windows diese Offload Funktionen abzuschalten, darunter auch von einigen Softwareanbietern aus dem Bereich der PC Spiele. Mein nächster Rechner wird also keinen Realtek Chipsatz mehr haben.