My BMW/MiniFRM module is not responding and now the power windows are not working. It’s not like earlier cars could use hand-operated switches. So I decided to read the EEPROM and rewrite the corrupted data.
Tools used: Autel MaxiIM IM608
On Autel IM608, go to
Programmer>>Chip (EEPROM,MCU,ECU)>>Chip read & write>>Other>>BMW>>E – SERIES>FRM>XEQ384>RW
Step 1. Read D-FLASH, EEPROM, P-FLASH
Check “Schematic diagram”.
Connect APA109, IM608, XP400Pro and FRM circuit board by diagrams.
Go to “Set” to check if we’ve got 5 voltage, and turn on read/write/earse validation.
Then try to “Read” D-FLASH.
Empty, that’s why it is done.
Read Partition. Also empty.
EEPROM is also empty.
So we just read and save P-FLASH as a backup.
Usually this part is intact.
Step 2. Write partition
Go to D-FLASH and select “Write partition”. (So we can get a new EEPROM to write data in.)
Set EEPROM as 16, which will give you four kilobytes of memory on EEPROM.
Set D-FLASH as 0.
Step 3. Write EEPROM back
Then I find an EEPROM file with the same part number (3456395) on Google.
Of course this EEPROM belongs to a a different car, VIN…but it allows FRM to boot.
Transfer the data file to IM608 Key Programmer.
Go to “EEE” (EEPROM), and select “Write”.
Load the EEPROM file we just found.
Go back to read D-FLASH and EEPROM.
FLASH is also empty, but we have the data in EEPROM.
Restore FRM back, and see if it boots well.
Use an Autel Diagnostic Tool to check windows quickly.
The wrong chassis means our FRM has communications.
Before we have a DTC about FRM error.
Diagnosis>>Control unit>>Body>>FRM2 (Footwell Module 2)>>Read codes
Now our FRM comes back.
And then the rest work is to program the module the car because it comes from a different car.
Notice: IM608 doesn’t support BMW X1 FRM program.
Credits to LM Auto Repairs.
Hope this could help.