On BMW cars, reading the ISN from the DME often appears to hang because the car keeps dropping off to sleep. This procedure explains how to keep it awake, up to creating a temporary transponder made from the CAS ISN.
Required licences
—
Hardware / cables
AVDI
PROTAG
⚠ WarningBefore changing the CAS configuration, ALWAYS save the keys to file from the "Cas Keys" menu: that is the backup you need to put everything back as it was. When the job is done you must erase the temporary transponder and restore the last configuration byte in position 9, otherwise the CAS stays modified. If the ISN read stops at 10% there are only two possible causes: the DME is not supported (check the ISN support matrix on abrites.com) or the car is falling asleep.
Procedure
Connect a constant 14V external power supply to the car.
First attempt: keep the car awake by switching the lights on and off continuously, pressing the lock buttons and operating other controls. In most cases this, together with the constant 14V, is enough to read the ISN.
Quick alternative: jumper pins 1 and 16 on the OBDII connector (on a DB25 these correspond to pins 2 and 17). Note: this method does not keep every car awake.
If that is not enough, prepare a temporary transponder. Read the ISN from the CAS and note it down.
Go into "Cas Keys" and save the keys to file as a backup.
Still in "Cas Keys", in position 9 (the last one) set the last config byte to "00" (zero zero) and write it into the CAS with the "Write CAS EEPROM" button. Note: if the CAS uses a 4-byte ISN, at the next step you will have to write the last two bytes.
Program a transponder into any free position and, when asked for the ISN, enter the one read from the CAS. If the PCF is a 7942 or 7944 there is no need to renew it before programming.
Put the transponder in an empty BMW key shell and turn the ignition on: the car wakes up and the dash lights up. The car will not start with this transponder, it will only crank: that does not matter, it is only there to keep the car awake as if the ignition were on.
Read the ISN from the ECU: the reprogramming procedure carries on and you get the ISN. Note it down.
Erase the temporary transponder by pressing "Clear Key and CAS" with the transponder in the programmer.
Restore the last config byte in position 9 to its original value and write the CAS with "Write CAS EEPROM"; simpler still, press "Load from File", pick the file saved at step 5 and then "Write CAS EEPROM".
You can now program the new key: when asked for the ISN, enter the one read from the ECU.
Reference screenshots
Source: Manuale BMW/Mini, terza parte, cap. 17.1 e 17.7 (p.73-74, 80) · ⏱ estimated time 60-120 min