Why do some devices get permanently bricked? Since no hardware is getting damaged while fiddling with the software, doesn’t it stand to reason that it can simply be fixed by reverting back to its original state?

513 views

[ad_1]

Why do some devices get permanently bricked? Since no hardware is getting damaged while fiddling with the software, doesn’t it stand to reason that it can simply be fixed by reverting back to its original state?

In: Technology
[ad_2]

There is a layer between hardware and software called firmware; this has to do with low-level operations that get hard-coded onto a small chipset (previously the BIOS, now there’s a new format that I can never remember) that does what’s called “bootstrapping” (that is, preparing the processor to load and read data for the operating system from a 0-power system.

Internally, at a hardware level, this fundamentally changes and alters some pathways, and so if you lose, say, the “turn on the display” pathway due to a botched firmware update, it’s really really difficult to get that fixed.

> Why do some devices get permanently bricked [with] no hardware…getting damaged?

Often, non-hardware-based device failures are due to problems with the ROM or OS. Pretty much all computers have a ROM chip, which tells the computer what to do when it first starts.

> it can simply be fixed by reverting back to its original state?

Yes, it can. The problem is, it’s hard to do that if the device currently will not start to the point where it can be “told” to revert.

There are a couple solutions. If the OS has a bad problem, often you can use a software component that starts before the OS. (On the PC, this is the BIOS.) You can then re-install an OS from scratch, because the BIOS lets the computer start from an OS on an external device (like a USB drive, or for older PC’s, a CD-ROM or floppy disk).

If your device’s OS is kept on easily removable storage, you can take out the storage and repair it on a working device, or replace it with new storage containing a working OS. For example, you could take the hard drive out of a non-working PC and put it in a working PC (as a second hard drive), then use the working PC to fix the OS problem, then put the hard drive back in the problem PC. Or you could just replace the removed hard drive with a different hard drive that contains a working OS. The Raspberry Pi keeps its OS on an SD card, so you can do similar things with that system.

If the problem is in the ROM chip, rather than the OS, you will have a harder time. The ROM chip contains the very first software the device runs when it starts.

Basically, you’ll need to either remove and repair/replace the ROM chip, or attach some external device to various parts of the failed device’s circuit to make it run without a working ROM chip. Manufacturers don’t usually give out enough information for you to know how to make this work. It can also be physically challenging to disassemble the device and attach to where you need to.

You can think of the software like a thread, and the hardware like a needle. In order to start the computer, something needs to first thread the software into the needle. A special bit of code is required for this called a ‘boot loader’, and if it is damaged then it will be impossible for the needle to be threaded.

One reason why this code can’t be easily fixed once broken is because it is very heavily protected from tampering. A bad person that wanted to take over your computer could attach some bad software at the beginning of your ‘thread’ before it ever enters the needle and then you’d be ‘sewing’ something totally unexpected.

It is sometimes possible to fix the boot loader, but it depends how heavily protected it is. In most mobile devices it is protected by storing it in a secret place in the hardware and in a way that makes it impossible to simply replace it. So, if it gets broken it can only be fixed by the same company that made it in the first place. You can return a bricked iPhone to Apple and they can fix it, but no one else can.