# BMW CAFD ID Cheat Sheet



## mvaccaro (Apr 30, 2014)

I would just open every ECU FDL in the FDL editor and "Save as FWL" there are probably 20 files....... at least for your vehicle.... not saying of doing it for every single CAFD


----------



## shawnsheridan (Jan 10, 2009)

I thought that is what I wrote... 

"_If you narrow it down to say the 35 or so in a particular chassis, it could be manageable though._"

Incidentally, my car has 35 unique CAFD.


----------



## mvaccaro (Apr 30, 2014)

ok.... i misunderstood sorry


----------



## Rsnic (Sep 7, 2013)

shawnsheridan said:


> No, that won't work. It is the CAFD ID that links a CAFD to a specific ECU.
> 
> The CAFD Name Syntax is as follows:
> 
> ...


My question: does this refer to the last set of three digits or the next to last set of three digits of CAFD name -- i.e., in the above example CAFD is it 002 or 009?
Thanks


----------



## shawnsheridan (Jan 10, 2009)

Look at the example given:

cafd_*000000f9*.caf.*005*_*002*_*009*:

*000000f9* = CafdID
*005*= Major Version
*002*= Minor Version
*009*= Patch Version


----------



## Rsnic (Sep 7, 2013)

Shawn,

Am still confused. does your three digit code breaker refer to all 3 sets? I noticed that there are several that have three number sets different that these -- as I played around, I discovered that some of these, while all for the same module, apply to different F series

Sorry for being so dense.
Thanks


----------



## shawnsheridan (Jan 10, 2009)

I am not sure I understand your question. Are you asking about single ECU's with multiple CAFD's, like ACSM has 3 CAFD?


----------



## Rsnic (Sep 7, 2013)

If I may, let me try a different example, just so I don't keep circling on myself: 
cafd_00000223.caf.008_*009*_002

