1

In traditional computers, software issues can always be solved. In the worst case, supposing that there's no hardware damage, one can always go there and format the partition where the system is installed, reinstall everything and make things right.

Now in mobile devices people like to say that sometimes "there's no way to solve the issue". People usually talk about a device being "permanently bricked", and say that "no matter what there will be no way to correct it".

But wait a minute, let's talk about Android for simplicity. Android is based on Linux. So in the end of the day, as far as I know, the Android system is just one specific Linux distro tailored for mobile devices, with the pertinent virtual machine installed to run the apps.

How can a software problem caused on the device, be permanent? How can a software problem have no way to be corrected, if it is just a Linux system in the end of the day?

As I said, I've never seen anyone saying "this computer cannot be fixed, we need to throw it away and buy another one" by a software issue. This might happen, for hardware issues, because sometimes the price to buy the hardware pieces needed might not be a huge advantage over buying a new computer.

But for software, no one throws a computer aways, we always correct it.

In that case, why concerning mobile devices, people talk about "permanently bricked" devices and "software problems that cannot be solved" and that might cause the device to be discarded? How can software problems on mobile devices be "unsolvable"?

user1620696
  • 113
  • 3

2 Answers2

5

Mobile devices have a stronger connection and deeper dependency between their software and hardware.

To translate it to "PC Speak":

If the BIOS of the computer, which is the part most akin to a mobile device, where hardware and software are most closely dependent, were to be messed up, the computer would not only be dead, but it would likely be permanently dead from a user's perspective. The factory may have ways to flash the BIOS without having to initiate the BIOS first, but even most PC repair professionals don't have the tools or know-how to do this.

When a phone is "bricked", the parts of it that are necessary for hardware initialization are misconfigured, in an error state, or broken in a software sense. The factory may be able to re-flash the device without having to initialize it first, but from the user's perspective it is dead.

music2myear
  • 49,799
1

Rather than Linux, think of updating your BIOS. You boot up the existing BIOS, access its update area (sometimes part of BIOS itself – sometimes just a FreeDOS environment), and tell it to flash new code into the EEPROM chip. And if the new code doesn't boot...you have no way of accessing the update tool anymore.

Sure, there are exceptions: some motherboards come with dual BIOS chips, others have a read-only monitor that runs before the updateable main firmware and allows reflashing on failure. But in many cases one needs to physically remove the chip and use a standalone EEPROM programmer to fix it from another computer.

Similar things can happen with other embedded devices, like routers – which often have a bootloader that allows TFTP'ing new firmware over the network, but equally often they don't. (And sometimes the update screws up the bootloader.)

Android is similar, if I remember things right: first there's the main OS; if you break it, there's the 'recovery' partition which allows installing a new main OS; if you break that, there's the bootloader (fastboot) which allows installing a new recovery image; but if you somehow erase the bootloader, it ends there. There are no more turtles below it – no way to get new code back into the phone. (Other than replacing the flash memory, I suppose? It seems a bit more complicated.)

grawity
  • 501,077