Skip to content
Install the CameraLoops App

Browse CameraLoops via the app. Learn more.

www.CameraLoops.ru

Use the CameraLoops full-screen app on your home screen with push notifications, badges and more.

To install the CameraLoops app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install the CameraLoops app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

BCM block is not updates

Featured Replies

  • Contributor

DPS successfully flashes the block BCM, but the calibrations remain the same. Other blocks (IPC, Radio) are updated without problems.

Anyone have any ideas? What am I doing wrong?

I use DPS v4.52.2000

DPS_BCM-1.png

DPS_BCM-2.png

BCM_Programming_log.Txt BCM_Read_log.Txt

  • Replies 19
  • Views 1.3k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Is the malibu bcm wiring pinout for the battery feed ,ignition , the same as the regal ?

  • Possible is ask to @karolputowski    

  • karolputowski
    karolputowski

    Hi, thanks for mentioning me. Unfortunately it's not easy in preface Insignia with LB* engines to activate remote start. I'm working on it, currently no success 

Posted Images

  • GM Car Hacking Expert

Hi, what do you mean by the calibration remains the same, can you elaborate more? 
 

  • Author
  • Contributor

I try to flash the block with different calibrations, but the calibrations in the block remain old and the functionality is the same. The information shows the old calibrations that I had before flashing the block.

My calibrations of the BCM block:

CALIBRATION  MODID  LENGTH  FMT  DESCRIPTION 
----------------------------------------------------------------------------
13501738     00   0006281  BIN  Utility File
13586584     01   1474408  BIN  Description of Cal
22927986     02   0001256  BIN  Description of Cal
22974195     03   0001416  BIN  Description of Cal
22999732     04   0001376  BIN  Description of Cal
22927951     05   0000848  BIN  Description of Cal
22999499     06   0000848  BIN  Description of Cal
22927934     07   0001200  BIN  Description of Cal
22927923     08   0001136  BIN  Description of Cal
22927916     09   0000872  BIN  Description of Cal
22927872     10   0000648  BIN  Description of Cal
22927850     11   0001280  BIN  Description of Cal
23100957     12   0000464  BIN  Description of Cal
20945025     13   0000160  BIN  Description of Cal
13337645     14   0000176  BIN  Description of Cal
13337642     15   0000176  BIN  Description of Cal
13337641     16   0000176  BIN  Description of Cal
13337644     17   0000176  BIN  Description of Cal
20933841     18   0000096  BIN  Description of Cal
20919235     19   0000096  BIN  Description of Cal
22927815     20   0004744  BIN  Description of Cal

 

I wanted to replace the calibrations with Malibu 2014 LTZ BCM (MEA Region) and Buick regal-2016 with remote start , і also tried to partially replace the files, the system is flashed successfully (I get a green flag), but the BCM block remains at my previous calibrations.

 

That is, the calibrations in the block do not change.

  • GM Car Hacking Expert

Ok. At the section in the DPS log, the programming does a compare version check before it program the new calibration data. 

Data 1 = 02. Means Calibration version that's already stored in the module.

Data 2 = 02.  Means Calibration version for the DPS archive

Both version check responded with "02", which means the data is the same and no programming is needed and that step is skipped to the next programming opcode.

The utility file can be modified to force that step to program, but it's difficult and confusing to explain it.

 

image.png

  • Author
  • Contributor

I tried another utility file. New calibrations still do not replace existing calibrations.
I used ready archives here on the site. Programming is successful, but calibrations do not change.

 

Based on the logs, there is a difference in calibrations Date 1 and Date 2

Utility File Step=40 Opcode=1A
  16:24:59.828<[.H..] 00 00 02 41 1A BE [0006] FramePad 
  16:24:59.828>[.H..] 00 00 02 41 [0004] TxDone TxMsgType 
  16:24:59.843>[.H..] 00 00 06 41 [0004] StartOfMessage 
  16:24:59.858>[.H..] 00 00 06 41 5A BE 8C 81 A0 01 81 11 80 11 [0014] 
Utility File Step=41 Opcode=54
Utility File Step=42 Opcode=54
Utility File Step=43 Opcode=53
>> Data 1 =  80 00 80 00 80 00 80 00
>> Data 2 =  8c 81 80 00 81 11 80 11
>> Compare: Not Equal, Goto G3
Utility File Step=8D Opcode=56
Utility File Step=44 Opcode=AE
  16:24:59.905<[.H..] 00 00 02 41 AE 42 01 01 00 00 00 [0011] FramePad 
  16:24:59.905>[.H..] 00 00 02 41 [0004] TxDone TxMsgType 
  16:24:59.939>[.H..] 00 00 06 41 EE 42 [0006] 