I know that is for the TRSV module (from your CAFD cheatsheet --00000223), but does the middle group of three digits (*009*) indicate it is a patch version or does the last three indicate it is a minor version (002)(from your posting below?

My reason for asking is that there are many CAFD files for an ECU and am trying to figure out which ones apply to my F30 and which one is the most current.

Thanks for your patience


----------



## shawnsheridan (Jan 10, 2009)

I don't understand the confusion:

cafd_*00000223*.caf.*008*_*009*_*002*:

*00000223* = CafdID
*008*= Major Version
*009*= Minor Version
*002*= Patch Version


----------



## Rsnic (Sep 7, 2013)

Now I have it -- Again, thanks for your the explanation!

So there is no way of telling which cafd version applies to a particular series without opening it? Again, there are many versions of cafd files for some ECUs.


----------



## shawnsheridan (Jan 10, 2009)

CAFD File is not married to a particular series, rather it is married to a particular ECU, which can be used in many different chassis . The CAFD for NBT can be the same for F01, F07, F10, F12, etc.


----------



## Rsnic (Sep 7, 2013)

OK, so based upon VO (including build date), E-Sys will use the appropriate CAFD for the ECU -- correct? 

Sent from my Samsung S4 using BimmerApp


----------



## shawnsheridan (Jan 10, 2009)

E-Sys will code whatever CAFD is on ECU. The ECU firmware will determine the appropriate CAFD.


----------



## Rsnic (Sep 7, 2013)

Shawn,

OK, got it. Here's why I am asking. Have installed rear & side cameras; included in this is a new ECU, TRSV. As I have surmised, VO coding will take care of coding adjustments to the existing ECUs (ICMQL, HU_NBT & REM), but couldn't figure how to get TRSV coded -- to bring into the car system.

Thanks


----------



## shawnsheridan (Jan 10, 2009)

Once installed you should see TRSV in SVT. You will need to inject CAFD into TRSV using Detect CAF for SWE, and then VO Code TRSV.


----------



## Rsnic (Sep 7, 2013)

Again, Shawn, your expertise is very much appreciated
THANKS!!

Sent from my Samsung S4 using BimmerApp


----------



## shring (Jul 8, 2013)

@Shawn
Thanks for this PDF.
Is there a new Version available?


----------



## shawnsheridan (Jan 10, 2009)

shring said:


> @Shawn
> Thanks for this PDF.
> Is there a new Version available?


No. it is too much work and it garnered little interest.


----------



## ermonee86 (Feb 16, 2015)

Hello, i'm trying to fix a problem and a friend borrowed me his original instrument cluster and he told me I have to inject a cafd to make it work fine, what CAFD Have I got to inject?:dunno:


----------



## shawnsheridan (Jan 10, 2009)

ermonee86 said:


> Hello, i'm trying to fix a problem and a friend borrowed me his original instrument cluster and he told me I have to inject a cafd to make it work fine, what CAFD Have I got to inject?:dunno:


Just use "Detect CAF for SWE" function and pick CAFD shown from latest I-Level shown.


----------



## frivas (Mar 24, 2012)

what if "Detect CAF for SWE" doesn't work? I've got a friend with a F20 who have a TV module, but it's only for analog TV. He bought a DVB-T module, we installed in his car, and I can see it with ESYS, but it don't show a CAFD. So, I tried with "Detect CAF for SWE", and it just give me an error.... of course, as this is an used module, I don't know what's the original I-Level of the module...
what can I do with this? (excluding using it as a door stopper...  )


----------



## shawnsheridan (Jan 10, 2009)

frivas said:


> what if "Detect CAF for SWE" doesn't work? I've got a friend with a F20 who have a TV module, but it's only for analog TV. He bought a DVB-T module, we installed in his car, and I can see it with ESYS, but it don't show a CAFD. So, I tried with "Detect CAF for SWE", and it just give me an error.... of course, as this is an used module, I don't know what's the original I-Level of the module...
> what can I do with this? (excluding using it as a door stopper...  )


You need to try and Flash & Encode it.


----------



## frivas (Mar 24, 2012)

shawnsheridan said:


> You need to try and Flash & Encode it.


how can I do that? any DIY?


----------



## shawnsheridan (Jan 10, 2009)

frivas said:


> how can I do that? any DIY?


http://www.bimmerfest.com/forums/showthread.php?t=811347


----------



## frivas (Mar 24, 2012)

shawnsheridan said:


> http://www.bimmerfest.com/forums/showthread.php?t=811347


thanks! I'll try it and report back


----------



## Almaretto (Nov 17, 2015)

shring said:


> Thanks for this PDF.
> Is there a new Version available?


I updated through 3.58.3 or 3.59.0.600. Once I get a chance to cleanup I will post if interested.


----------



## Rsnic (Sep 7, 2013)

Almaretto said:


> I updated through 3.58.3 or 3.59.0.600. Once I get a chance to cleanup I will post if interested.


Shawn,

I for one would find it very helpful

Thanks


----------



## Almaretto (Nov 17, 2015)

Rsnic said:


> Shawn,
> 
> I for one would find it very helpful
> 
> Thanks


I am not Shawn, but will post once I clean up. Now, it is a condensed (ie cluttered), dash-separated FP with ECU list above and below. See example image:










I have a few unknown mixed F-series ECU's (000011B3, 00001EFA, 002081, 000024CB, 000249A, 000297A) and then more than a dozen unknown either pure or mixed G-series & K001. They may be mapped in newer 2.5.5 Pro Launcher. But, at least it is a start.


----------



## frivas (Mar 24, 2012)

frivas said:


> thanks! I'll try it and report back


Well, I tried and it didn't work 

I've got this error when I tried to code the TV_MODULE:

TAL execution started.
VCM Update: VCM-Update is deactivated. VCM will not be updated. [C197]
[] There was an error, please check the log files.
[] - [Exception - UNKNOWN] FA must not be null when trying to execute a TAL containing coding transactions
Fatal error while executing tal!
Asynchrone programming failed! [C049]
FA must not be null when trying to execute a TAL containing coding transactions [1358]

I have a TV Module working on the car, and we changed that because it's analog only. The new one (the one that I'm trying to code) is a TV Modul ISDB-T.



















I'm running out of ideas


----------



## Almaretto (Nov 17, 2015)

frivas said:


> Well, I tried and it didn't work
> 
> I'm running out of ideas


In E-sys options, do you have Update VCM & MSM turned on? Are you Checking "Read VIN out of FA" and hitting "Read VIN."

I am not sure if this relates to your issues, but both Coffeebee and dmnc02 had similar errors.
See this post #16 from F8x Flashing KOMBI.


----------



## frivas (Mar 24, 2012)

Almaretto said:


> In E-sys options, do you have Update VCM & MSM turned on? Are you Checking "Read VIN out of FA" and hitting "Read VIN."
> 
> I am not sure if this relates to your issues, but both Coffeebee and dmnc02 had similar errors.
> See this post #16 from F8x Flashing KOMBI.


Thanks! that post is the bible of ECU flashing!! I'll try the suggestions there and post back!
By the way, I was checking the "read vin out of fa", pushing "read vin", and after that the VIN shows on the screen, but the checkbox moved automatically there.

thanks a lot!


----------



## Almaretto (Nov 17, 2015)

frivas said:


> Thanks! that post is the bible of ECU flashing!! I'll try the suggestions there and post back!
> By the way, I was checking the "read vin out of fa", pushing "read vin", and after that the VIN shows on the screen, but the checkbox moved automatically there.
> 
> thanks a lot!


