12 ms·
YK22 bug causing Honda clocks to stop working
- steacher 5y agoMy car Honda CRV2011 is set to Jan 1 2001. Clock resets to 4 hours ahead. Unable to rest it. Can anyone offer help? Thanks!
- uxamanda 5y agoHonda responds “We have escalated the NAVI Clock Issue to our Engineering Team and they have informed us that you will experience issue from Jan 2022 thru August 2022 and then it will auto-correct.” https://www.crvownersclub.com/threads/2022-clock-fault-official-honda-responses-all-models.224397/ https://www.crvownersclub.com/threads/2022-clock-fault-offic...
- londons_explore 5y agoYou know what would have been better...? "We have made a small fix, and rerun all our build processes. Put this file on a USB drive plugged into the car and it will resolve the issue".
- sschueller 5y agoOr do what HP does, charge $35 for a Floppy disk instead of offering it for free download because you know, someone could use this device driver made for a specific HP model with some other hardware... /s
- hbrav 5y agoFloppy disk? You were lucky. When I contacted HP they sent me a box of punch-cards... /s
- fredoralive 5y agoThe issues seems to be with an old model, people talk about 2007, 2010 models etc. If they have USB ports, they'll probably be charge only, or only connected to the audio system / infotainment for iPod playback (latter might be an update path if its an infotainment system only issue). You can probably only do control unit updates over CAN (or custom methods), so unless you're a particular type of car enthusiast only a garage will have the tools. Plus the general digital archaeology needed to get a decade old project / branch and get it and the developer tools back into a state where you can compile and test it. Probably hard to get a fix in a few days if its only just been found. That's if a non-safety critical issue on a 10+ year old car that will fix itself in 8 months is considered worthy of fixing. In more general I suspect car companies are a bit reluctant for self-service updates like that because of the potential to brick something. If the clock problem is just tied to an infotainment display, losing that would just annoy the customer until it got to a dealer. If it for example disabled the instrument cluster, then that's a safety issue and might make the car illegal to drive (depending on local laws). If its at a dealer, a failed update can be fixed directly by the technician (replace part, or use alternative programming method etc.). Although newer cars (particularly Tesla) are perhaps seem a bit more happy to do things like OTA updates. You really hope they don't take a "build fast and break things" approach to development. And have good self-recovery systems.
- bri3d 5y agoThese infotainment modules do have DVD updates available, although it's unclear what code the DVDs can update (they can certainly provide a new version of the mapping application so it's evident they can replace code as well as data, but I don't know the system enough to know if they could update other functionalities). It's also unclear if the issue is too systemic to be solved by updating a single module. But, generally speaking, infotainment is already much more user-update friendly than you suggest - many infotainment modules will take (hopefully signed) updates over DVD, SD, or USB.
- foobarian 5y agoThe good news: you can fix your car's firmware by plugging in a random USB fob. The bad news: you can fix your car's firmware by plugging in a random USB fob.
- bri3d 5y agoThis is actually pretty common and for the most part the updates are signed and require user action to install. Now, of course, the signature checking is usually broken, because it's automotive stuff, but it is there :)
- jakub_g 5y agoGenuinely interested how this will self-fix after August 2022.
- moeadham 5y agoThe engineer who wrote the code will retire in Aug. Problem solved
- benjaminwai 5y agoI kind of sympathize the engineer who had to code this in the first place years ago. I could see it, it was probably a junior person being thrown into it. He would have had to deal with non-standard components, incompatible packages and limited memory, and had a manager breathing down his neck because the manufacturing line was starting up.. He's probably looking up at the clock and thinking that it had enough bits for the foreseeable future.
- throwaway472927 5y agoI'd be a bit surprised if anyone even checked, it's easy to type int out of habit when a number is needed, or even if the dev did consider it the code building and running might be enough reassurance.
- AshamedCaptain 5y agoOr rather: it's the latest date we are legally required to support this piece of software on these old cars on any tier-one country.
- phkahler 5y agoAugust is the 8th month. Something something octal...
- bnabholz 5y agoI have this problem on my 2006 Civic. I wondered if it was a GPS week rollover issue. Week numbers are 10 bits and roll over every 1024 weeks[0]. Jan 2nd, 2022 was the start of week 143 on the 2019 epoch. They may have programmed it such that "for week numbers 143-1023, assume the 1999 epoch is used; for week numbers 0-142, assume the 2019 epoch was used." Without having the clock "remember" the latest year it has seen from GPS (e.g. by writing into EEPROM), it would to be limited to 19.6 years of useful life. It's a matter of choosing which epoch they wanted to associate groups of week numbers with. There's something more to it though, since if it was using the wrong epoch, the date would be off but the time would still be correct. Week 143 on the 1999 epoch would be May-ish 2002 but the observed behavior is that the clocks are all stuck around 4:00 on Jan 1, 2002 (and shown as a Sunday, when it was actually a Tuesday). Since the 1999 epoch started on Aug 22, 1999, I am wondering if that's another piece to the puzzle and why they suggest it will auto-correct in August. It's an interesting problem and I'm curious about the root cause, but in reality this will just be the push I need to get a newer radio that can do CarPlay/Android Auto. [0] https://en.wikipedia.org/wiki/GPS_week_number_rollover https://en.wikipedia.org/wiki/GPS_week_number_rollover
- rekabis 5y agoSounds like the date-stored-as-integer “bug” strikes again. And here I thought something this blatantly stupid was just an urban myth among programmers. Huh.
- virtue3 5y agoYou've got to be kidding? This has continuously been a huge problem since... y2k? forever? https://www.computerworld.com/article/2529992/zune-chokes-on-leap-year-bug.html https://www.computerworld.com/article/2529992/zune-chokes-on... And the ever looming 32bit problem https://en.wikipedia.org/wiki/Year_2038_problem https://en.wikipedia.org/wiki/Year_2038_problem date stored as an unsigned int(32bit) is fine. It's efficient especially for smaller CE/embeded electronics. Gets us to ~2100? Hopefully most of those systems are dead by then.
- setr 5y agoYou’re referring to Unix time, which is generally acceptable (if too small). The GP I think is referring to the art of storing Jan 1, 1970 8:11 as the number 197001010811 —- YYDDMMhhmm format, but as a number rather than a string. Which isn’t really that bad, since it’s ultimately the same as problem as Unix time, but it’s definitely an unnecessarily abusive encoding that’s distinctly worse than Unix time for no real gain
- donquichotte 5y agoI have often wondered why dates are so complicated. `timespec`, `timeval`, `tm`? Why not use a 64bit unsigned int to describe the time in TAI [1] (no leap seconds, trivial computation of difference between points in time) in nanoseconds? That would give us 585 years, so our ancestors can deal with it. [1] https://en.wikipedia.org/wiki/International_Atomic_Time https://en.wikipedia.org/wiki/International_Atomic_Time
- MiddleEndian 5y ago>ancestors What kind of clock is this!?
- bellyfullofbac 5y ago> This thread will be locked if people cannot grow up and rein in their pseudo hysteria. Hah, welcome to the Internet, A.D. 2022. The amount of forum posts that are either "This happened to me too!" or that plus "I can't believe it, ehat a worthless car manufacturer, I'm starting a 'Ban Honda for life'-group!!!" is way too much.
- iso1631 5y ago> The amount of forum posts that are either "This happened to me too!" Eternal September called and wants its complaints back
- theandrewbailey 5y agoI immediately thought of boomers going off on conspiracy theories, like "this is the first step to being locked out of our cars and autonomously driving us all to the gulags. they're already being built!" Get a grip, it's just a broken clock. God forbid a lightbulb burns out at their house.
- deleted 5y ago[deleted]
- perryizgr8 5y agoYK22 expands to Year 1022. Why not use the correct acronym Y2K22?
- kazinator 5y agoAnd YKK expands to your fly being undone.
- nojs 5y agoIf anyone else is curious, YKK is a Japanese company that makes roughly half the world’s zippers: https://slate.com/business/2012/04/ykk-zippers-why-so-many-designers-use-them.amp https://slate.com/business/2012/04/ykk-zippers-why-so-many-d...
- skhr0680 5y agoAnd 100% of the world’s good zippers
- voxadam 5y agoIllegal monopolies and anti-competitive behavior[0] have that effect. Such arrangements may produce the best widget available but probably not the best widget possible. More to the point, they definitely don't produce the best possible widget for the best price. That said, I wish Levi's still used YKK or something better than whatever no-name garbage zipper they use now in the cut I've worn for years. [0]https://www.reuters.com/article/idUSL1926941520070919 https://www.reuters.com/article/idUSL1926941520070919
- bbojan 5y agoI've had more than one YKK zipper fail on very expensive technical jackets. Not sure if I was just unlucky, or your statement is wrong.
- nicoburns 5y agoThat they make 100% of the worlds good zippers doesn't imply that 100% of the zippers they make are good.
- jeroenhd 5y agoYou know, I fully understand the reasons for MS to use a date format in an integer for a version number in some kind of package; it was a bit silly of them not to use a 64-bit integer for the version number there, but at least it made sense. With this, I don't understand the reason at all. It seems to be the same issue, but why would you ever use an integer formatted as a date to display the clock? That's the other way around, and it's probably more work to create such integers than to use string formatting! This sucks for Honda owners because it'll take forever for any update to come out, and those updates will probably cost money as well. One of the forum users says a firmware update DVD goes for $150, that's just insane.
- rightbyte 5y ago> why would you ever use an integer formatted as a date to display the clock? Maybe the master date is sent over CAN and the bug is in the sender?
- gaius_baltar 5y agoNot a cause. CAN messages are up to 8 bytes long, not a 64-bit signed integer. There is enough space there for packing the time as a 64-bit time_t (which will ensure it will work literally forever, as the Universe will die before it overflows) or that ugly BCD format that RTCs use (which will last for practical uses).
- rightbyte 5y agoWhen I worked in the auto industry we had to fight for every bit on the CAN bus since it was always on the verge of congestion. We did insane statemachines to carry payload in unrelated bits. I can easily see someone doing: unsigned date = 202201011758; *(unsigned*)&tx[0] = date; And in another ECU: int date = *(int*)&rx [0]; int y = date / 100000000; // -20 int M = date / 1000000 - y*100; // -93 ... Or just saturating negative numbers to 0, since integer values over 0xFD00 0000 (something) are reserved for error handling.
- 5y ago
- deleted 5y ago[deleted]
- Milner08 5y agoIt's been years since I frequented a forum like that and the admin claiming that people should just ignore it and its not an issue because people have smartphones really drives home what I hate about them.
- badsoftware 5y agoEvery time I visit a forum it really does feel like a step back in time. The inability for low quality comments to be pushed downward makes them very difficult to use. Modern voting systems aren't perfect either, particularly in the way that they can create echo chambers/hivemind behavior, but it's a hell of a lot better than forums.
- hollasch 5y agoI took the time to post a possible workaround (selecting a year that mimics 2022 for calendar and leap-year status), and was promptly shut down. Apparently the moderator figured there was nothing new to discuss about the issue. Must be fun at parties, going around and shutting down individual conversations. :D
- DavidPeiffer 5y agoThis bug impacts me. What sucks is the resale value would probably take a hit if I wanted to resell before August when the issue will supposedly disappear. Does anyone have a thought on how it will fix itself? In my head, we're already at '22' for the start of the variable value and it's only going up, so I'm not seeing how it'll fix itself intuitively. I'm really curious how car dealers with a CR-V on the lot are handling this. I wouldn't want to buy a car the clock doesn't work on, and imagine most people wouldn't either. And with the clock resetting every time the car turns on, it's not like you can set it for the day and be fine while you run errands. I'm either stuck with this car until the automatic fix in August or until they come up with a better fix (which hopefully is free) or I need to replace the head unit to get a fair deal. Given the chip shortage and crazy price of cars, it may not be an issue for me, but it certainly is for some.
- dharmab 5y agoIt's 2022 and old Honda resale value has never been higher. Some models are worth as much or more than they sold for new.
- gpmcadam 5y agowouldn't it be Y2K22?
- LeonM 5y agoWhich is just as long as "Y2022", but probably not as catchy to use as a title...
- rejschaap 5y agoMight as well drop the Y, no one is going to confuse 2022 with anything other than the current year. Although we risk a Honda or Microsoft engineer showing up and suggesting we drop the 20 as well and store it in the first two positions of 32-bit signed integer.
- sbate1987 5y ago
- nerdjon 5y agoI am a little confused here, the y2k bug at least followed some logic. But I am not following what about "2022" could have caused something like this in a few different areas. Can someone explain?
- MegaDeKay 5y agoOne of the comments from the linked article... things break if you write the date in this format to a 32 bit integer. "It hasn't been in the news much but yesterday the date was written by many computers as 2201010001 (YYMMDDHHMM). Many older computers that store the date this way cannot handle any number bigger than 2147483647, so as soon as the year began with a 22, it fails and can no longer register the date/time correctly."
- BeefWellington 5y agoImportantly, a 32-bit signed integer. If this was using unsigned it would work until 2042.
- gompertz 5y agoThat's what makes it even more unfathomable how these bugs happen... Not only are they using the wrong data type, but they are using signed as well. Everytime I declare variables I think "will this ever be negative", so that I'm getting maximum value.
- apeace 5y agoThis makes sense, but I don't understand how it would self-correct in August? It seems like the integer will keep getting larger.
- akemichan 5y agoAll they need to fix it is an IBM 5100
- PopAlongKid 5y agoI drive an older Toyota car, the clock only shows hours and minutes. I wonder who decided it was necessary or helpful to start including calendar dates in a car clock display.
- oneplane 5y agoA lot of humans don't run on numbers and thus don't remember all the numbers that describe a certain temporal value all that well. This includes, years, months, dates, week numbers, hours, minutes, seconds, and timezone offsets. Luckily, the devices we have around us are much better at number-things, so it was probably deemed helpful to have those devices that are (supposedly) good at numbers display them to us so when we forget, we have a reference that can help us remember.
- Karawebnetwork 5y agoIt's on the road that I lose track of time the most. The motels all look alike, the roads look the same, and I am out of my usual routine. It's easy for me to think that it's Tuesday and not Wednesday. Not only does my car display the date, but it has a full calendar app that reminds me of events and suggests the shortest route to get there. The alternative would be to look at my phone while driving, which is illegal where I live. Yes, this is something that should be done outside of the car, but sometimes you need to know when you are driving and having it on the dashboard is the way to go.
- throw0101a 5y ago> Not only does my car display the date, but it has a full calendar app that reminds me of events and suggests the shortest route to get there. I'd rather have my phone do that, and my car (display) be a simple dumb terminal that displays whatever my phone tells it to. I generally trust the software teams at my smartphone maker to get things more-right with these types of things: will my car maker issue patches for, e.g., DST changes?
- Karawebnetwork 5y ago
- acomjean 5y agoI have this too. Its weird, every time you start the car it goes back to Jan 1, 2002 5pm (my car is a 2010 element). The bug seems to effect cars with the gps navigation unit in the radio slot. Attempts to override the time in settings show that the unit only allows you to "adjust existing time" by some number of hours or minutes. When you start the car, it seems to get the time from the gps again, so you can't just "fix" the time. I used to work on systems that would work with GPS time and UTC time. Its always tricker than one would think.. I never realized how frequently I looked at the clock. If I get annoyed enough, my solution might be the stick on lcd clock. https://www.amazon.com/Bell-Automotive-37003-Stick-Clock-Black/dp/B000IG3QUM https://www.amazon.com/Bell-Automotive-37003-Stick-Clock-Bla...
- kmetan 5y agoIt looks like the gps week number rollover is not handled correctly https://en.m.wikipedia.org/wiki/GPS_week_number_rollover https://en.m.wikipedia.org/wiki/GPS_week_number_rollover "Software that is not coded to anticipate the rollover to zero may stop working or could be moved back in time by 20 or 40 years"
- hollasch 5y agoThe moderator there has shut down all conversation about this topic, so putting this possible workaround here. The mod simply responded "doesn't work", but I'd love to hear more details from someone who's experiencing the problem. -- I have a workaround for people to try (I don't have the problem myself). I've read the related (two, I think) threads here, and haven't seen this workaround proposed, so perhaps it might work as a hack. Others have mentioned that you can disable automatic (GPS sourced) updates, and switch to manual. If you can do that, and set the year to 1994, then your year will be wrong, but your month, day, and time will all be correct, and should suffice for the next six years, including the leap year 2024 (which would display as 1996). Unfortunately, the year 2000 is not a leap year, and you'd hit this in 2028, which is a leap year, so you'd need to set it back to 1994 again when this happens. If you can set your year back to 1966, that will give you 24 years of successful calendar updates. Other years that will work and would give you even more time would be 1938 and 1910. There is a catch, however -- Daylight Saving Time. If the system is dumb about DST in manual mode, then everything's great, and you'll just have to adjust the clocks entering and existing DST. If it's a little bit smarter, locking in modern regimes for DST, then everything will still be great, and you won't have to adjust your clocks manually. However, if it's very smart, then US residents will have a problem, because the rules for DST changed in 2007. That means you'll have to manually adjust on the modern DST dates, and manually correct on the historical DST dates. But that's just moving updating the hours four times a year worst case. UK DST was last changed in 2002, I believe, and the same caveats apply: you may have to manually adjust your hours several times a year. Very curious to hear if anyone has success with this hack.