Ich arbeite mich gerade in das Thema ein, da mein BJ2009 potenziell davon betroffen ist. Im youtube-Video oben wird ab 10:00 gesagt, dass der Totalausfall des FRM durch ein neueres Update z.B. mit WinKPF vermieden werden kann.
Auch die KI hat dazu eine Meinung:
Der bekannte
Totalausfall des FRM3-Moduls nach Spannungsverlust (z. B. beim Batteriewechsel, während Programmierung etc.) betrifft
viele ältere ZB-Versionen, wurde aber ab bestimmten Softwareständen (ZB-Nummern)
behoben.
Hintergrund:
Das Problem beim FRM3 war ein
Flashspeicherfehler (MCU mit M35160 EEPROM), bei dem das Steuergerät nach einem Spannungsverlust (z. B. Zündung AUS während Codierung) in einen „Locked“- oder „No Boot“-Zustand fällt.
→ Folge: Das FRM3 reagiert nicht mehr, lässt sich nicht mehr codieren oder kommunizieren (auch INPA/WINkFP erkennen es nicht).
BMW hat dieses Problem durch spätere ZB-Versionen behoben.
Ab dieser ZB-Nummer wurde das Problem gelöst:
- ZB-Nummer 9278871
→ Diese Version (und alle neueren) haben den angepassten Bootloader, der das Problem behebt.
→ Oft ab 2012/2013 in Produktion.
Welche ZB-Nummern sind sicher?
| ZB-Nummer | Sicher gegen Spannungsverlust? | Anmerkung |
|---|
| 9240528 | Nein | Betroffen vom FRM-Ausfall |
| 9278871 | Ja | Erste Version mit Bugfix |
| 9390487 | Ja | Spätere stabile Version |
| 9390491 | Ja | Häufig in E89, enthält Bugfix |
Was tun, wenn man eine ältere Version hat?
Wenn du z. B. ein FRM3 mit 9240528 hast, empfiehlt sich dringend ein:
- Flash mit WinKFP auf mindestens 9278871 oder neuer
- Danach ggf. Codierung mit NCS Expert
Hinweis:
Einige Recovery-Tools (z. B. FRM3-Unlocker oder XPROG mit EEPROM-Fix) können defekte FRM3 wiederherstellen – aber besser ist es,
vorsorglich zu flashen, wenn du noch ein altes Modul hast.
Fazit:
Diesen Beitrag greife ich mal wieder auf:
Aktuelles, geschädigtes
FRM, das nach einer
XHorse Sanierung wieder funktioniert.

r
Interessanterweise waren die Kontaktpunkte am Chip bereits verzinnt. Das bedeutet, daß es in der Vergangenheit schon einmal eine FRM-Reparatur gab
und dieses Modul nun erneut ausgefallen ist.
Dafür hatte ich bisher noch keinen Beweis gefunden, nun haben wir ihn:
Ein aufgrund seiner Software-Version ausfallgefährdetes FRM3 kann immer wieder ausfallen.
VIN WBALM51060Exxxxxx
Production Date 12.03.2010
Programming Date 14.12.2012
ZB-NR 9230447
HW 9206245
SW 9286885
(Todo für mich: WinKFP weist diese Nummer in der Fehlermeldung als "SG-Hardwarenummer" aus!)
Die aktuelle
ZBNr steht nicht in obiger Liste, scheint aber numerisch älter als "
9240528" (1. Eintrag in
@db1sb's Tabelle) zu sein.
Jetzt wurde es spannend =>
INPA:
Die oberen Komponenten in der folgenden Liste stecken in meinem
Z4-Tower, lediglich das rot markierte FRM stammt aus dem
Z4 E89, der aktuell ein beschädigtes FRM hatte. Nach der Reparatur des FRM mit XHorse möchte ich auch den Softwarestand anheben, damit das nicht noch einmal passiert.

