This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
A brick (or bricked device) is a mobile device, game console, router, computer or other electronic device that is no longer functional due to corrupted firmware, a hardware problem, or other damage. [1] The term analogizes the device to a brick's modern technological usefulness. [2]
Bricking a device is most often a result of interrupting an attempt to update the device. Many devices have an update procedure which 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 which only plays DVDs sold in a particular region, can also 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 a backup copy of their firmware, stored in fixed ROM or writable non-volatile memory, which is not normally accessible to processes that could corrupt it. Should the firmware become corrupted, the device can copy from the backup memory to its main memory, restoring the firmware.
Bricking is classified into two types, hard and soft, depending on the device's ability to function. [2]
A "soft bricked" device may show signs of life, but fails to boot or may display an error screen. Soft bricked devices can usually be fixed relatively easily; for example, a soft bricked iOS device may display a screen instructing the user to plug it into a computer to perform an operating system recovery using iTunes computer software. [3] In some cases, soft bricked devices are unable to be repaired without physical repairs being carried out; an example of this would be an iOS device locked with iCloud Activation Lock, of which the only solution is to contact the owner of the iCloud account the device is locked to, or to replace the entire logicboard with a non-locked board [ citation needed ] (or swap some integrated circuits from a donor board which is usually not economical).
Hard bricked devices generally show few or no signs of life. A bricked device may not power on at all, or it may power on, but never boot to the OS or firmware, the closest getting to a warning screen.
Some kernel bugs [ ambiguous ] have been known that affect the /data partition in the eMMC chip, which becomes corrupted during certain operations such as wiping and flashing.[ citation needed ]
Recovering from a hard brick is generally considered difficult or impossible and requires the use of a more direct programming interface to the device; such an interface often exists, as there must be a way to program the initial firmware during the manufacturing process. However, additional tools or connections may be needed, such as low-level programming devices. Hardware hard brick recoveries are also considered difficult and require electrical knowledge to find and fix hardware issues. For example, an overloaded capacitor in a circuit may explode, thus stopping the flow of electricity and bricking the device. More complex examples involve permanent damage to integrated circuits and processors. Fixing such hardware bricks involve replacing these components entirely or fixing them by either bypassing if the circuit allows or other methods.
Most devices can be hard bricked in a variety of ways. Resolution generally follows a process of analyzing the boot process, determining the sub-type of hard brick, and making changes with the help of external (non-bricked) devices. [4]
Some devices that become "bricked" because the contents of their nonvolatile memory are incorrect can be "un-bricked" using separate hardware (a debug board) that accesses this memory directly. [5] [ better source needed ] This is similar to the procedure for loading firmware into a new device when the memory is still empty. This kind of "bricking" and "un-bricking" 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 un-bricking 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 Wiis, the Odin program used to flash firmware on Samsung Android devices, [6] or the fastboot Android protocol which is capable of re-flashing a device with no software installed. [6]
A soft bricked rooted Kindle Fire can be un-bricked by using unrooting tools.
A personal computer may be un-bricked by using various means of restoring techniques, from internal ones through the "Backup and Reset" feature, or external one using an external OS image.
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 Wii, Xbox 360, PlayStation 4, and Xbox One, many SCSI devices and some lines of hard disk drives and routers.[ citation needed ]
Electric cars such as the Tesla Roadster (first generation) can brick if the battery is completely discharged. [7]
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 un-brick 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 re-flash it. [8] [ better source needed ] On some Gigabyte boards, it can also be possible to re-flash the bricked main BIOS using a backup BIOS. [9] Some vendors put the BIOS chip in sockets, allowing the corrupted BIOS chip to be removed and reprogrammed using an external tool, like a universal programmer or an Arduino.
Mobile phones have a fixed identification code, the IMEI. A telephone reported stolen can have its IMEI blocked by networks, preventing them from being used as mobile devices. [10] iOS offers a similar "Activation Lock" feature via the "Find My iPhone" security software, where a device can be remotely prevented from operating (even after it has been erased), protected by the owner's Apple ID. [11] Devices that have a strong dependency on online services in order to function may be bricked after services are discontinued by the manufacturer, or some other technological factor (such as expired security certificates or other services quietly becoming unavailable) effectively prevents them from operating. This can happen if the product has been succeeded by a newer model and the manufacturer no longer wishes to maintain services for the previous version, or if a company has been acquired by another or otherwise ceases operations, and chooses not to, or is no longer able to maintain its previous products. For example, Apple dropped support for OS X El Capitan in October 2018, and on 30 September 2021 the built-in security certificate expired, rendering users unable to connect to or use any iCloud services. [12] [13] [14] The security certificate issued with the final updates of OS X Sierra and High Sierra have expired as of 20 May 2022. The practice has especially been scrutinized within the Internet of things and smart home markets. [15] [16] [17] [18] Bricking in these cases have been declared a means to enforce planned obsolescence. [19] [20]
In computing, BIOS is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the booting process. The firmware comes pre-installed on the computer's motherboard.
A motherboard is the main printed circuit board (PCB) in general-purpose computers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems, such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general use.
In computing, booting is the process of starting a computer as initiated via hardware such as a button on the computer or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.
In computing, firmware is software that provides low-level control of computing device hardware. For a relatively simple device, firmware may perform all control, monitoring and data manipulation functionality. For a more complex device, firmware may provide relatively low-level control as well as hardware abstraction services to higher-level software such as an operating system.
A flash drive is a data storage device that includes flash memory with an integrated USB interface. A typical USB drive is removable, rewritable, and smaller than an optical disc, and usually weighs less than 30 g (1 oz). Since first offered for sale in late 2000, the storage capacities of USB drives range from 8 megabytes to 256 gigabytes (GB), 512 GB and 1 terabyte (TB). As of 2023, 2 TB flash drives were the largest currently in production. Some allow up to 100,000 write/erase cycles, depending on the exact type of memory chip used, and are thought to physically last between 10 and 100 years under normal circumstances.
Unified Extensible Firmware Interface is a specification for the firmware architecture of a computing platform. When a computer is powered on, the UEFI-implementation is typically the first that runs, before starting the operating system. Examples include AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O.
Rockbox is a free and open-source software replacement for the OEM firmware in various forms of digital audio players (DAPs) with an original kernel. It offers an alternative to the player's operating system, in many cases without removing the original firmware, which provides a plug-in architecture for adding various enhancements and functions. Enhancements include personal digital assistant (PDA) functions, applications, utilities, and games. Rockbox can also retrofit video playback functions on players first released in mid-2000. Rockbox includes a voice-driven user-interface suitable for operation by visually impaired users.
coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.
A power-on self-test (POST) is a process performed by firmware or software routines immediately after a computer or other digital electronic device is powered on.
In embedded systems, a board support package (BSP) is the layer of software containing hardware-specific boot firmware, runtime firmware and device drivers and other routines that allow a given embedded operating system, for example a real-time operating system (RTOS), to function in a given hardware environment, integrated with the embedded operating system. The board support package is usually provided by the SoC manufacturer, and it can be modified by the OEM.
The Apple–Intel architecture, or Mactel, is an unofficial name used for Macintosh personal computers developed and manufactured by Apple Inc. that use Intel x86 processors, rather than the PowerPC and Motorola 68000 ("68k") series processors used in their predecessors or the ARM-based Apple silicon SoCs used in their successors. As Apple changed the architecture of its products, they changed the firmware from the Open Firmware used on PowerPC-based Macs to the Intel-designed Extensible Firmware Interface (EFI). With the change in processor architecture to x86, Macs gained the ability to boot into x86-native operating systems, while Intel VT-x brought near-native virtualization with macOS as the host OS.
The boot ROM is a type of ROM that is used for booting a computer system. There are two types: a mask boot ROM that cannot be changed afterwards and a boot EEPROM.
The Linux booting process involves multiple stages and is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Although the Linux booting process depends very much on the computer architecture, those architectures share similar stages and software components, including system startup, bootloader execution, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons. Those are grouped into 4 steps: system startup, bootloader stage, kernel stage, and init process. When a Linux system is powered up or reset, its processor will execute a specific firmware/program for system initialization, such as the power-on self-test, invoking the reset vector to start a program at a known address in flash/ROM, then load the bootloader into RAM for later execution. In IBM PC–compatible personal computers (PCs), this firmware/program is either a BIOS or a UEFI monitor, and is stored in the mainboard. In embedded Linux systems, this firmware/program is called boot ROM. After being loaded into RAM, the bootloader will execute to load the second-stage bootloader. The second-stage bootloader will load the kernel image into memory, decompress and initialize it, and then pass control to this kernel image. The second-stage bootloader also performs several operation on the system such as system hardware check, mounting the root device, loading the necessary kernel modules, etc. Finally, the first user-space process starts, and other high-level system initializations are performed.
Kickstart is the bootstrap firmware of the Amiga computers developed by Commodore International. Its purpose is to initialize the Amiga hardware and core components of AmigaOS and then attempt to boot from a bootable volume, such as a floppy disk. Most Amiga models were shipped with the Kickstart firmware stored on ROM chips.
Rooting is the process by which users of Android devices can attain privileged control over various subsystems of the device, usually smartphones and tablets. Because Android is based on a modified version of the Linux kernel, rooting an Android device gives similar access to administrative (superuser) permissions as on Linux or any other Unix-like operating system such as FreeBSD or macOS.
The hacking of consumer electronics is a common practice that users perform to customize and modify their devices beyond what is typically possible. This activity has a long history, dating from the days of early computer, programming, and electronics hobbyists.
Custom firmware, also known as aftermarket firmware, is an unofficial new or modified version of firmware created by third parties on devices such as video game consoles, mobile phones, and various embedded device types to provide new features or to unlock hidden functionality. In the video game console community, the term is often written as custom firmware or simply CFW, referring to an altered version of the original system software inside a video game console such as the PlayStation Portable, PlayStation 3, PlayStation Vita/PlayStation TV, PlayStation 4, Nintendo 3DS, Wii U and Nintendo Switch. Installing custom firmware on some devices requires bootloader unlocking.
The PinePhone is a smartphone developed by Hong Kong–based computer manufacturer Pine64, designed to provide users with full control over the device. This is achieved through the utilization of mainline Linux-based mobile operating systems, assembly of the phone using screws, and facilitating simplified disassembly for repairs and upgrades. The 2G-4GLTE modem, GPS, Wi-Fi, Bluetooth and both cameras can be physically switched off. The PinePhone ships with the Manjaro Linux operating system using the Plasma Mobile graphic interface, although other distributions can be installed by users.
The Qualcomm Emergency Download mode, commonly known as Qualcomm EDL mode and officially known as Qualcomm HS-USB QD-Loader 9008 is a feature implemented in the boot ROM of a system on a chip by Qualcomm which can be used to recover bricked smartphones. On Google's Pixel 3, the feature was accidentally shown to users after the phone was bricked.