SEARCHING FOR THE CODING KEY
If anyone is interested, please read slowly and carefully ... because there are probably a lot of my mental shortcuts .. but people who already have some knowledge in the subject and excel are not foreign to them - they will not require an extension of this description.
For the others, it will probably be necessary to create a film ... because it's hard to illustrate only with a description.
It's not that simple - if we don't have any SEED coding pair.
But it can be done.
I am just after the search for the key for coding the Autoliv c3III pillow sensor - the same for the 3008 II, etc.
And here to the moderator --- even the manufacturer allows coding the steering wheel page left right.
that is, coding this parameter we do not act against the law.
So please do not close or block - for photo proof:

Another thing, the AIRBAG sensor was used here as a teaching aid to illustrate the operation.
ATTENTION - which is important in this and probably in other controllers (ASS, ABS, AIRBAG ... these block at 100%)
WHEN ENTERING A ERROR KEY, THE CONTROLLER IS BLOCKED !!!
After blocking - it is not possible to generate SEED, i.e. the next encoding.
BUT the driver works normally - we won't break anything except the fact that the fun with coding is over at the very start.
So, before we start looking for the encoding key in such a driver, it is worth having a backup copy of the batch.
there was no problem with the airbag sensor.
After each wrong key, the sensor should be programmed with the output batch, because as I mentioned, it is impossible to trigger another SEED after the wrong SEEDKEY.
Once we have it, we can start the game of looking for the key.
Here is a description of how I approached it - maybe it's a longer way, maybe not ... I don't know - so far the only one for me.
STAGE I version 1
I take a pack of random keys or more ... I started with 20 random keys. (range 0000 to FFFF)
of which are the two worth including in this package.
And I'm starting testing on SEED SEEDKEY.
we complete
NON-OPERATING pairs - in order to rule out invalid keys.
e.g.
A0975BD3
29FF774B
11734302
46BE36DF
CEB81F58
15F67BEF
3CFCCD8A
457333FD
B907B220
3FFB3FFF
e.t.c.......
As I wrote before, for some SEED SEEDKEY pairs, there may be from a few to several hundred keys or even several thousand keys.
So if the key from the first 20 package does not work for us, it excludes quite a lot of other keys from the machine.
I did a little redo my applet to generate the list of invalid keys faster (I need to fine-tune it - so it is not available for download at the moment - I used the console option) but what is possible to do it, although the process is quite slow - Generate SEEDKEY save all broken keys for given broken SEED SEEDKEY pair.
And here I will refer to the further part of the description - if we do not have the ability to generate a list of all wrong keys, I would use the method mentioned later, i.e. we test the keys one by one 0d 0000 and sample each key several times for different SEEDs called.
We are left to write down, for example, the first 100 or 200 keys and a bit of luck and a lot of stubbornness. (i.e. STAGE I version 2)
I would like to add that all the keys are 65,535 pcs - so it's hard to hit ...... but it happens that we can hit a working key at the beginning (this is what happened to me when playing with BSI continental) and then we go to stage II - if we are satisfied it won't work, we repeat the operation for all 20 random keys.
After these 20 keys, if we do not have any working pair, we collect all these keys to one list .. eg in Excel - we exclude duplicate keys (and it may turn out that we have about 5,000 keys that will not work - using only 20 seed seedkey pairs).
it looks something like this - a snippet (there are several hundred of them ... but this is more or less what it looks like at the top of the list):
0002
0005
000E
0011
0023
0029
002F
0030
0031
0033
0034
0035
0036
0038
003D
003F
0040
0040
0042
0049
004A
....... etc (several hundred, several thousand)
now we can start driving successively from 0001 (unless it is on the list, it is the first one that is not available)
as above 0001, 0003, 0004, 0006 ... etc
we do another 10 - we generate SEED SEED KEY pairs - we find the keys for them and add them to our list (sort, exclude repeaters in excel etc.)
It can be done on the basis of one program (someone ambitious may write it) ... but I don't want to write it - because excel will do it too.
we set the column to text - because we use hex notation
we remove duplicates
we sort for a better search for free keys
Here I will add some very important information !!!
we need to capture the CAN stream all the time to record SEED and SEEDKEY !!
and VERY IMPORTANT !!
We must note the working steam !! the key alone will get us nothing.
we mark the keys to be checked
This is an example of a procedure - how many looking for so many ideas - not the only way - just a tip.

I had to program the AIRBAG sensor about 120 times until I found the first working pair.
the first key that worked is (00B3) - I will add that this is only a case that something will work or not, unless it is the correct key (the point is that a given key will work with one SEED and not another one - this is the case) - but it hits something like that and we are waiting for such a key.
STAGE I version 2
NOTE - it can also be done differently - for example for a SEED SEEDkey pair that triggered a working 00B3 key - the appropriate key would also be 0011
so already on the 11th attempt we would have a pair --- but it all depends on the SEED that our ECU will generate at the moment.
Following the stubbornness of a maniac, you can approach it in a different way - knowing that a given key can work with 1: 10 Seeds, you can repeat several codings for each key to call different seeds ... I think that the probability and the number of repetitions is very similar.
When we get such a key, WE SAVE A PAIR OF SEED SEEDKEYS !!! and we go through STAGE II
STAGE II
Example with a working pair:

And I will emphasize it once again - so that someone would not think that the key entered above is OK ....
Such randomly operating keys are not the correct key. They work with one or more SEEDs that generate ECU data, but not all.
There is only one key that will work with all SEEDs and the search process should be done on the exclusion of all others
Finding a few random keys is to find the right one among them - because it definitely is there and will work with all SEEDs.
for a working SEED SEEDKEY pair - generate all the keys.
we generate them from my program which is a few posts above.

You can already see that we can omit many keys !!!! we are starting to make big jumps.
Compare the generated keys with the list made earlier and exclude those that will not work.
now we start testing only those keys from this pair that we have not ruled out.
we should hit a rutted pair pretty quickly and another ...
Having already two pairs, I start to use my extended program (I made for 10 pairs)
the more pairs we start to have, the fewer matching keys we have.
In fact, after finding the first working pair (say 120, program about 6h with breaks)
It took me 20 minutes to find the only key.