Aktueller Stand des FRM:
SW 9286885,
ZUSB 9230447, HW 9206245
ZB-Nummer für WinKFP herausfinden Codierer Ausstattung beachten & Immer ein Ladegerät anschließen Um herauszufinden, welche die aktuellste ZB-Nummer des Steuergeräts, welches man updaten/flashen möchte ist, wurde bisher Progman verwendet. Dies ist auch ohne Progman nach folgender Anleitung...
bimmerguide.de
In den spdaten habe ich in der Datei E89 / kmm_SG.txt folgende Zeile zur aktuellen ZBNr gefunden:
9230447;9230447;9206245;1009410-1103350,1003500-1003504;WHNSL
Diese ZBNr findet sich in dem folgenden Block wieder, die rot markierte Bezeichnung findet sich auf dem Steuergeräte-Gehäuse:
-95-
+G;1;866206;A;FRM3R E89 E9X LED XE 2EG
9221440;9221440;
9206245;1003400;W
9241006;9241006;
9206245;1009450,1006500-1006502;WHNSL
9209008;9209008;
9206245;0909410-1003360;WHNSL
9227151;9227151;
9206245;1003450-1103300;WHNSL
9244239;9244239;
9206245;1103410,1109350;WHNSL
9340337;9340337;
9206245;1403430,1403490-1503410;WHNSL
9286885;9286885;
9206245;1207450-1303400,1207500-1207508;WHNSL
9220135;9220135;
9206245;0909500;WHNSL
9295031;9295031;
9206245;1303410,1307391;WHNSL
9308369;9308369;
9206245;1303450,1307400-1403420,1303500-1307505;WHNSL
9223944;9223944;
9206245;1003410;WHNSL
9240531;9240531;
9206245;1103400,1012460,1009500-1012503;WHNSL
9253535;9253535;
9206245;1109400-1109411;WHNSL
9263801;9263801;
9206245;1109450-1203400,1203410,1203450,1203490,1109500-1203502;WHNSL
9281078;9281078;
9206245;1207400,1207410;WHNSL
9206245;9206245;
9206245;0909400;WHNSL
9230447;9230447;9206245;1009410-1103350,1003500-1003504;WHNSL
9390489;9390489;
9206245;1503501,1511500,1603502,1607503,1607505,1607507,1611500,1803520-;WHNSL
9224596;9224596;
9206245;0912460,0909515-0912512;WHNSL
9215664;9215664;
9206245;0909450;WHNSL
9269824;9269824;
9206245;1207350;WHNSL
9383048;9383048;9206245;1503490-;WHNSL
9249084;9249084;
9206245;1103450,1103470-1103490,1103500-1103511;WHNSL
Die
grün markierte ZBNr am Ende dieser Liste ist nach meinem Verständnis die neueste, die auf diese Hardware passen sollte.
Die
blau markierte ZBNr entspricht der ermittelten Hardware (HW-Version).
Laut Anleitung soll man die "neueste ZBNr" auswählen. Allerdings ist in diesem Beispiel die unterste
ZBNr 9249084 in der vorherigen Liste deutlich kleiner als die vorhergehenden ZBNr.
Was also ist denn nun die Neueste Version für unsere Z4 E89?
Vorsichtshalber versuche ich die nächsten Schritte erstmal mit der kleineren ZBNr am unteren Ende der Liste,
ZBNr 9249084.
Interessanterweise findet sich zu dieser ZBNr keine Datei im Ordner Data\FRMR3 der SPDaten, allerdings eine mit der höchsten
ZBNr 9383048.
Wenn ich aber in WinKFP mit F2 eine
ZUSB auswähle, erhalte ich die
9390491 als höchste Nummer angeboten, die auch in der Liste von
@db1sb auftaucht. Also probiere ich es mal damit in WinKFP.
Let's go:
Ergebnis:
Abbruch!
Also WinKFP um einen Vorschlag gebeten und ich bekam die folgende ZUSB angeboten:
Das ist dann tatsächlich die höchste ZBNr aus meiner obigen Liste, auch wenn sie an vorletzter Stelle steht:

Sehr irritierender Dialog, dann aber von mir positiv mit OK bestätigt:
Läuft...
... und kommt zu einem erfolgreichen Ende:
Ergebnis in INPA:
Die ZUSB wurde aktualisiert auf einen Stand, der irgendwo zwischen der vorletzten und letzten Zeile der
@db1sb Tabelle liegt.
Top!