If you work on BMW diagnostics, coding, or module retrofits, you know how crucial Tool32 is. It lets you send low-level EDIABAS commands directly to control units—whether you are clearing stubborn hard codes, resetting transport mode, or registering a battery.
However, loading the wrong .PRG file in Tool32 can lead to missing jobs or communication errors. BMW uses dozens of module variants across chassis generations. Guessing which SGBD file controls a specific engine unit (DME/DDE) or body module (FEM/BDC/CAS) takes up unnecessary time.
Fortunately, INPA gives you a fast way to check the precise .PRG file currently running on any connected control unit.
Step-by-Step: Locating Your .PRG File in INPA
Follow these quick steps to identify your ECU file name before opening Tool32:
Step 1: Hook Up Your Hardware
Connect your ENET cable (for F/G/I-series) or K+DCAN cable (for E-series) to the OBD2 port, turn on the vehicle ignition, and ensure your EDIABAS server setup is active.
Step 2: Launch INPA
Start INPA on your diagnostic computer. Ensure both the Battery and Ignition status indicators show solid black dots.
Step 3: Select Your Chassis Group
Select your target vehicle family:
- Fxx for F-series models (F10, F30, F80, etc.)
- Exx for E-series models (E60, E90, E70, etc.)
Step 4: Open Functional Jobs
In the main module selection menu, double-click Functional Jobs (or press F10 depending on your script version).
Step 5: Run Identification
Navigate to the Identification tab (usually F2 or F3). INPA will ping every active control unit on the PT-CAN, K-CAN, and MOST buses and output a complete module list.
Reading the Output Column
Once the module scan finishes, locate the SGBD column in the table.
+------+----------------+--------------------+----------------+ | ADR | ECU / Module | SGBD Name | Part Number | +------+----------------+--------------------+----------------+ | 00 | DME / Engine | D73N57A0 | 8512345 | | 40 | CAS / FEM | FEM_BODY | 9384721 | | 60 | KOMBI | BKOMBI | 9283741 | +------+----------------+--------------------+----------------+
Every string listed in that SGBD column is the exact name of the file you need in Tool32.
For example, if your DME lists D73N57A0, your target file is: C:\EDIABAS\Ecu\D73N57A0.PRG
Simply open Tool32, click File > Load SGBD / Group Var, navigate to C:\EDIABAS\Ecu, select D73N57A0.PRG, and all specific jobs for that module will populate immediately.
Practical Example: Encoder Specifications & Retrofits
When performing retrofits or module swapping, always cross-reference encoder specifications and software integration levels (I-Levels). Different production years may run different hardware revisions under slightly varied SGBD names. Using the Functional Jobs identification readout ensures you work with the live software configuration installed on the vehicle, preventing mismatched command structures.
Want to Master BMW Programming & Retrofitting?
If you want to move beyond basic diagnostics and master full-vehicle flashing, ISTA-P/Esys encoding, FSC code generation, and complex module retrofits, check out our structured video training program:
👉 BMWAdvancedProgramming&RetrofitCourse