07-2013 GM BCM

radrace19
Posts: 58
Joined: Tue Apr 19, 2022 8:51 pm
cars: Pontiac G8 GXP

Re: 07-2013 GM BCM

Post by radrace19 »

koolky wrote: Mon Jan 19, 2026 7:35 am It’s exciting that EFILive is able to read and write these BCM’s. Being able to full flash would be nice seeing as GM used a lot of OS part numbers over the years. It would be nice if there was a way to read them and have them in BIN instead of encrypted CTZ. Is there a way to get all of segments to build these files? I have a few vans with OS 22915541 that I will read with EFILive this week. I guess I will pay for a few SPS VINs, compare them and find the switches to enable cruise control, remote start and keyless. One of the vans that I used to own has the same BCM OS and was loaded with forward collision warning, lane change assist and blind spot monitoring, which I would like to add to the van that I have now.
Post a VIN and I'll pull the cals for you.
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: 07-2013 GM BCM

Post by ironduke »

radrace19 wrote: Mon Jan 19, 2026 3:20 pm
koolky wrote: Mon Jan 19, 2026 7:35 am It’s exciting that EFILive is able to read and write these BCM’s. Being able to full flash would be nice seeing as GM used a lot of OS part numbers over the years. It would be nice if there was a way to read them and have them in BIN instead of encrypted CTZ. Is there a way to get all of segments to build these files? I have a few vans with OS 22915541 that I will read with EFILive this week. I guess I will pay for a few SPS VINs, compare them and find the switches to enable cruise control, remote start and keyless. One of the vans that I used to own has the same BCM OS and was loaded with forward collision warning, lane change assist and blind spot monitoring, which I would like to add to the van that I have now.
Post a VIN and I'll pull the cals for you.
And if you have the cals I wrote a quick and dirty program to build the bins so post them up..

I had misread one of the last posts, I thought efi live had some definitions already for the bcm, didn't know you copied them from patcher..
radrace19
Posts: 58
Joined: Tue Apr 19, 2022 8:51 pm
cars: Pontiac G8 GXP

Re: 07-2013 GM BCM

Post by radrace19 »

I was trying to put my 07-13 BCM info into the patcher tableseek xml last night. I couldn't figure out the search line to find my locations. Can someone post a little more description or how-to? I see how to change the name, description, and segment to start search.
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: 07-2013 GM BCM

Post by ironduke »

radrace19 wrote: Mon Jan 19, 2026 3:45 pm I was trying to put my 07-13 BCM info into the patcher tableseek xml last night. I couldn't figure out the search line to find my locations. Can someone post a little more description or how-to? I see how to change the name, description, and segment to start search.
I use the seach line in the file info tab to find bytes I'm looking for.. Long story is that is how I found the remote start enable and timer. Not sure if I did it write but it's been working on every single one I've used it with.. Took forever and probably could have found it easier somehow.

* is used as a wild card. There is also a space in between bytes.
Say you know of a pattern your looking for is aa XX bb where you don't know what XX is, or xx is part of an address that might change.
aa ** bb will search for that pattern..
If you click search it will find the 1st find, repeat clicks will show them all. I prefer to click on find all and see them all at once.

Once you find what your looking for you can insert the @ sign when your setting up tableseek for the addresses.

Hope that gets you started.
radrace19
Posts: 58
Joined: Tue Apr 19, 2022 8:51 pm
cars: Pontiac G8 GXP

Re: 07-2013 GM BCM

Post by radrace19 »

ironduke wrote: Mon Jan 19, 2026 4:44 pm
radrace19 wrote: Mon Jan 19, 2026 3:45 pm I was trying to put my 07-13 BCM info into the patcher tableseek xml last night. I couldn't figure out the search line to find my locations. Can someone post a little more description or how-to? I see how to change the name, description, and segment to start search.
I use the seach line in the file info tab to find bytes I'm looking for.. Long story is that is how I found the remote start enable and timer. Not sure if I did it write but it's been working on every single one I've used it with.. Took forever and probably could have found it easier somehow.

* is used as a wild card. There is also a space in between bytes.
Say you know of a pattern your looking for is aa XX bb where you don't know what XX is, or xx is part of an address that might change.
aa ** bb will search for that pattern..
If you click search it will find the 1st find, repeat clicks will show them all. I prefer to click on find all and see them all at once.

Once you find what your looking for you can insert the @ sign when your setting up tableseek for the addresses.

Hope that gets you started.
Hmm, no luck.
Here is what I'm searching for in the xml.
The file I'm testing with is attached. (I think it was your file from a few pages back)
2008.Suburban.BCM.complete.bin
This search is just for this test file. I'll have to adjust it to cover more OS.

<TableSeek>
<Name>Hyper Flash</Name>
<SearchStr>05 3F 3F 3F 3F 3F 3F 3F @ 0F 00 5A 64</SearchStr>
<Rows>1</Rows>
<Columns>1</Columns>
<RowHeaders />
<ColHeaders />
<Math>x/1</Math>
<SavingMath>x*1</SavingMath>
<Offset>986112</Offset>
<ConditionalOffset>false</ConditionalOffset>
<SignedOffset>false</SignedOffset>
<DataType>UBYTE</DataType>
<Decimals>0</Decimals>
<OutputType>Float</OutputType>
<Min>0</Min>
<Max>255</Max>
<UseHit>1</UseHit>
<Segments>4</Segments>
<Units></Units>
<Values></Values>
<RowMajor>true</RowMajor>
<Description> 255 to disable Hyper Flash. </Description>
</TableSeek>
You do not have the required permissions to view the files attached to this post.
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: 07-2013 GM BCM

