AMD beseitigt Fehler des Ryzen 3000 über BIOS-Updates

Das Spiel Destiny 2 und viele Linux-Distributionen laufen auf AMDs neuer Prozessorfamilie nicht. Frische Firmware soll das in den nächsten Tagen ausräumen.

In Pocket speichern vorlesen Druckansicht 312 Kommentare lesen
AMD korrigiert Fehler des Ryzen 3000 mti BIOS-Updates

(Bild: c't / Christian Hirsch)

Lesezeit: 4 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Laut AMD sollen in den nächsten Tagen BIOS-Updates erscheinen, die ein schwerwiegendes Problem des Zufallszahlengenerators der neuen Ryzen-3000-Prozessoren beseitigt. Durch diese Macke scheitern viele moderne Linux-Distributionen beim Systemstart, wie c't vor einigen Tagen publik gemacht hat.

Der Zufallszahlengenerator verhält sich aber auch unter Windows fehlerhaft, wie sich in den Testlabors der c't und bei Tests von weiteren Fachpublikationen zwischenzeitlich zeigte. Abseits von Linux tritt die Marotte aber meist nicht so deutlich zutage; sie ist aber der Grund, warum auch Destiny 2 auf den neuen Prozessoren nicht funktioniert. Mit den neuen BIOSen soll das Spiel laut AMD laufen.

Wie die neuen BIOSe das Problem angehen, verrät AMD in seiner knappen Mitteilung zur Korrektur über BIOS-Updates nicht – daher ist nach wie vor unklar, ob der Fehler im Prozessordesign, dem Microcode oder den BIOS-Funktionen zur Initialisierung der CPU steckt. Auch ist unklar, ob sich bei Performance- oder Funktionsumfang etwas ändert.

Durch die Macke liefert die vor wenigen Tagen eingeführten Ryzen-3000-Prozessoren bislang immer nur "-1" an Software zurück, die Zufallszahlen per RDRAND (Read Random Number) anfordert; zugleich bestätigt die CPU aber die erfolgreiche Ausführung der x86-Instruktion durch Setzen des Carry-Flags. Die gleiche Marotte tritt auch bei der verwandten RDSEED (Read Random Seed) auf. Damit nicht genug: Ein ähnliches Problem tritt Berichten zufolge schon seit Herbst 2014 mit älteren AMD-Prozessoren auf, wenn diese aus dem Bereitschaftsmodus (Suspend) aufwachen.

Von Systemd und Destiny 2 abgesehen merkt Software von diesem Fehlverhalten vielfach nichts, schließlich könnte "-1" ein zufällig ermittelter Wert sein. Auf Systemen mit dieser Macke generierte Kryptografieschlüssel sind dadurch aber womöglich angreifbar, denn wenn die jeweilige Software sie mit einem immer gleichen Zufallswert von Ryzen-3000-CPUs erzeugen, sind diese Schlüssel leicht fälschbar.

Laut dem Statement hat AMD die Ursache gefunden und neuen BIOS-Code an die Hersteller passender Mainboards verschickt. Die müssen den neuen Code jetzt in ihre BIOSe einbauen und diese dann testen und verteilen – letztlich hängt daher vom Hersteller ab, ob das jetzt Tage oder Wochen dauert. Der Vollständigkeit halber das Statement von AMD im Original:

AMD has identified the root cause and implemented a BIOS fix for an issue impacting the ability to run certain Linux distributions and Destiny 2 on Ryzen 3000 processors. We have distributed an updated BIOS to our motherboard partners, and we expect consumers to have access to the new BIOS over the coming days.

Unter vielen modernen Linux-Distributionen zeigte sich das Problem so deutlich, weil sich aktuelle Versionen des System- und Service-Managers Systemd an einer zentralen Stelle die Werte des Zufallszahlengenerators verwenden. Da der immer den gleichen Wert liefert, kommt Systemd aus dem Tritt und fährt sich fest. Dadurch schlägt dann der Systemstart etwa bei Ubuntu 19.04, Fedora 30 oder dem aktuellen Manjaro fehl – sowohl bei Start von Installationsmedien als auch beim Boot installierter Systeme.

Bislang sah es so aus, als müssten die Distributoren einen Workaround in Systemd integrieren und die Installationsmedien aufwendig aktualisieren, um das Problem zu umschiffen. Durch die in Aussicht gestellten BIOS-Updates kann das entfallen. (thl)