How to add a spare key for 2015 3 series with VVDI2?

I have VVDI2 and have a 2015 3 series that needed a spare key today.

Done quite a few before with no problems.

The downgrade went well, no problems.

Key learning done on bench.

VVDI did not want to program in the new key, it gave me a frequency warning.

When I tried to do it again with another key, I got an error saying the “Synchronize code between key and FEM was lost” and it would not let me try and program keys again.

Proximity function will not work, car cranks but does not start if original key held up to column.

Still only the 2 original keys listed with the FEM.


I have had similar problems using other tools but they would write the failed key into the FEM and not break the Syncho code.

Is there any way this can be fixed without buying a new FEM?


  1. Try rewrite ori eeprom to fem
  2. Did you try to do coding? Should be able to start car after that.
  3. Write back eeprom and flash with Prog and make key with Key Making option in VVDI
  4. Its fem. About what flash youre talking about
    All by obd . Not possible with sny bdm programmer.
    Or as suggest do update program with istap


The car had the latest update done by BMW yesterday, so it can’t be updated again (the car is actually at a BMW dealer).
I did not try and write the original eeprom back again, might be worth a shot though.

Nobody has had the same thing happen to them?


First time hear about such error. Maybe something wrong with your bench set or solder eeprom or write data to it.

With these need be very carefull as no backup of files can be done. If brick it ,than pocket cries..


Nope, done plenty of them.
The downgrade went well, the problem occurred when it failed to lock the new key.


I had few when key not accepted or waited 10 mins and nothing happened. But newer had this error.
It can even program not fem key diferent frequency. Your problem not standart. Have you send log to support

Finally Solved!

Ok, VVDI saves the ISN’s when it reads the key for the first time in a file.
I should be able to use that to program in another key instead of using the working key I believe.

EDIT – Yes this works on test FEM. Use ECU ISN to bypass the need for a working key.

Nobody from Xhorse is going to comment on this?

EDIT : This solution worked, I was correct.