Checksum?

I’m reverse engineering the Mazda radio protocol and I’ve run into a checksum (I think) that I can’t figure out. Anyone have any ideas?

Here are some packets that I’ve decoded:

[f0] [23] [50 6c 69 73 74 30 30 20 54 68 65 20 47 75 69 64 65 20 2f 43 61 74 61 70 75 6c 74 20 43 61 6c 79 70 73 6f] (Plist00 The Guide /Catapult Calypso) [aa]

[f1] [29] [53 63 61 74 74 65 72 20 42 61 62 79 20 53 70 69 64 65 72 73 20 2f 41 64 20 41 73 74 72 61 20 50 65 72 20 41 73 70 65 72 61] (Scatter Baby Spiders /Ad Astra Per Aspera) [a6]

[f0] [22] [50 6c 69 73 74 30 30 20 54 68 65 20 47 75 69 64 65 20 2f 54 68 65 20 43 75 6c 74 20 4f 66 20 52 61 79] (Plist00 The Guide /The Cult Of Ray) [ea]

[f1] [1a] [30 31 32 33 41 42 43 44 61 62 63 64 20 2f 39 38 37 36 5a 59 58 57 7a 79 78 77] (0123ABCDabcd /9876ZYXWzyxw) [2a]

[f0] [22] [50 6c 69 73 74 30 30 20 54 68 65 20 47 75 69 64 65 20 2f 54 68 65 20 43 75 6c 74 20 4f 66 20 52 61 79] (Plist00 The Guide /The Cult Of Ray) [ea]

[f1] [1a] [31 32 33 34 42 43 44 45 62 63 64 65 20 2f 38 37 36 35 59 58 57 56 79 78 77 76] (1234BCDEbcde /8765YXWVyxwv) [2a]

[f0] [22] [50 6c 69 73 74 30 30 20 54 68 65 20 47 75 69 64 65 20 2f 54 68 65 20 43 75 6c 74 20 4f 66 20 52 61 79] (Plist00 The Guide /The Cult Of Ray) [ea]

[f1] [1a] [32 33 34 35 43 44 45 46 63 64 65 66 20 2f 37 36 35 34 58 57 56 55 78 77 76 75] (2345CDEFcdef /7654XWVUxwvu) [2a]

[f0] [22] [50 6c 69 73 74 30 30 20 54 68 65 20 47 75 69 64 65 20 2f 54 68 65 20 43 75 6c 74 20 4f 66 20 52 61 79] (Plist00 The Guide /The Cult Of Ray) [ea]

[f1] [1a] [30 31 32 33 41 42 43 44 61 62 63 64 20 2f 39 38 37 36 5a 59 58 57 7a 79 78 77] (0123ABCDabcd /9876ZYXWzyxw) [2a]

The first byte is the command to the radio, the second byte is the length of the payload, the following bytes in [] are the payload, the text in () is the string version of the payload (ignore it) and the last byte in [] is what I believe is a checksum.

So far I have not been able to figure out how to calculate it.

The reason I think it’s a checksum is that that’s pretty common for protocols like this, and it always comes out to be the same for packets with the same content, or even packets that add up to the same content.

Leave a Reply

Your email address will not be published. Required fields are marked *