Utility File Step=45 Opcode=3B
  16:24:59.952<[.H..] 00 00 02 41 3B 98 30 30 30 30 30 36 38 34 38 34 [0016] FramePad 
  16:24:59.967>[.H..] 00 00 02 41 [0004] TxDone TxMsgType 
  16:25:00.011>[.H..] 00 00 06 41 7B 98 [0006] 
Utility File Step=46 Opcode=3B

 

  • Author
  • Contributor

Can the block have write protection for calibrations?
Can he falsely say that the calibrations are recorded?

  • GM Car Hacking Expert
  • Contributor

What device do you use for programming?

  • Author
  • Contributor

I use china MDI

MDI info.png

  • GM Car Hacking Expert
  • Contributor

Try this one 

 

  • Author
  • Contributor

Version 4.46 did not help, I have the same problem.

 

The unit enters service mode and turns off the electronics, after a successful update everything returns to how it was, the calibrations remain the same.

BMC_prog.Txt

  • GM Car Hacking Expert
  • Contributor

are you sure you are not writing the same calibrations?

  • Contributor

Is the malibu bcm wiring pinout for the battery feed ,ignition , the same as the regal ?

  • Author
  • Contributor

I think the problem is that I am not using my utility file and OS, or the problem is that the archive is larger than the original calibrations.

  • GM Car Hacking Expert
  • Contributor
19 minutes ago, uinbytes said:

I think the problem is that I am not using my utility file and OS, or the problem is that the archive is larger than the original calibrations.

If the BCM can be used in both vechicles, can change all calibrations. i do it in a 2016 mokka bcm, and i changed the calibrations using 2016 astra K calibrations and no problems

  • Author
  • Contributor
42 minutes ago, Arbe_gtc said:

If the BCM can be used in both vechicles, can change all calibrations. i do it in a 2016 mokka bcm, and i changed the calibrations using 2016 astra K calibrations and no problems

I have an Opel Insignia 2012, I'm figuring out how to transfer remote start (option BTV). A similar car in terms of engine and gearbox is the Chevrolet Malibu Diesel LT A20DTH AF40-6. Also tried calibrations from Buick. If I leave my utility file and OS, I get an error in the firmware of the block BCM, and if I use a ready-made archive from Malibu or Buick, programming is successful, but the calibrations remain the same without changes. I tried to replace only the utility file and the OS, the rest of the calibrations I use my own. Programming is successful, but passes without changing the calibrations.

  • GM Car Hacking Expert
  • Contributor

Possible is ask to @karolputowski

 

 

  • Contributor

Hi, thanks for mentioning me. Unfortunately it's not easy in preface Insignia with LB* engines to activate remote start. I'm working on it, currently no success 

  • GM Car Hacking Expert
  • Contributor
On 10/9/2024 at 11:05 PM, uinbytes said:

I tried another utility file. New calibrations still do not replace existing calibrations.
I used ready archives here on the site. Programming is successful, but calibrations do not change.

 

Based on the logs, there is a difference in calibrations Date 1 and Date 2

Utility File Step=40 Opcode=1A
  16:24:59.828<[.H..] 00 00 02 41 1A BE [0006] FramePad 
  16:24:59.828>[.H..] 00 00 02 41 [0004] TxDone TxMsgType 
  16:24:59.843>[.H..] 00 00 06 41 [0004] StartOfMessage 
  16:24:59.858>[.H..] 00 00 06 41 5A BE 8C 81 A0 01 81 11 80 11 [0014] 
Utility File Step=41 Opcode=54
Utility File Step=42 Opcode=54
Utility File Step=43 Opcode=53
>> Data 1 =  80 00 80 00 80 00 80 00
>> Data 2 =  8c 81 80 00 81 11 80 11
>> Compare: Not Equal, Goto G3
Utility File Step=8D Opcode=56
Utility File Step=44 Opcode=AE
  16:24:59.905<[.H..] 00 00 02 41 AE 42 01 01 00 00 00 [0011] FramePad 
  16:24:59.905>[.H..] 00 00 02 41 [0004] TxDone TxMsgType 
  16:24:59.939>[.H..] 00 00 06 41 EE 42 [0006] 
Utility File Step=45 Opcode=3B
  16:24:59.952<[.H..] 00 00 02 41 3B 98 30 30 30 30 30 36 38 34 38 34 [0016] FramePad 
  16:24:59.967>[.H..] 00 00 02 41 [0004] TxDone TxMsgType 
  16:25:00.011>[.H..] 00 00 06 41 7B 98 [0006] 
