Imagine only having one copy of the system so when a situation like this occurs, you lack the ability to automatically switch to a working one, re-download and retry, without danger of this occurring.
This was fixed a decade ago with Android. They could have literally taken the source code from aosp and added it, or at least converted it (if in different programming language), and never had this issue. It would cost $0 and minimal time. But no. That won’t ever happen. It’s built ford tough.
While the implementation of an A/B update system wouldn’t be drag and drop from Android to a different OS, they absolutely could implement the same idea to prevent this issue.
The likely reason as to why is storage space, you need two copies of the system, while only one is running at a time. They probably put as little space into these infotainment systems as possible.
If they put more in new models, they’d then have to support two methods of updating the system. It’s easier to tell the customer on the rare occasion that an error does happen “oops we made a fucky wucky it’s on you to fix it”
There’s no way storage space is the issue. It would cost pennies per car and take up no additional space or power. The size of map/gps data would dwarf the OS by an order of magnitude or more.
You’re 100% right. It would be pennies for larger storage. However, that doesn’t mean they wouldn’t go for a smaller size to save those pennies.
I used to work on a car lot, and a disturbingly large number of cars had an SD card port that would only be used for map data. You had to purchase these cards from a dealer or the manufacturer specifically, and if you wanted map data the SD card had to be inserted. I saw this specifically on some Mazda, Mitsubishi, and Subaru models, though it wouldn’t surprise me if Ford uses the same method.
They certainly wouldn’t add more storage than they need. But “need” is a relative term. If having a bit more storage means you aren’t bricking customer cars requiring expensive service, then you “need” the storage.
It’s more likely that the update process itself is a bit more complicated than e.g. updating a phone, and unexpected errors in specific processes make it harder to guarantee the safety of the device. For example if an update fails because one of the devices failed to flash, one may not be able to easily re-flash it and it may indicate a hardware fault.
That’s also a valid possibility. Not a big fan of the idea of an ECU or similar getting an OTA, but I guess it’s better than doing a recall if there’s an issue? Not that my 1990 or 2010 vehicles ever needed something updated in them.
I hate the future of vehicles. I don’t believe that the infotainment system should ever be connected to important vehicle functions.
I agree totally. Ideally the car should be fully functional with barely any complex software like most cars before 2010. The only case where a failing software update should be able to brick your car is when it’s fixing a low level OS bug that renders the car unsafe to drive without the update.
Even some decent modern Wi-Fi routers have such protection. There’s working and backup partition. If a firmware update fails, it boots using the previous working partition.
This is a better explanation (in this case for Cisco Linksys EA3500):
Like several other Linksys devices, the EA3500 has a dual firmware layout: working and backup partitions. Unless you manually choose which partition by doing a manual uboot/tftp install, firmware flashes occur on the backup partition and the EA3500 shall reboot from the backup partition following from a firmware flash. The backup partition becomes the new working partition when the reboot was successful. The former working partition becomes the new backup partition.
Imagine only having one copy of the system so when a situation like this occurs, you lack the ability to automatically switch to a working one, re-download and retry, without danger of this occurring.
This was fixed a decade ago with Android. They could have literally taken the source code from aosp and added it, or at least converted it (if in different programming language), and never had this issue. It would cost $0 and minimal time. But no. That won’t ever happen. It’s built ford tough.
While the implementation of an A/B update system wouldn’t be drag and drop from Android to a different OS, they absolutely could implement the same idea to prevent this issue.
The likely reason as to why is storage space, you need two copies of the system, while only one is running at a time. They probably put as little space into these infotainment systems as possible.
If they put more in new models, they’d then have to support two methods of updating the system. It’s easier to tell the customer on the rare occasion that an error does happen “oops we made a fucky wucky it’s on you to fix it”
There’s no way storage space is the issue. It would cost pennies per car and take up no additional space or power. The size of map/gps data would dwarf the OS by an order of magnitude or more.
You’re 100% right. It would be pennies for larger storage. However, that doesn’t mean they wouldn’t go for a smaller size to save those pennies.
I used to work on a car lot, and a disturbingly large number of cars had an SD card port that would only be used for map data. You had to purchase these cards from a dealer or the manufacturer specifically, and if you wanted map data the SD card had to be inserted. I saw this specifically on some Mazda, Mitsubishi, and Subaru models, though it wouldn’t surprise me if Ford uses the same method.
They certainly wouldn’t add more storage than they need. But “need” is a relative term. If having a bit more storage means you aren’t bricking customer cars requiring expensive service, then you “need” the storage.
It’s more likely that the update process itself is a bit more complicated than e.g. updating a phone, and unexpected errors in specific processes make it harder to guarantee the safety of the device. For example if an update fails because one of the devices failed to flash, one may not be able to easily re-flash it and it may indicate a hardware fault.
That’s also a valid possibility. Not a big fan of the idea of an ECU or similar getting an OTA, but I guess it’s better than doing a recall if there’s an issue? Not that my 1990 or 2010 vehicles ever needed something updated in them.
I hate the future of vehicles. I don’t believe that the infotainment system should ever be connected to important vehicle functions.
I agree totally. Ideally the car should be fully functional with barely any complex software like most cars before 2010. The only case where a failing software update should be able to brick your car is when it’s fixing a low level OS bug that renders the car unsafe to drive without the update.
That’s the old A/B that requires 2x storage.
The new method uses snapshotting and compression:
https://source.android.com/docs/core/ota/virtual_ab
Cars cost tens of thousands of dollars. A 1tb ssd costs tens of dollars.
deleted by creator
I work on consumer electronic ear buds. Frigging ear buds, and we support this…
Even some decent modern Wi-Fi routers have such protection. There’s working and backup partition. If a firmware update fails, it boots using the previous working partition.
This is a better explanation (in this case for Cisco Linksys EA3500):
Source: https://openwrt.org/toh/linksys/ea3500
Motherboards for years have a backup firmware just in case you fry the primary firmware.
This Ford issue is laughable.
Ford is only focused on finding new ways of having your car break down in the middle of nowhere.