Here's my update:
After seeing that it had the front addresses corrupted (they were not "erased", which by the way in "flash" non-volatile memory is setting all bits on, not off) and I reprogrammed them, the system is working again. Fully functional. After two weeks, still working fine.
So, here are the details. Again, from my post:
That TPMS issue, summarized
There are four messages that the main unit uses to ask the antennas for addresses:
0x14 = Dear Front antenna, tell me what you think the two front tire addresses are
0x15 = Dear Front antenna, tell me what you think the two rear tire addresses are
0x16 = Dear Rear antenna, tell me what you think the two front tire addresses are
0x17 = Dear Rear antenna, tell me what you think the two rear tire addresses are
(Logically, command 14 and 16 will have the same responses, as will 15 and 17)
The only thing that was messed up was what the FRONT antenna thought the front addresses were. The front antenna had the rear tire addresses correct, and the rear antenna had all four tire addresses correct.
So the antenna CPU had a part, and a VERY SPECIFIC PART, of it's memory scrambled. Or something, somewhere sent the command to program the front antenna, front addresses with garbage (0x10 is the command for that), plus had a correct checksum in the message. The units do not accept messages when the check sum is invalid... or shouldn't anyway.
Things like this bring out the conspiracy theory in me: that this isn't simply a part failure, it's actually the system performing self sabotage, to force a service visit. Just because the damage was so precise. And almost identical to last time, except it was the rear antenna.
I wish I had a solution for everyone else being screwed by this process. I'd even happily reprogram antennas for people, if the user could tell me what address to set. But there is no way to know without the tools. Maybe, just maybe, a local tire store has an RF tool that could read the addresses. I know my local Discount Tire offered to check mine (but I didn't need to at that time).
Anyway, here is my output from the sniffer (parity check bits omitted from the commands for clarity) Remember, 4 bytes make one tire address, two addresses for front, two for rear.
.......BAD.................... |..........GOOD..........
-------------------------------|----------------------------------
14 ... 44 50 45 6C 45 6C 44 71 | 14 ... 08 06 66 2E 08 06 66 EC
15 ... 08 06 66 05 08 06 67 2F | 15 ... 08 06 66 05 08 06 67 2F
16 ... 08 06 66 2E 08 06 66 EC | 16 ... 08 06 66 2E 08 06 66 EC
17 ... 08 06 66 05 08 06 67 2F | 17 ... 08 06 66 05 08 06 67 2F
You can see, #16 has my correct front tire addresses on the good and bad, but #14 had rather random garbage when it went bad.
Hope this continues to educate. Good luck out there.
-Scott
After seeing that it had the front addresses corrupted (they were not "erased", which by the way in "flash" non-volatile memory is setting all bits on, not off) and I reprogrammed them, the system is working again. Fully functional. After two weeks, still working fine.
So, here are the details. Again, from my post:
That TPMS issue, summarized
There are four messages that the main unit uses to ask the antennas for addresses:
0x14 = Dear Front antenna, tell me what you think the two front tire addresses are
0x15 = Dear Front antenna, tell me what you think the two rear tire addresses are
0x16 = Dear Rear antenna, tell me what you think the two front tire addresses are
0x17 = Dear Rear antenna, tell me what you think the two rear tire addresses are
(Logically, command 14 and 16 will have the same responses, as will 15 and 17)
The only thing that was messed up was what the FRONT antenna thought the front addresses were. The front antenna had the rear tire addresses correct, and the rear antenna had all four tire addresses correct.
So the antenna CPU had a part, and a VERY SPECIFIC PART, of it's memory scrambled. Or something, somewhere sent the command to program the front antenna, front addresses with garbage (0x10 is the command for that), plus had a correct checksum in the message. The units do not accept messages when the check sum is invalid... or shouldn't anyway.
Things like this bring out the conspiracy theory in me: that this isn't simply a part failure, it's actually the system performing self sabotage, to force a service visit. Just because the damage was so precise. And almost identical to last time, except it was the rear antenna.
I wish I had a solution for everyone else being screwed by this process. I'd even happily reprogram antennas for people, if the user could tell me what address to set. But there is no way to know without the tools. Maybe, just maybe, a local tire store has an RF tool that could read the addresses. I know my local Discount Tire offered to check mine (but I didn't need to at that time).
Anyway, here is my output from the sniffer (parity check bits omitted from the commands for clarity) Remember, 4 bytes make one tire address, two addresses for front, two for rear.
.......BAD.................... |..........GOOD..........
-------------------------------|----------------------------------
14 ... 44 50 45 6C 45 6C 44 71 | 14 ... 08 06 66 2E 08 06 66 EC
15 ... 08 06 66 05 08 06 67 2F | 15 ... 08 06 66 05 08 06 67 2F
16 ... 08 06 66 2E 08 06 66 EC | 16 ... 08 06 66 2E 08 06 66 EC
17 ... 08 06 66 05 08 06 67 2F | 17 ... 08 06 66 05 08 06 67 2F
You can see, #16 has my correct front tire addresses on the good and bad, but #14 had rather random garbage when it went bad.
Hope this continues to educate. Good luck out there.
-Scott