Utility File Step=46 Opcode=3B

 

53  Op-Code: Compare Data

Supported By:

 

Class 2 Interpreter 1

GMLAN Interpreter 3

Description:

The 53 Op-Code compares a maximum of 256-bytes of stored information (based on AC0) against other information that can be internal data (VIT2), routine data or other stored data.

Note: The first (G0) and the third (G2) bytes of the Goto Fields are always set to 0x00 because they are not used (don't cares).

 

DPS Note: When Internal VIT2 Data is used for the comparison AND the conversion type of 01 is chosen (ASCII to 4 byte USN), the software/calibration file names (part numbers) within the DPS archive must be numeric in order to perform a valid data comparison.

 

Note: This OpCode uses only the 256-byte storage buffers. For buffer usage information, see the section: “Programming Buffers – Recommended Usage”

 

 

Action Fields:

 

AC0:

ID for saved bytes, only 0x00 0x13 IDs are supported.

Buffer size: 256 bytes

AC1:

Second ID (See Exceptions)

AC2:

Conversion 00 - Not Used

01 - ASCII to 4 byte USN

AC3:

Exceptions:

00 - Use internal data (VIT2) where AC1 identifies the information 01 - Use data from the routine indicated by AC1

02 - Use stored information where AC1 is ID for saved bytes, only 0x00 0x13 IDs are supported. Buffer size: 256 bytes

 

Internal Data Identifiers

 

 

 

Formats: ASCII, BCD =

Binary Coded Decimal, USN =

Unsigned Numeric, BIN

= Binary or bit encoded.

 

0x01

Part Number Module ID 1

0x02

Part Number Module ID 2

0x03

Part Number Module ID 3

...

...

0x13

Part Number Module ID 19

0x14

Part Number Module ID 20

 

- OR -

0x81

Part Number Module ID 1

0x82

Part Number Module ID 2

0x83

Part Number Module ID 3

...

...

0xE2

Part Number Module ID 98

0xE3

Part Number Module ID 99

 

0x41

 

VIN

0x42

Manufacturer HW Number (End Model ECU Software Number)

0x43

Supplier HW Number (Base Model ECU Hardware Number)

0x44

Tire Type (e.g. P275/55R20) Note: This internal data is only supported in GM Vehicle Assembly Plants. Comparison of this data in a Service environment is treated as an invalid exception and results in termination of utility file execution with error.

 

 

0x45

TPM tire placard data Note: This internal data is only supported in GM Vehicle Assembly Plants. Comparison of this internal data in a Service environment is treated as an invalid exception and results in termination of utility file execution with error.

0x46

Diesel Injector Mass Adjustment (IMA) or Injector Quantity Adjustment (IQA) data. Note: This internal data is only supported in GM Vehicle Assembly Plants. Comparison of this internal data in a Service environment is treated as an invalid exception and results in termination of utility file execution with error.

0x47

Transfer Case Control Module “B-Cal” (spring rate) data. Note: This internal data is only supported in GM Vehicle Assembly Plants. Comparison of this internal data in a Service environment is treated as an invalid exception and results in termination of utility file execution with error.

0x48

Key Fob data. This internal data specifier is used to program key fob data into a controller on the vehicle. Note: This internal data is only supported in GM Vehicle Assembly Plants. Comparison of this internal data in a Service environment is treated as an invalid exception and results in termination of utility file execution with error.

0x49

Engine Serial Number. . Note: This internal data is only supported in GM Vehicle Assembly Plants. Comparison of this internal data in a Service

environment is treated as an invalid exception and results in termination of utility file execution with error.

 

Pseudo Code:

XX     53 AC0 AC1 AC2 AC3     G0-G1 G2-G3 G4-G5 G6-G7 G8-G9

Set “Data2” to stored information indicated by AC0 If AC3 is 00

Set “Data1” to internal data (VIT2) where AC1 identifies the information Else If AC3 is 01

Set “Data1” to routine data indicated by AC1 Else If AC3 is 02

Set “Data1” to stored information indicated by AC1 Endif

If AC2 is not 00

Convert “Data1” using the “conversion” format indicated by AC2 Endif

If all bytes in “Data1” (max. 256 bytes) matches the bytes in “Data2” Goto step specified in G1

Else

Goto step specified in G3 Endif

Typical Interpreter Line:

 

Step

Op-Code

Action Fields

Goto Fields

06

53

00 02 00 00

00 07    00 29 00 00    00 00    00 00

 

54  Op-Code: Change Data

Supported By:

Class 2 Interpreter 1

GMLAN Interpreter 3

Description:

The 54 Op-Code manipulates one or more bytes within one of the 256-byte storage buffers (AC0) or can be used to load data from a routine into one of the 256-byte buffers for subsequent manipulation. It can also be used to copy the data from one internal storage buffer to another.

Note: The first (G0) byte of the Goto Field is always set to 0x00 because it is not used (don't care). See appendix G for further information on this Op-Code.

Action Fields:

AC0:

ID for saved bytes, only 0x00 0x13 IDs are supported.

Buffer size: 256 bytes

AC1:

Second ID

-  Byte position if AC2 < 04                               ($00-$FF zero based indexing)

-  Number of bytes to “shift” if AC2 is 04 or 05 ($00-$FF)

-  Routine # if AC2 is 06                                    ($01-$FF)

- Internal data specifier if AC2 is 07                  ($41,$44,$45,$46,$47,$48,49)

AC2:

Operation 00 - EQUAL

01  - AND

02  - OR

03  - XOR

04  - SHL shift left, fill with zero (byte shift left) 05 - SHR shift right, fill with zero (byte shift right)

06      - Load data from routine specified by AC1 into buffer specified by AC0 (maximum of 256 bytes will be loaded from the routine)

07      – Load internal data as specified in AC1 into buffer specified by AC0 (maximum of 256 bytes). If less than 256 bytes the remaining bytes in 256 byte buffer shall be set to $00). Only data entries $41 (VIN), $44 (Tire Type), $45 (TPM tire placard data), $46 (Diesel Injector Adjustment data),

$47 (Transfer Case “B-Cal” value), $48 (Key Fob data) and $49 (Engine Serial Number) are currently considered valid entries for this op-code. Specifying other data is treated as an invalid exception and results in termination with error of the utility file.

Currently, this Operation is ONLY supported by the vehicle assembly plant programming. Use of this exception in service is invalid and results in termination with error of the utility file.

08      Copy data contents from the buffer specified in AC1 to the buffer specified in AC0

AC3:

Exceptions:

XX - Bit Mask used if AC2 < 04

XX Cylinder number if AC2 = 07 and AC1 = $46. A cylinder value of 0 will load IMA data for all cylinders into the buffer. A non zero value will cause the data for that cylinder to be copied into the buffer. This is valid for vehicle assembly plant programming only.

Key Fob number if AC2 = 07 and AC1 is $48. A non zero value will cause the data for that particular fob (e.g fob 1 or fob 2) to be copied into the buffer. A value of 0 will copy fob data for all fobs into the buffer. . This is

valid for vehicle assembly plant programming only.

 

Pseudo Code:

XX     54 AC0 AC1 AC2 AC3     G0-G1 G2-G3 G4-G5 G6-G7 G8-G9

Identify Storage Buffer specified by AC0

 

(continued)

If AC2 is $08 (Copy the data from one buffer to another)

Copy the complete set of data from storage buffer ID (AC1) into storage buffer (AC0) Else If AC2 is $06 (Load routine data into Data Buffer specified by AC0)

Read routine data based on Routine # (AC1)

Store the “routine data” into storage buffer   (max. 256 bytes) Else If AC2 is $07                                   (vehicle assembly plant programming only)

(Load appropriate internal data into Data Buffer specified by AC0) Else

Change “storage buffer data” using operation indicated by AC2 (use AC1 and AC3 information appropriately)

Endif

 

Goto step specified in G1

 

Typical Interpreter Line:

 

Step

Op-Code

Action Fields

Goto Fields

06

54

00 01 00 01

00 07    00 00 00 00    00 00    00 00

  • Author
  • Contributor

Thank you all for your support. It turned out I tried to flash calibrations of American cars a generation higher than mine. When using calibrations of American cars of my generation, the calibrations change. The topic can be closed.

  • 4 weeks later...

I encountered a similar problem.

DPS flashes the BCM, but the calibrations do not change.

There is no solution yet, it is flashed to factory calibrations without problems.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Popular Members

  1. hassan77h
    +hassan77h
    27
  2. Troy
    Troy
    24
  3. uglyoldbastard
    +uglyoldbastard
    13
  4. regloops
    +regloops
    10
  5. GM-Enthusiast
    +GM-Enthusiast
    7

CameraLoops™
Powered by Art
All Trademarks appearing on this website are the property of their respective owners.

Account

Navigation

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.
CameraLoops members who viewed this content
Adelin exc11 Robi_X kenjohn1204 tobiasp savke Enterlan Ignition Encrypted Owner chicking lvulcan Carlos Navarrete Jaydog veetdoc Wlw2 dogwulf Like-Minded Fool uinbytes Sand