Hardware Horrors that Firmware Upgrades Would've Fixed?
Anonymous Coward writes "I just started working for a startup that
is developing a new product, which is going to have software bundled
with hardware. Our company outsourced the hardware and firmware
development. I reviewed the hardware product requirements and I
noticed that the hardware will not support firmware upgrades from the
PC. I am concerned that once we ship the product, bugs or
interoperability issues will appear in the field and we won't have
anyway to fix the problem short of a product recall. I have some of
the management team convinced we need to change this requirement but
not the person who has the authority to make the change. I'm looking
for examples of past companies that got bit by a similar mistake and
any other items that will help me convince the decision maker."
Nobody is perfect, so why do we assume that we can design hardware
that is? If it's one thing that our current experiences with software
have shown it's that sometimes, an applications may take more than one
version before it is perfect. Before, our ability to change hardware
coding made getting perfect products out the door important, because
recalls were expensive. Today, we have smarter hardware, which can be
relatively simple to update. The cost of recalls, however,
have not changed. So for what reason would a hardware company balk
at making the need for a recall a thing of the past?
(Saga which I read in Science magazine many years ago.)
The 1975 Viking Mars lander was expected to last only a few months on the Mars surface; battery life was the limiting factor. The battery lasted longer than expected, but eventually the Sun would come between Earth and Mars. With the lander fully powered the battery would be dead by the time Earth came back into view.
NASA (or maybe it was JPL) thought of reprogramming the Viking controller to power down, wait a few months, then power back up. (The power-up had to be automatic; in power-down mode there was no communication with Earth.)
Viking had reprogrammable firmware, but only for pre-flight programming. Reprogramming during the mission hadn't been anticipated, so the diagnostic bus through which the ROM was reprogrammed was removable. There was no record of whether the Viking which NASA had sent to Mars had that bus or not! Nor was there a way to detect bus presence.
On the chance that the bus was installed, new code was tested on an Earth-bound copy of the Viking which had the bus, then uploaded. The Mars lander did have the bus, the code worked, and NASA got several additional months of operation from Viking.