The Bible, AKA zkiifreak's guide, is what all beginners use. I, personally, am far from an expert when it comes to flash programming and have additional notes typed all over it. But, I had seen your particular [C197] error in various posts fixed by reading twice along with as dmnc02 excellently summarized some troubleshooting steps. Good luck :thumbup:


----------



## shawnsheridan (Jan 10, 2009)

Almaretto said:


> I updated through 3.58.3 or 3.59.0.600. Once I get a chance to cleanup I will post if interested.





Almaretto said:


> I am not Shawn, but will post once I clean up. Now, it is a condensed (ie cluttered), dash-separated FP with ECU list above and below. See example image:
> 
> 
> 
> ...


My method involved Decrypting all CAFD and FAFP Files, and using them to mine ECU => CAFD ID's; however, now that all CAFD are Trimmed, the same can't be done.

So with CAFD data Trimmed, how exactly are you pulling your data? I assume some use of NCD / CAFd Tool. That said, CAFD Mapping is not integrated into the NCD / CAFD Tool's Decrypt CAFD function, so I don't see where the tool can help in this regard.


----------



## Almaretto (Nov 17, 2015)

shawnsheridan said:


> My method involved Decrypting all CAFD and FAFP Files, and using them to mine ECU => CAFD ID's; however, now that all CAFD are Trimmed, the same can't be done.
> 
> So with CAFD data Trimmed, how exactly are you pulling your data? I assume some use of NCD / CAFd Tool. That said, CAFD Mapping is not integrated into the NCD / CAFD Tool's Decrypt CAFD function, so I don't see where the tool can help in this regard.


I used CAF-Viewer to individually load at least one version of each ID from %Psdzdata\swe\cafd. Then, expanded Fahrzeugprofil-Info for associated series.



Like I said, that worked until I got to some of the newer G-series CAFD_ID's (eg. G01/ G11/ G30/ G38/ RR11: 001B2B / 001B2C / 001B2D). Whole process was under 20 minutes.


----------



## shawnsheridan (Jan 10, 2009)

Almaretto said:


> I used CAF-Viewer to individually load at least one version of each ID from %Psdzdata\swe\cafd. Then, expanded Fahrzeugprofil-Info for associated series.
> 
> 
> 
> Like I said, that worked until I got to some of the newer G-series CAFD_ID's (eg. G01/ G11/ G30/ G38/ RR11: 001B2B / 001B2C / 001B2D). Whole process was under 20 minutes.


That will work. It's manual, but still pretty quick.

I miss Untrimmed CAFD's...


----------



## Almaretto (Nov 17, 2015)

shawnsheridan said:


> That will work. It's manual, but still pretty quick.
> 
> I miss Untrimmed CAFD's...


It definitely helps that I had your list to start and already mentally associated a fair amount of the more commonly coded older ID's and ECU Names. That, a quick computer, and multiple monitors cut down on redundant loading time.

As the pdf stands, I can easily search for chassis, ID's, or Names. However, without possibly explaining my shorthand to group and minimize text, it might not make sense to others.

I am still studying the software and data architecture, but to steal from the OP, that is what screwballs like us do. I am familiar with Java and Oracle, yet not a cryptographer by trade. Oh, the good old days of untrimmed CAFD's.


----------



## Almaretto (Nov 17, 2015)

*Does anyone know the following:*
F20/ F30: *000024CB* = ?
F56: *0000249A* = ?; 
G01/ G11/ G30/ G38/ RR11: *00002660* = ?
G11: *000022E0* = ? 
F20/ F30/ F45/ F56/ G01/ G05/ G07/ G08/ G11/ G15/ G20/ G29/ G30/ G38 / RR11: *00002742* = ?
G11/ G30/ G38: *00001872* = ? 
KE01/ K001: *00002A57* = ?;
KE01: 00003b1c = ?; *0000305A* = ?; 
F10/ F15/ G01/ G11/ G30/ G38/ RR11: *00002795* = ?
F45/ F56/ G01/ G05/ G07/ G11/ G15/ G20/ G30: *000029B7* = ? 
KS01: *00003618* = ?

EDIT: Removed previously unknown


----------



## dmnc02 (Mar 28, 2003)

Here are a few for the G11:

2081 = ICAM3
2660 = DKOMBI2
1FBF = SPM
1D92/3 = FZD2
17BC/D = BDC_BODY2
1DF7/8 = BDC_BODY2
222D = FLM
2066 = LMV2
269F = PCU
22D3 = IHKA4
1C7A = SAS2
2ABF = ACSM5
33E2 = FRR2
2089 = KAFAS3
211B = VDP
2316 = ZBE4
2098 = HKFM2


----------



## Almaretto (Nov 17, 2015)

Here is the latest copy of CAFD_ID's.


----------



## shawnsheridan (Jan 10, 2009)

Almaretto said:


> Thank you. That was a tremendous help. He is preliminary copy of update CAFD_ID's.


:thumbup:


----------



## Almaretto (Nov 17, 2015)

Updated

Methodology: Used E-sys Coding-Verification to generate SVT-Trace from KIS S15A (FP = G12) and I001 (FP = I012).


----------



## Almaretto (Nov 17, 2015)

Posted V4


----------



## Almaretto (Nov 17, 2015)

V6 Posted. Only three unknowns left.

Let me know if you know any of the following:

F056
CAFD_0000249A

F045/ F056/ G001/ G005/ G007/ G011/ G015/ G020/ G030
CAFD_000029B7

F020/ F030
CAFD_000024CB


----------



## Almaretto (Nov 17, 2015)

V8F Posted: No More F- or G-series Unknowns!


----------



## Almaretto (Nov 17, 2015)

EDIT8: V8F - Fixed Typo (DME_DDE8xx)


----------



## Almaretto (Nov 17, 2015)

EDIT9: V8.1F - Fixed FA2FP Table Formatting


----------



## Almaretto (Nov 17, 2015)

EDIT 10: Updated through 3.61.2


----------



## Almaretto (Nov 17, 2015)

EDIT 11: Added iCAM4 (Unmapped) & X_KOMBI


----------



## shadowx360 (Apr 28, 2013)

shawnsheridan said:


> I am not sure I understand your question. Are you asking about single ECU's with multiple CAFD's, like ACSM has 3 CAFD?


Hey, I hate to bump such an old thread, but whenever I Google which CAFD to code for ACSM your post is one of two posts that ever address this question. Can you confirm it is the first CAFD that you should code? I disabled the seatbelt gong for the passenger and it***8217;s not working so I am not sure if I should try coding another one.


----------



## shawnsheridan (Jan 10, 2009)

shadowx360 said:


> Hey, I hate to bump such an old thread, but whenever I Google which CAFD to code for ACSM your post is one of two posts that ever address this question. Can you confirm it is the first CAFD that you should code? I disabled the seatbelt gong for the passenger and it's not working so I am not sure if I should try coding another one.


The first (Top) one.


----------



## Almaretto (Nov 17, 2015)

EDIT 12: Started preliminary update through ISTA+ 4.13.31. It is mostly just some additions from G05 SVT. Once I finish comparing changes since ISTA-P 3.62.5 to ISTA+ 4.13.31, I will update.


----------



## Benzo26 (Dec 7, 2017)

Where can I see the sheets?


----------



## Almaretto (Nov 17, 2015)

Benzo26 said:


> Where can I see the sheets?


Edit in post above ours is a link to PDF.


----------



## 14TLC (Apr 18, 2016)

Some of them which are known for KE01 but also used in K001, and some for K001 which were listed as unknown

00002A57 - GM X_BCL-LEAR01-BCL
000038E5 - DME X_BMS-MP01-BMSM
000008A2 - DME X_BMSX-BOSCH01-BMSX
0000089A - ESA X_ESA-SG01-ESA
00000896 - GMS X_FSA-SG01-FSA
0000089D - SWE X_ASW-CONTI01-ASW


----------



## Aolaechea (Oct 2, 2017)

*Help!*



frivas said:


> Well, I tried and it didn't work
> 
> I'm running out of ideas


Could you resolve your problem? I cant do to work tv isdbt digital ( before i had a analogue tv). I dont know use eys program but i could pay for your help ( do a remote coding). I live in peru . I have a cable and a laptop. Please your help guys


----------



## ankneo (Jan 18, 2020)

Can we get it for G30?


----------



## sulaimansy (Jul 28, 2008)

Almaretto said:


> Here is the latest copy of CAFD_ID's.


thanks alot


----------



## OreBank_ (Jan 5, 2022)

shawnsheridan said:


> For the one other screwball besides myself out there that might find this useful, here is my BMW CAFD ID Cheat Sheet.
> 
> View attachment 449960
> 
> ...


Hey Shawn, I recently got a 2021 G30 530i and I’ve been trying to code easy entry to no avail. I’m in Houston as wel and I was hoping that we could meet up. For some reason, I’m not able to PM you on here. Could you PM me?


----------



## shawnsheridan (Jan 10, 2009)

OreBank_ said:


> Hey Shawn, I recently got a 2021 G30 530i and I’ve been trying to code easy entry to no avail. I’m in Houston as wel and I was hoping that we could meet up. For some reason, I’m not able to PM you on here. Could you PM me?


Sorry, I have no idea on the coding for this. I have never coded it before nor any G30 car.


----------



## OreBank_ (Jan 5, 2022)

shawnsheridan said:


> Sorry, I have no idea on the coding for this. I have never coded it before nor any G30 car.


Damn ok. Well that’s for the response.


----------

