Brick (electronics)
Look up brick in Wiktionary, the free dictionary. |
The word "brick", when used in reference to consumer electronics, describes an electronic device such as a smartphone, game console, router, or tablet computer that, due to a serious misconfiguration, corrupted firmware, or a hardware problem, can no longer function, hence, is as technologically useful as a brick.
The term derives from the vaguely cuboid shape of many electronic devices (and their detachable power supplies) and the suggestion that the device can function only as a lifeless, square object or paperweight.
This term is commonly used as a verb. For example, "I bricked my MP3 player when I tried to modify its firmware." It can also be used as a noun, for example, "If it's corrupted and you apply using fastboot, your device is a brick."
In the common usage of the term, "bricking" suggests that the damage is so serious as to have rendered the device permanently unusable.[1]
Cause and prevention
Bricking a device is usually a result of interrupting an attempt to update the device. Many devices have an update procedure that must not be interrupted before completion; if interrupted by a power failure, user intervention, or any other reason, the existing firmware may be partially overwritten and unusable. The risk of corruption can be minimized by taking all possible precautions against interruption.
Installing firmware with errors or for a different revision of the hardware, or installing firmware incompetently patched such as DVD firmware that only plays DVDs sold in a particular region, can cause bricking.
Devices can also be bricked by malware (malicious software) and sometimes by running software not intentionally harmful but with errors that cause damage.
Some devices include two copies of firmware, one active and the other stored in fixed ROM or writable non-volatile memory and not normally accessible to processes that could corrupt it, as well as a way to copy the stored firmware over the active version, even if corrupt, so that if the active firmware is damaged, it can be replaced by the copy and the device will not be bricked. Other devices have minimal "bootloader" firmware, enabled usually by operating a switch or jumper, which does not enable the device to work normally but can reload the main firmware.
Types
Bricking is classified into two types, namely hard and soft, depending on the device's ability to function.
Hard brick
Hard bricked devices generally show little to no signs of life. A hard bricked device doesn't power on or show any vendor logo, in essence, the screen remains turned off. Some of the major reasons for hard bricking are installing firmware not made for the device, interrupted flashing procedure or following a flashing procedure incorrectly.
Some other reasons include flashing a root file for a different file or using wrong commands. Some kernel bugs[2] have been known that affect the /data partition in the eMMC chip, which gets corrupted during certain operations such as wiping and flashing.
Recovering from a hard brick is generally considered difficult and requires the use of a more direct programming interface to the controller; such an interface exists as there must be a way to program the initial firmware on an unprogrammed device. However, additional tools or connections may be needed.
Soft brick
Soft bricked devices usually show some signs of life. A soft bricked device usually boots unsuccessfully and generally gets stuck on the boot animation, or reboots endlessly, or, while in operation, suddenly shows a "screen of death". Some of the major reasons for soft bricking are invalid or corrupt firmware installation, flashing bad scripts, trying to root the device, or flashing a custom recovery image to a device with a locked bootloader.
Some other reasons include invalid memory caches, malwares or wrong read/write permissions. Some major bugs[3] in Android smart phones have been discovered that cause a device to crash endlessly.
A device can recover from a soft bricked state by simply clearing all the internal memory and flashing the firmware.[4] Sometimes internal memory partitions of the device require to be flashed again in order to recover the device from this state.
The Kindle Fire and its successors show a red screen (this can be due to rebooting into a recovery when a second bootloader is not flashed to the device), while iOS devices show a completely black or white "screen of death" showing only an Apple logo.
The Moto G 4G has a complicated method to install CyanogenMod 12 or any Lollipop based custom ROM coming from the official KitKat firmware, which involved flashing a new recovery, flashing a custom KitKat ROM, "dirty" flashing the Lollipop ROM and then wiping. If a step was done incorrectly or skipped the device would be stuck on a boot loop, soft bricked, until fixed by following the steps again.
Unbricking
Some devices that become "bricked" because the contents of their nonvolatile memory are incorrect can be "unbricked" using separate hardware (a debug board) that accesses this memory directly.[5] This is similar to the procedure for loading firmware into a new device when the memory is still empty. This kind of "bricking" and "unbricking" occasionally happens during firmware testing and development. In other cases software and hardware procedures, often complex, have been developed that have a good chance of unbricking the device. There is no general method; each device is different. There are also user-created modifier programs to use on bricked or partially bricked devices to make them functional. Examples include the Wiibrew program BootMii used to fix semi-bricked Nintendo Wiis, the Odin program used to flash firmware on Samsung android devices,[4] or the fastboot Android protocol which is capable of reflashing a device with no software installed.[4]
A soft bricked rooted Kindle Fire can be unbricked by using unrooting tools.
Systems
In principle any device with rewritable firmware, or certain crucial settings stored into flash or EEPROM memory, can be bricked. Many, but not all, devices with user-updatable firmware have protection against bricking; devices intended to be updated only by official service personnel generally do not.
Amongst devices known to have bricking issues are: older PCs (more recent models often have dual BIOSes or some other form of protection), many mobile phones, handheld game consoles like the PlayStation Portable and Nintendo DS, video game consoles like the Nintendo Wii, Xbox 360 and Xbox One, many SCSI devices and some lines of hard disk drives and routers.
At least some older consumer market router models can become unresponsive when the user tries to define a subnet mask that does not contain one contiguous run of 1s and then 0s. If even a single bit is set so that it breaks one of the runs, the router may become bricked, unresponsive to any standard troubleshooting or resolving procedures listed in the manual. Unbricking the router may require opening the case, shorting some jumper pins on the board, then connecting the router by the USB cable to an old PC with USB 1.1 hardware, running a special DOS level program supplied by the manufacturer, and powering the router up. This procedure will flash the router to factory settings and original firmware.
Electric cars such as the Tesla Roadster can brick if the battery is completely discharged.[6]
Sometimes an interrupted flash upgrade of a PC motherboard will brick the board, for example, due to a power outage (or user impatience) during the upgrade process. It is sometimes possible to unbrick such a motherboard, by scavenging a similar but otherwise broken board for a BIOS chip in the hopes that the BIOS will work even halfway, far enough to boot from floppy. Then it will be possible to retry the flash process. Sometimes it is possible to boot from a floppy, then swap the old presumably dead BIOS chip in and reflash it.
Online and mobile services
Many newer systems capable of accessing online services (such as the Xbox One, PlayStation 4 and iPhone) have internal hardware-based unique identifiers, allowing individual systems to be tracked over a network and banned from accessing certain online services. Banned systems usually continue to operate for purposes unrelated to the online service, but they are often considered "bricked" by users of the online service.
Mobile telephones have a fixed identification code, the IMEI; a telephone reported stolen can have its IMEI blocked by networks—effectively bricked—although anyone with the necessary expertise and equipment can usually change the IMEI.[7]
In 2011, US Senator Chuck Schumer (D-NY) proposed that phones be "bricked" when reported stolen.[8] Some local police chiefs agreed.[9] In April 2012, the FCC announced that the service would be available later in the year.[10]
References
- ↑ CATB.ORG Jargon File
- ↑ Hard Brick Bug on Galaxy S II and Note Leaked ICS Kernels
- ↑ Android OS Memory Corruption Bug
- 1 2 3 Unbrick Android phones and tablets
- ↑ Neo1973 Debug Board v2/Unbricking - Openmoko
- ↑ Tesla Motors' Devastating Design Problem
- ↑ "Thieves can now change IMEI number".
- ↑ Helmbreck, Valerie (2011-08-23). Senator wants stolen cellphones "bricked". Finance Tech News, 23 August 2011. Retrieved from http://www.financetechnews.com/senator-wants-stolen-cellphones-bricked/.
- ↑ Segraves, Mark (2012-02-10). MPD fights robbery surge, seeks new FCC rule to 'brick' stolen smart phones. WJLA-TV News, 10 February 2012. Retrieved from http://www.wjla.com/articles/2012/02/mpd-fights-robbery-surge-seeks-new-fcc-rule-72491.html.
- ↑ Hilton, Shani (2012-04-10). Lanier: FCC and Wireless Carriers To Allow Customers To "Brick" Stolen Phones. Washington City Paper, April 10, 2012. Retrieved from http://www.washingtoncitypaper.com/blogs/citydesk/2012/04/10/lanier-fcc-and-wireless-carriers-to-allow-customers-to-brick-stolen-phones/.