Firmware
The firmware or firmware is a computer program that establishes the lowest level logic that controls the electronic circuits of a device of any type. It is strongly integrated with the electronics of the device, it is the software that has direct interaction with the hardware, thus being in charge of controlling it to correctly execute external instructions. In fact, firmware is one of the three main pillars of electronic design.
In short, a firmware is software that physically drives the hardware.
A computer's BIOS program is a firmware whose purpose is to wake a machine from power-on and prepare the environment for loading an operating system into RAM and hard disk.
Origin of the term
The term was coined by Ascher Opler in an article in Datamation magazine, published in 1967. Originally, it referred to the microshiva contained in a writable control store (a small specialized area of memory RAM), which defined and implemented the computer's instruction set. If necessary, the firmware could be reloaded to specialize or to modify the instructions that the Central Processing Unit (CPU) could execute. In original usage, firmware was contrasted with both hardware (the CPU itself) and software (the normal instructions that run on a CPU). The firmware was not made up of the CPU's machine instructions, but rather the lower-level microcode involved in implementing the machine instructions that the CPU would execute. The firmware existed on the limit or frontier between the hardware and the software, hence the term firmware (which means 'firm, fixed or solid software').
Later, the term was expanded to include any type of microcode, whether in RAM or ROM.
Later, in popular usage the term was broadened again, to denote anything resident in ROM, including the processor's machine instructions for the BIOS, bootloaders, or specialized applications.
Firmware Today
Firmware has evolved to mean almost any programmable content of a hardware device, not just machine code for a processor, but also configurations and data for circuits Application Specific Integrated Devices (ASICs), Programmable Logic Devices, etc.
Until the mid-1990s the typical procedure for updating firmware to a new version was to replace the storage medium that contained the firmware, usually a memory chip. ROM plugged into a socket. Today this procedure is not common, since manufacturers have added a new functionality that allows the new instructions to be stored in the same memory, making the update a much more comfortable and dynamic process. Even so, the process of updating a firmware must be carried out very carefully, since as it is a vital component, any failure can render the equipment useless. For example, a power failure in the middle of the update process would prevent the complete loading of the code that governs the equipment, perhaps even the loading of the code that is responsible for updating the firmware, so we would not be able to update it. again and therefore the equipment would stop working.
Advantages
The official firmware could be defined as the firmware provided by the manufacturer itself. In this regard, it should be noted that not all of them are the same, since some brands such as ASUS, AVM with its FRITZ!OS firmware and NETGEAR offer us more features.
As for the advantages that it can provide us, they are the following:
- The most modern offer support for WPA2/WPA3-Personal and also WPA3-Personal.
- Support QoS to prioritize the type of network traffic, this can be fundamental to prevent a customer or several from matching the entire bandwidth.
- They allow you to create a VPN, FTP, Samba or print server.
- Schedule the Wi-Fi on and off.
In addition, as we have already mentioned before, behind this firmware is the manufacturer itself. This means that it will not be manipulated by a third party for malicious purposes. Here you have the characteristics of the most complete official firmwares.
Disadvantages
In this case it will depend a lot on the manufacturer of the router. For example, the ones we discussed before tend to respond well to unforeseen incidents and periodically update the firmware of their network equipment. The problems of having an official firmware usually come when we run out of support. With the passage of time, security vulnerabilities appear that must be corrected, but if the manufacturer has stopped supporting the router, then we will have a serious problem. We can say that they have become obsolete and we have more possibilities that some cybercriminal can penetrate our network.
When a router is not supported by the manufacturer it is something quite serious, because the new vulnerabilities and performance improvements will never reach our team. For this reason we should choose a manufacturer that continuously releases firmware updates for their equipment.
A typical case of inconvenience in the official firmware of an operator's router is that they do not always update often, and they do not usually put a place to download their firmware. Also a danger that we can have with an official firmware that if it is the type that we have to update and we do not do so, we will also be compromising our security.
Finally, it should also be noted that sometimes for certain models there are unofficial firmwares that have more features such as OpenWRT, DD-WRT and Tomato. In addition, they could even be more recent and also gain some more performance. Thanks to these third-party firmwares, what we can do is give our router a second life by installing updated firmware.
Computer peripherals
Most computer peripherals are actually special purpose computers. While external devices have the firmware stored internally, modern computer peripheral cards typically have large chunks of firmware that are loaded at boot time by the host system, So this is more flexible. Such hardware therefore may not function fully until the requisite firmware has been loaded into it by the host computer, often via the device-specific driver (or, more accurately, via a subsystem within the device driver package). Modern device drivers may also expose a direct user interface for configuration in addition to operating system calls/interfaces or Application Programming Interfaces (APIs).
Firmware challenges on PCs
In some sense, the various firmware components are just as important as the operating system on a computer. However, unlike most modern operating systems, firmware rarely has a well-developed automatic mechanism for updating itself to correct functionality problems that are detected after the drive is installed. dispatched.
BIOS and firmware
The BIOS is fairly easy to update on a modern PC; Devices such as video cards or modems rely on firmware loaded dynamically by a device driver and can thus often be updated transparently through the update mechanisms of the device. OS. In contrast, the firmware on storage devices is rarely updated; Mechanisms for detecting firmware versions and updating them are not standardized. These devices, therefore, tend to have a higher rate of functionality problems, compared to other parts of a modern computer system.{Citation needed|date=December 2008}
Portable music players
Some companies use firmware updates to add new audio playback file formats (codecs); the iriver added the ogg format like this, for example. Other features that may change with firmware updates are the GUI and even battery life. Most modern music players support firmware updates.
Mobile phones
Most cell phones have upgradeable firmware capability for many of the same reasons as specified above, but some can even be upgraded to improve reception or sound quality.
Cars
Since 1996, most cars have used an on-board computer and various sensors to detect mechanical problems. Modern vehicles also employ computer controlled systems, ABS and computer operated transmission control systems. The driver can also receive "in-dash" in this way while driving, such as real-time readings of fuel economy and tire pressure. Most vehicle firmware can be updated at a local authorized dealer.
IEEE definition
The Institute of Electrical and Electronics Engineers (IEEE) Standard Glossary of Software Terminology, Std 610.12-1990, defines firmware as follows:
- "The combination of instructions from a device hardware and computer instructions and data that reside as software only reading on that device."
- Notes:
- (1) this term is sometimes used to refer only to the device hardware or only to computer instructions or data, but these meanings are disapproved.
- (2) confusion surrounding this term has led some to suggest that it must be totally avoided.
Examples
Examples of firmware include:
- Time and control systems for computers
- The BIOS found in personal computers compatible with the IBM PC.
- The platform code found in Itanium systems, Intel-based Mac OS X machines and many Intel desktop cards have firmware EFI.
- Open Firmware, used in Sun Microsystems, Apple Computer, and Genesi computers.
- ARCS, used in Silicon Graphics computers.
- Kickstart, used in the Amiga computer line. This is a unique example of a firmware that mixed BIOS capabilities (POST, start of the hardware + self-configuration, plug and play of peripherals, etc.), of the kernel in itself of the AmigaOS and parts of the code used in the operating system (like primitives and libraries of the graphic interface).
- RTAS (Run Time Abstraction Services), used in IBM computers.
- EPROM chips used in the Eventide H-3000 series of digital music processors.
- The Flash File Firmware (CFE).
- Control sound and video attributes and list of channels on modern televisions.
Firmware Hack
Sometimes a new or modified unofficial version of firmware is created by third parties to provide new features or to open up hidden functionality. Examples include Whited00r for iPhone and iPod Touch, Rockbox for digital audio players, CHDK and Magic Lantern for Canon digital cameras, OpenWrt for wireless routers, region firmware free for DVD drives, which are not region free with the official firmware, as well as many homebrew projects for game consoles. These can often open up computational functionality on previously limited devices (eg running Doom on iPods). Most of firmware hacks are free and also open source.
These hackss usually use the firmware update facility on many devices to install or run on them. Some, however, must resort to exploits to work, because the manufacturer has tried to lock down the hardware to prevent them from using unauthorized code.
Contenido relacionado
Robert Metcalfe
Aibo
Disc insulators