Post by ironduke »

I am going to confuse myself and hopefully do not make this worse for you since I barely understand it myself.

There needs to be 2 or 4 @ symbols.. They point to an address..
If I tried to use it the way you have it set up.. the tableseek search does find something and the @ symbol contains 05.. so with the offset you put in it would point to address 0xF0C05 which makes no sense to me.. You really need to have at least 2 of those @ symbols and you don't so that's why it fails.

If your search contains the actual byte that needs to be changed like I am 90% sure it does then it's not set up like that..
try 05 3F 3F 3F 3F 3F 3F 3F # 0F 00 5A 64 as the search string. And zero out the offset.. No idea where you got that other than that's the start of the lighting segment?
radrace19
Posts: 58
Joined: Tue Apr 19, 2022 8:51 pm
cars: Pontiac G8 GXP

Re: 07-2013 GM BCM

Post by radrace19 »

Still no luck. Trying to grasp universal patcher is difficult for me I guess. :)
In the BCM bin it is 0x05 that I'm trying to locate.

The location in the file is 0xF0DB3

I'm using the other few in the tableseek BCM xml file to help, but I'm not understanding how the search is finding the correct byte to change. The search string for say Remote Start Time doesn't match the file, but the location in patcher is correct.
ironduke
Posts: 820
Joined: Thu Feb 13, 2020 1:32 pm
cars: Mainly GM trucks, a Cruze and an Equinox for dailys..

Re: 07-2013 GM BCM

Post by ironduke »

radrace19 wrote: Tue Jan 20, 2026 2:20 am Still no luck. Trying to grasp universal patcher is difficult for me I guess. :)
In the BCM bin it is 0x05 that I'm trying to locate.

The location in the file is 0xF0DB3

I'm using the other few in the tableseek BCM xml file to help, but I'm not understanding how the search is finding the correct byte to change. The search string for say Remote Start Time doesn't match the file, but the location in patcher is correct.
This search 05 3F 3F 3F 3F 3F 3F 3F # 0F 00 5A 64 should find that 0x05 byte. When you use @ symbols the program will use those as a pointer to the address.. When you use the # sign it means your searching for the actual byte. It worked for me fine last nite with the same bin you used.. I did try it with a different bin with OS 22820316 but it failed on that one. Does seem correct if you remove the last 2 bytes of the search but would need to do some testing to verify.

The 'better' way to do this afaik is to find where in the OS it's looking at this byte because then it would work across multiple OS's as long as they have the same lookup routine. different OS's may have the lookup routine in a different place plus the layout of the cal file may be different and it may not be the same byte in every cal file. Plus the cal file may have different bytes because of a slightly different calibration so the search could fail because of that.

<TableSeek>
<Categories />
<Name>HyperFlash</Name>
<SearchStr>05 3F 3F 3F 3F 3F 3F 3F # 0F 00 5A 64</SearchStr>
<Rows>1</Rows>
<Columns>1</Columns>
<RowHeaders />
<ColHeaders />
<Math>X/1</Math>
<Offset>0</Offset>
<ConditionalOffset>false</ConditionalOffset>
<SignedOffset>false</SignedOffset>
<DataType>UBYTE</DataType>
<Decimals>0</Decimals>
<OutputType>Int</OutputType>
<Min>0</Min>
<Max>255</Max>
<UseHit>1</UseHit>
<Range />
<Segments />
<Units />
<Values />
<RowMajor>true</RowMajor>
<Description>255 to disable</Description>
<MSB>true</MSB>
<DispUnits>Undefined</DispUnits>
</TableSeek>
radrace19
Posts: 58
Joined: Tue Apr 19, 2022 8:51 pm
cars: Pontiac G8 GXP

Re: 07-2013 GM BCM

Post by radrace19 »

ironduke wrote: Tue Jan 20, 2026 11:53 am
The 'better' way to do this afaik is to find where in the OS it's looking at this byte because then it would work across multiple OS's as long as they have the same lookup routine. different OS's may have the lookup routine in a different place plus the layout of the cal file may be different and it may not be the same byte in every cal file. Plus the cal file may have different bytes because of a slightly different calibration so the search could fail because of that.
Yes, that fixed the search. Thanks.

Yes, I'm starting to understand why the other searches in the xml are not finding the correct location. They must be referencing where the OS is looking.
Now how do I figure that out?
I checked a few different year calibrations where I have located this "hyperflash" option and some work with my modified search, but a few are different (mainly cars).
radrace19
Posts: 58
Joined: Tue Apr 19, 2022 8:51 pm
cars: Pontiac G8 GXP

Re: 07-2013 GM BCM

Post by radrace19 »

I think I got a handle on it now :)

<Name>HyperFlash</Name>
<SearchStr>EC 15 C4 9B FC @ @ 06 C0 C1</SearchStr>
<Rows>1</Rows>
<Columns>1</Columns>
<RowHeaders />
<ColHeaders />
<Math>X/1</Math>
<Offset>983040</Offset>
<ConditionalOffset>false</ConditionalOffset>
<SignedOffset>false</SignedOffset>
<DataType>UBYTE</DataType>
<Decimals>0</Decimals>
<OutputType>Int</OutputType>
<Min>0</Min>
<Max>255</Max>
<UseHit>1</UseHit>
<Range />
<Segments>1</Segments>
<Units />
<Values />
<RowMajor>true</RowMajor>
<Description>255 to disable</Description>
<MSB>true</MSB>
<DispUnits>Undefined</DispUnits>
</TableSeek>