Almost every navigation-equipped Honda and Acura model made from 2004 through 2012 is currently suffering from something known in the I.T. industry as the Y2K22 bug. It’s a positively preposterous failure, yet not the only case of counter-functions malfunctioning at bizarre points. Let’s take a closer look at the Y2K22 bug, along with several other bizarre rollover glitches.
A bit like Y2K, the Y2K22 bug is a date-related issue that affects certain 32-bit pieces of software. Why? Well, in short, the largest signed integer that a 32-bit format can store is 2147483647, or 01111111111111111111111111111111 in binary. These older Honda navigation systems appear to use a YYMMDDhhmm date format, then convert that number to a signed 32-bit integer and store it for calendar use. For example, August 17, 2021 at 12:35 PM would be stored as 2108171235.
While this setup wasn’t a problem in 2021 due to 2021’s last two digits falling below signed 32-bit format’s maximum number (again, that’s 2147483647), the last two digits of 2022 are over the line. August 17, 2022 at 12:35 PM would be 2208171235 — a figure that exceeds the limits of a signed 32-bit integer. This wouldn’t really be an issue if the navigation system’s calendar were to roll over properly, but it’s rolled back to 2002. To make matters worse, owners can’t adjust their clocks either — clock time is adjusted through the navigation system, even on models with separate LCD clock displays, and navigation system time is currently locked due to a GPS rollover error. Gabe Canova shows the issue in the video below.
With no fix to the clock software available right now, one owner has come up with an ingenious temporary solution. DogP on the AcuraZine forum has found a way to intercept and modify data from the GPS receiver, fixing this clock issue. Apparently this solution barely fits on a PIC16 microcontroller, and although it seems to have fixed the date issue for now, its operating nature means that owners will once again face a time issue at the next GPS epoch rollover in 2038. Still, this GitHub legend has provided plans and source code for truly irked Honda and Acura drivers.
For those not comfortable hacking their navigation systems, Honda says in a service bulletin that affected systems should read the correct time in August, but the date still won’t be correct. As of now, Honda hasn’t announced a true fix for the calendar function. I’d suggest donning a pukka shell necklace and sliding a copy of Sum 41’s All Killer No Filler into the CD player so it at least feels like it’s 2002.
What makes this whole debacle even funnier is that this isn’t the first time Honda navigation systems have encountered a clock issue. On August 16, 2017, owners of navigation-equipped Honda and Acura products built between 1999 and 2004 suddenly found that their vehicles had hit VTEC hard enough to punch a hole through the space-time continuum, forcing their digital clocks to read 00:00, dying 40 years to the day that Elvis died on the throne. The digitally-stored date itself rolled back to Jan. 1, 1998, precisely 1,023 weeks and six days prior to the incident; as GPS time rollover happens every 1,024 weeks, it’s safe to assume that this problem also involved a rollover error.
Toyotas Stuck at 299,999
Digital issues aren’t only Honda’s domain. Toyota Corollas, Matrixes and Pontiac Vibes from 2003 to 2008, Mk1 Priuses, and 2004-2005 Mk2 Priuses have a software issue that raises a whole host of legal questions. When the odometer in any of these vehicles hits 299,999, it just sorta stops as if Toyota never expected the cars to last that long. Toyota! The brand that practically defines gravity-like reliability.
This rollover issue has been documented by Prospeedo as an EPROM error, and the Toyota-approved fix is to install a new cluster at significant cost to the consumer and note the existing mileage on a vehicle-mounted sticker. While it’s also possible to save some money and have the existing cluster reset, that still raises some ethical issues. Because nobody stops driving their Toyota products when the clusters max out, there is a certain onus on the previous owners to be honest, either by declaring the vehicle’s true mileage as unknown or by taking meticulous records for mileage covered beyond 299,999. For instance, owners could reset the trip computer when the odometer hits 299,999, then take time-stamped photos of the cluster with each oil change. Still, the chances of these cars having essentially been rolled back by omission are uncomfortably high.
Jeep’s ‘Bad ODO’
Toyota isn’t the only manufacturer to experience digital odometer woes. While Toyota’s Clockstoppers odometer glitch is impressive, Jeep upped the ante by pulling a full Houdini. After reaching 13,342 miles, Jeep Wrangler 4xes built between September 8, 2021 and September 13, 2021 would banish their odometer readings from their clusters entirely, replacing them with — hilariously — the message “Bad ODO.” Total digital odometer failure at such low mileage is almost unheard-of; Jeep didn’t just lower the bar, they dropped it through the pavement. According to recall documents, 2,903 plug-in Jeeps were potentially affected. While Jeep was able to fix low-mileage examples with a simple software update, Wrangler 4xes with invisible odometers needed their entire clusters replaced. Guess what? This is also likely a 32-bit signed integer problem. While 2,147,483,647 is a massive number, 2,147,483,647 centimeters measures out to 13,342 miles. Kinja user chaboud deduced that Jeep was likely using a signed 32-bit integer with a ‘<’ boundary condition rather than a ‘<=’ boundary condition, causing overflow after 13,342 miles were logged as centimeters.
BMW’s Stuck Service Light
What would an article about automotive tech issues be without bagging on the Germans a touch? In E90, E91, E92 and E93 BMW 3-Series models, the service reminder light can’t be reset after a vehicle reaches 221,000 miles. While the concept of a Bangle-era BMW actually making it to such a milestone may sound about as likely as getting stuck in an elevator with Abraham Lincoln, the naturally-aspirated N52 engine found in models like the 328i has been proven solid past 300,000 miles. Imagine that you’ve kept up on maintenance to the point where your 3-Series hits 221,000 miles, only to be rewarded with an obnoxious red warning lamp every time you start or shut off your car. Some lousy prize, right? Thankfully, there is a cheap way to fix this. The oil life monitor, also known as condition-based service or CBS, is a function that can be coded out completely using various software solutions. After coding it out, owners simply follow a traditional mileage-based service interval.
When Newer, More Computerized Cars Get Old, You Can Expect Things To Get Weird
If this all feels a bit like the time your dad came home with a desktop tower packed with a Pentium III and 512 MB of RAM and boldly proclaimed that nobody will ever need more computer power than this, that’s part of what’s going on. Older electronically-controlled cars are outliving their expected service periods. Automotive tech is often a few years behind consumer tech due to typical service requirements and R&D cycles, so many of these issues could be chalked up to slightly ropey code designed to run on hardware that’s slightly outdated by the time it comes to market.
It’s very rare that a programming team can fully debug software prior to start of service — automakers are rolling out over-the-air updates to connected cars all the time. Before the era of connected cars, updates had to be done either when vehicles were in for service or at home using a file on a USB drive. As a result, many non-connected cars see updates and patches neglected. On the hardware side of things, the situation’s even trickier. Automotive integrated circuits must often pass testing on the tougher end of the Automotive Electronics Council’s Q100 standards. Grade 2 specifies a working range of -40°C to 105°C, while Grade 1 specifies -40°C to 125°C. Add in margin for burn-in, consideration of power consumption and the fact that many of these chips need to control safety-critical systems for over a decade, and it’s no wonder that automakers tend to rely on proven technology for their electronics. Many automotive chips clock in between 45 and 90 nanometers in size, 15-year-old tech at the newest. By trying to provide a modern experience on old hardware, automaker are subjecting more and more consumers to rollover glitches.
When chatting with Victor S. Lee — a veteran automotive engineer specializing in manufacturing engineering and technician training — about counter issues, the possibility surfaced that some of these issues could be caused by coding meant to avoid other bugs during a vehicle’s expected lifespan. “Saab info display computers are all going to die in 2034,” he said. “We were discussing this in training classes back in 1996; we didn’t know why the dates in the computers were all set to go defunct.” According to Lee, the driver information centers in Saab 9-3s and 9-5s were only configured to work with a countdown date timer, likely to avoid Y2K issues. Due to a lack of factory support, these driver information centers have a very hard expiry date. “It’s a shame that the museum cars will cease to function correctly at the end of their lifecycle,” Lee mused.
While most newer cars likely won’t experience the same glitches outlined here, they’re bound to experience new annoyances. With the sunsetting of 3G networks and transition plans that are patchier than a ninth-grader’s facial hair, future bug fixes for the outgoing generation of connected cars are likely to slow to a crawl. From a manufacturer’s standpoint, it doesn’t make much sense to spend money supporting an outmoded platform. Still, where OEMs may take away, the aftermarket and independent repair shops often give solutions. From replacement head units to programming clusters, most of the known issues we’ve outlined are likely fixable one way or another, so the aftermarket will likely continue to fix future bugs. If there’s one thing we can say for sure, it’s that we’re a long way from transistor radios, Toto.
While Kinja user chaboud’s deduction was close, I believe that the software should be using a 64 bit-type integer, but it treated the data as a 32 bit-type integer in a temporary variable causing the data to overflow. Splitting hairs? Absolutely. The supplier should have been using MISRA rules since this is a safety critical piece of hardware, probably they used unsigned int when unsigned long would have been the correct choice.
I have the same issue with my ’07 Ridgeline. I really don’t care too much about the incorrect date, but the clock is perpetually ten minutes slow and the glitch won’t allow me to reset the time. Since I don’t use the Nav or the satellite radio, I’m seriously considering swapping out the factory unit for an aftermarket one that supports Apple Car Play.
I’ve patiently waited for this site to go live, and it just feels RIGHT.
Weird how all these cars command silly money on the used markets, but have the weirdest issues.
I was fiddling around with my current S550 mustang, which I love, and began to notice that it doesn’t seem particularly well put together. Random plastic trim here and there to hide welds, plastic in places that feel like they should be metal, random stuff like that. Nothing patently *wrong* per se.. just kinda blah. It reminded me of the many times I was poking around my old beater ’68 Charger I used to have… I would chuckle about how poorly that was put together as well. Turns out that (likely) cars of every era have some inherent shoddiness… I just didn’t really used to notice it as much.
For now I’m just gonna get out the phone and use Waze.
I’m willing to bet some one mentioned this was all possible and how to avoid it in a meeting back in 200x but the bean counters elected that the few issues down the road were not worth spending money to prevent it. At least this isn’t a risk of immolation for this ***cough cough*** Ford **cough cough***.
In your last paragraph you touch on a bunch of issues I’d love to read more about. For example with the 3G shut-down, that was a totally predicable thing, even a decade ago when many of the impacted vehicles were being designed. We’ve lived through multiple generations of wireless service being replaced (analog, 2G, with each generation having about a 20-year lifespan). As passenger cars are getting more and more connected, what are manufacturers doing to make their in-car tech “upgradable”? I’ve been burned by both Nissan (2013 Leaf) and BMW (2016 X5 PHEV) on this issue. Nissan at least provided a reasonably-priced option to upgrade the 2G(!!!) modem in our Leaf in 2017, but I think it only got upgraded to 3G and whoever owns that car now has a useless system. BMW didn’t even *try* to offer us a way to upgrade our modem, and this in a car that’s only 6 years old and stickered for nearly $80k. I’ve been a life-long BMW fan, but this hogwash has completely soured me on the brand. I’d really like to know which manufacturers are taking this issue seriously and considering future hardware upgradability in their app/infotainment system designs. Or if they’re not, I’d like to know WHY not.
Even more reasons to keep my 27, 33, and 51-year-old cars until they simply can’t be repaired any more. They neither know nor care what the date is (or even whether it’s AM or PM), the odometers are mechanical (or electromechanical), and there’s probably more software in the key fob of a modern car than there is in the newest of my three. And that’s just the way I like it.
I had a 2006 Accord (V6, 6MT, 4 door) and I miss that car. Still the best shifting stick I’ve driven. However, the info system was not intuitive, and I’m not surprised something like this happened.
Toyota digital thermometers will not read lower than -40c – I tested this in Winnipeg
As mentioned over on the Hyphen, I appreciate you mentioning the temperatures vehicle electronics are tested at. It’s kind of neat that, in the winter, I’m often using my vehicles below the bottom threshold.
No, my Alltrack’s CD player doesn’t work at -45 Celsius.
And this is why Right To Repair is going to become a much larger nationwide fight. We can’t repair the OEM F-up with an aftermarket solution if the OEM’s deny access to repair.
All they need to fix the issue is a flux capacitor and 1.21 gigawatts.
Over in the Vibe group we have many members with the infamous 299,999 odometers. I even have some stickers made that I need to throw on the store (really should get on that…). It’s such a strange issue, but it’s worse for our Canadian friends that count in kilometers. Their odometers stopped counting at just over half distance compared to the American cars.
I haven’t privately sold a car in almost 15 years but the statement of mileage document used to include a checkbox that said “Mileage has exceeded the odometer’s limit” that was intended for the old 5-digit mechanical odos that rolled over to zero at 100,000 miles but would presumably apply here as well.
I have only learned a little bit of programming, but is there a good reason to use a signed integer format for a value that can never be negative? If they weren’t wasting a bit on the “plus sign”, it would presumably take twice as long to roll over, and issues like this would be mitigated somewhat … right?
Just laziness, probably. The default for most variables is signed, so it takes specific effort and foresight to declare one as unsigned. A programmer that didn’t check whether the variable was big enough certainly didn’t take the extra step to make it unsigned.
Nice deep dive!
I have a 2010 Accord who decided it wanted to become a dual naturally-aspirated motor; including natural oil pan induction starting in October. Been on the hunt for a motor and with winter, the ol girl has sat in the driveway collecting snow like an ode to David Tracy’s driveway. Have a motor on it’s way next week but the car hasn’t seen the key turned in 2022. This will at least save some confusion as to why I can’t get the f#$@%^in clock to set correctly! 🙂
Problems like this will never go away. OEMs only care for first 5 maybe 10 years of the cars existence. And 10 year is really pushing it. After that they don’t care at all, it doesn’t make them money. That’s all they care about.
Where I work have several video conference systems, that while older still work perfectly fine, who’s software only went up to 2020 for the date, so they all went back to 2001 on 1/1/2021 and have been counting up from there. Even with being connected to a time server, they just can’t go past 12/31/2020. I suppose it’s their way of saying “you should go by new ones”.
Strong choice, but I would go Lit over SUM41.
Oh hell yeah, a Lit reference. Atomic is a pretty decent album, it’s a shame it never really got the recognition it deserved.