I built a whole remote software update mechanism for a control binary that ran on 25k+ servers across multiple data centers. Rest assured that after the first time I messed it up (which required ssh into each box individually), I wrote a lot of unit and integration tests to make sure that it never failed to deploy again. One of the integration tests ensured that the app started up and could always go through the inte…
As somebody currently working at an automaker on software systems, the amazing thing to me is that a mess up of this level doesn’t happen weekly. It’s rough out here.
Rivian software update bricks infotainment system, fix not obvious
211–220 of 386 posts
Re: Rivian software update bricks infotainment system, fix not obvious
#212Earlier quoted context omitted.
> Turns out we had a separate process running that listened on a local socket and would run any command it received as root. Nobody remembered building or releasing it but it made my work quick. No offense, but what a shit show. It makes me assume no source control, and a really good chance that state actors made their way into your network/product. This almost happened at a communication startup I know, with three l…
oh, yeah, this place was a total shit show. BUT we were ISO9001 certified!! So we had source control (CVS) and a Process (with a capital P) to follow. In this case that code was added in a previous development iteration because someone needed to run something as root when a user pressed a certain button on the LCD panel in front and this was the decoupled solution they wrote intentionally. Somehow I feel like that ma…
It's beautiful.
Re: Rivian software update bricks infotainment system, fix not obvious
#213Or at least the ability to re-init/download from scratch, like a borked macbook disk. And hey, not the extra ability to do that, make it "the way it works" so you're always testing it.
Re: Rivian software update bricks infotainment system, fix not obvious
#214Re: Rivian software update bricks infotainment system, fix not obvious
#215Earlier quoted context omitted.
Rivian does have a test fleet, and they test it for weeks before releasing. This particular issue is because they apparently distributed the firmware signed with the wrong cert. Not a bug in the software itself. That is independent of testing the software, but still a distribution issue.
My 2c based on your comment: * " signed with the wrong cert " should mean the software package is rejected before it it is installed. * software upgrades are tricky and there should be at least 2 versions available so that fallback to the previous is possible and automatic in case of issues.
Or is multiple signed packages and one is wrong.
Or the test cars accept prod and test certs.
Or some combo of the above.
There are lots of ways this could have broken that doesn't amount to rivian not being able to write software
Re: Rivian software update bricks infotainment system, fix not obvious
#216I built a whole remote software update mechanism for a control binary that ran on 25k+ servers across multiple data centers. Rest assured that after the first time I messed it up (which required ssh into each box individually), I wrote a lot of unit and integration tests to make sure that it never failed to deploy again. One of the integration tests ensured that the app started up and could always go through the inte…
out of morbid curiosity.... how long did it take to ssh into and fix all of those servers? I imagine even automating a fix (if possible) would still take a good amount of time.
The way I built my app was that I could install it cleanly via a curl | bash.
So, I just had a simple shell script that iterated through the list of IP addresses (from the DHCP leases), ran curl | bash and that cleaned up the mess pretty quickly.
Re: Rivian software update bricks infotainment system, fix not obvious
#217Earlier quoted context omitted.
You've never been to death valley without air conditioning Or Russia without heat. I think the infotainment system in this case has a broken climate control function. There are workarounds, but why if you don't have your phone?
I have been talking recently to someone whose job involves sometimes driving to other continents, and they mentioned that cars more recent than ~2003 were out of the question because outside of the EU you cannot expect random mechanics to have the computers required to interface with the car's computers - required for repairs.
Re: Rivian software update bricks infotainment system, fix not obvious
#218Earlier quoted context omitted.
I don't think the Jeep or BMW infotainment systems are nearly as fleshed out or complex as Rivian's, especially not Tesla's. Maybe I'm wrong!
Well then we need to ask why is their infotainment systems so complex? and does it need to be? I want my infotainment systems go connect to Android Auto. That is is. Make it do that, and only that. This drive to make EV's as complex as possible is one of the reason i am not planning on buying one EV's are suppose to be SIMPLER than ICE. Make me a Simple Car with simple controls, and just replace the ICE with a batter…
Re: Rivian software update bricks infotainment system, fix not obvious
#219Interesting to note that Ford's approach of updating software is far more conservative and car-like. It can be done fully offline via USB, but requests that you kindly upload the log files written to the memory stick back to them when complete, in the instructions as a necessary step. Presumably so they can track and stop incidents like this before they happen fleet-wide. Rivian seems more like a "ship it and we'll f…
Fords approach is flawed however. You can still update sync with a bad update and bork it over usb. Ask me how I know.
Re: Rivian software update bricks infotainment system, fix not obvious
#220Earlier quoted context omitted.
The 'early release tests' weren't testing an identical copy of the actual update?
It's probably closer to: The test vehicles accept test/prod signed versions Regular vehicles only accept prod signed versions They are otherwise identical. The test vehicles were sent test signed versions The prod vehicles were sent the exact same update, signed with test. This would not be uncommon since the test vehicles probably occasionally run test releases for debugging. Further, the update is probably multiple…
You could get this situation if the application code accepted signatures the bootloader does not though. I can imagine that accidentally occurring.