Find the Algorithm that generates the checksum

Posted by knivmannen on Stack Overflow See other posts from Stack Overflow or by knivmannen
Published on 2010-05-24T11:54:42Z Indexed on 2010/05/24 12:01 UTC
Read the original article Hit count: 269

Filed under:

I have a sensing device that transmits a 6-byte message along with an 1-byte counter and supposely a checksum.

The data looks something like this:
------DATA----------- -Counter- --Checksum?--

55 FF 00 00 EC FF ---- 60---------- 1F

The last four bits in the counter are always set 0, i.e those bits are probably not used. The last byte is assumed to be the checksum since it has a quite peculiar nature. It tends to randomly change as data changes.

Now what i need is to find the algorithm to compute this checksum based on --DATA--. what i have tried is all possible CRC-8 polynomials, for each polynomial i have tried to reflect data, toggle it, initiate it with non-zeroes etc etc. Ive come to the conclusion that i am not dealing with a normal crc-algorithm. I have also tried some flether and adler methods without succes, xor stuff back and forth but still i have no clue how to generate the checksum.

My biggest concern is, how is the counter used??? Same data but with different countervalue generates different checksums. I have tried to include the counter in my computations but without any luck.

Here are some other datasamples:

55 FF 00 00 F0 FF A0 38
66 0B EA FF BF FF C0 CA
5E 18 EA FF B7 FF 60 BD
F6 30 16 00 FC FE 10 81

One more thing that might be worth mentioning is that the last byte in the data only takes on the values FF or FE

Plz if u have any tips or tricks that i may try post them here, I am truly desperate.

Thx

© Stack Overflow or respective owner

Related posts about crc