Guía Hardware

Firmware: qué es y por qué es importante actualizarlo

Actualizado a: 19 de enero de 2024

Seguro que conoces el término firmware, pero tal vez no conoces lo que significa. En este artículo te enseñaremos todo lo que deberías saber sobre este término y también te daremos los motivos por los que deberías mantenerlo siempre actualizado en todos tus dispositivos…

Quizás también te puede interesar:

¿Qué es el firmware?

BIOS UEFI

Seguro que ya tienes claro qué es el software y qué es el hardware. Sin embargo, el firmware es algo que no todos tienen realmente claro. Se trata de algo intermedio entre el software y el hardware. De hecho, suele ser un código o programa (rutinas) que se almacena en una memoria no volátil, como puede ser una ROM o alguno de sus variantes (EEPROM, flash,…). Gracias a él el hardware puede realizar todas las funciones para las que se ha creado.

Actualmente, el firmware se ha movido hacia los drivers o controladores, que suelen incluir éste para que sea más sencilla su actualización. Además, así implica menos riesgos a la hora de modificarlo que cuando se graba directamente sobre el hardware en el momento de la fabricación.

Gracias al firmware se puede controlar funciones del hardware de forma similar a como lo hace el kernel del sistema operativo. De hecho, el kernel también emplea este firmware.

Se dice que el científico informático estadounidense Ascher Opler acuñó la frase firmware en una edición de 1967 de la publicación Datamation . Usó el término para describir un tipo de microprograma entre hardware y software.

Hoy en día, el firmware integrado existe en todo, desde teléfonos inteligentes hasta dispositivos de Internet de las cosas (IoT). En un PC lo podrás encontrar en componentes como la CPU, el BIOS/UEFI, tarjetas gráficas, unidades ópticas, periféricos, routers, NAS, y un largo etc.

Como se puede apreciar en la siguiente imagen, el firmware estaría justo por encima del hardware y justo por debajo de los drivers o controladores. No obstante, es importante destacar lo que ya he comentado anteriormente, y es que mucho firmware actual se implementa dentro de los propios controladores o módulos del kernel para que sea más sencillo su actualización. Por tanto, lo de implementarse como parte del hardware en una memoria no volátil va quedando atrás…

Cuando no está instalado directamente en una memoria, como he comentado anteriormente, se cargará en el dispositivo al que corresponda dicho firmware durante el arranque, como otros controladores.

Diferencias firmware vs driver

Aunque cada vez las diferencias entre driver o controlador y firmware parecen diluirse, lo cierto es que no son lo mismo. Hay que diferenciar lo que es un driver y lo que es firmware. Por un lado tenemos que el firmware es una rutina o programa de bajo nivel que es requerida para operar un hardware concreto y que provee de una API/ABI para el alto nivel. Mientras que un driver provee de un adaptador entre el sistema operativo y esa API/ABI expuesta por el firmware.

Para facilitarte aún más las cosas, mostraré algunas afirmaciones que te harán ver aún más clara la diferencia entre ambos:

  • Un controlador o driver de un dispositivo es un software que permite al sistema operativo comunicarse con los dispositivos o hardware.
  • El firmware es un programa especial dentro del dispositivo que permite realizar las funciones del hardware de E/S, etc.
  • Los controladores o drivers son específicos del sistema operativo y dependientes del hardware.
  • El firmware es independiente del sistema operativo, así como está estrechamente relacionado con el hardware.

Diferencia entre firmware y software

Algunos consideran al firmware como un tipo de software, más aún cuando la diferencia entre los controladores y el firmware cada vez parese más confusa. Sin embargo, también te ayudaré a diferenciar entre ambos con algunas afirmaciones que te ayudarán a comprenderlo de forma sencilla:

  • Firmware es un software muy elemental, unas rutinas o programa con instrucciones básicas a bajo nivel para que el hardware funcione y se pueda comunicar con el resto del software.
  • El control que hace el firmware es a bajo nivel.
  • El software está diseñado para que los usuarios interactúen con él para realizar tareas específicas y mucho más complejas que el firmware. Esto incluye software ofimático, navegadores web, sistemas operativos, etc.
  • El software es de más alto nivel, se encuentra por encima del firmware.
  • Por lo general, un software se puede cambiar sin tener que reemplazar un componente de hardware. Mientras que el firmware no se puede reemplazar en muchos casos sin sustituir el hardware al que acompaña.
  • El firmware se integra en chips de memoria no volátil o se carga en el dispositivo de hardware durante el arranque. Solo se puede actualizar en algunos casos.
  • El software no está integrado en ningún componente de hardware. Solo se aloja en la unidad de almacenamiento secundario y se cargará en la memoria RAM para ser ejecutado cuando sea necesario.

Tipos de firmware

Como puedes imaginar, existen varios tipos de firmware que hay que diferenciar. Para clasificarlos, vamos a ver las categorías más destacadas, como:

  • De bajo nivel: se considera una parte intrínseca del hardware de un dispositivo. A menudo se almacena en chips no volátiles de solo lectura como una ROM y, por lo tanto, no se puede reescribir ni actualizar. Los dispositivos que contienen firmware de bajo nivel tienen memoria programable de una sola vez, se programa tras su fabricación y permanece inalterable.
  • De alto nivel: permite actualizaciones y generalmente es más complejo que el firmware de bajo nivel. En una computadora, el firmware de alto nivel reside en chips de memoria flash, por lo que se puede flashear, como ocurre con un BIOS.
  • Del subsistema: viene como parte de un sistema integrado. Es comparable al firmware de alto nivel en que puede actualizarse y es más complejo que el firmware de bajo nivel.

Aplicaciones de firmware

Por otro lado, también es importante que conozcas las aplicaciones o usos que se hace del firmware. Destacan principalmente las siguientes:

  • Computadora: el firmware de una computadora, ya sea BIOS o UEFI, viene integrado en un pequeño chip de memoria flash en la placa base. Los periféricos, como las tarjetas gráficas, entre otros, también contienen su propio firmware. Incluso la CPU tiene su firmware o microcódigo. Las unidades ópticas, impresoras, etc., también tienen su firmware.
  • Dispositivos de almacenamiento: muchas unidades de almacenamiento, ya sean internas o externas contienen también firmware. Como sabes, los discos duros o SSD lo tienen, también los pendrivers o unidades USB, los NAS, etc.
  • Dispositivos móviles: estos también contienen su firmware que permite que el hardware funcione de forma correcta. En este caso, se suele actualizar con el propio sistema operativo, como cuando llegan actualizaciones por OTA para Android o para iOS.
  • Automóviles: también contienen muchos sistemas integrados, sensores y pequeñas computadoras que contienen firmware que les permite realizar sus tareas designadas.
  • Electrodomésticos: los lavavajillas, las lavadoras, etc., se encuentran entre los electrodomésticos que contienen firmware. El firmware ayuda a la máquina a comunicarse con la computadora utilizada para configurar los ajustes de la máquina y controlar su funcionamiento.
  • Tarjetas inteligentes: muchas tarjetas inteligentes tienen instrucciones integradas en un chip que proporciona la funcionalidad básica de la tarjeta, así como la autenticación y el cifrado.

Como puedes ver, la cantidad de aplicaciones que tiene el firmware es muy alta.

¿Qué es una actualización del firmware?

BIOS ASUS

La actualización de firmware es muy necesaria, más de lo que muchos usuarios piensan. De hecho, es tan necesaria o más como una actualización de software. Por tanto, también deberías dedicar algo de tiempo para ver si tus controladores o drivers y tu firmware necesitan actualización.

Salvo excepciones, el firmware de los dispositivos se suele actualizar junto con las actualizaciones del propio sistema operativo. Solo en algunos casos eso no es así, y hay que hacerlo de forma independiente, como por ejemplo en el caso del BIOS/UEFI, que se actualiza por separado.

Las actualizaciones de firmware dependen del dispositivo. Las actualizaciones pueden ocurrir con poca frecuencia (una vez cada varios años) o con mayor frecuencia, especialmente para dispositivos que a menudo están conectados a Internet o para aquellos que requieren actualizaciones con características de seguridad actualizadas. Por ejemplo, un router o un NAS suelen tener actualizaciones de firmware más frecuentes que una impresora, un ratón, un teclado, una webcam, etc.

¿Por qué necesita una actualización de firmware?

Las actualizaciones de firmware son importantes como ya hemos dicho. En ocasiones pueden solucionar incluso un problema de hardware cuando deja de funcionar correctamente. No solo eso, las actualizaciones también tienen otras funciones:

  • Solucionar problemas o errores.
  • Parchear vulnerabilidades que afectan a la seguridad.
  • Agregar nuevas funciones al dispositivo.
  • Mejorar el rendimiento.

Por tanto, las ventajas de actualizar un firmware son muchas. Y en la mayoría de los casos ya no implica tantos riesgos como lo era hace tiempo al flashear un BIOS, donde podías dejarla inservible si algo salía mal o si había un corte eléctrico durante el proceso.

¿Cómo actualizar el firmware?

Por último, para poder actualizar el firmware, es necesario que sigas unos consejos imprescindibles:

  • Asegúrate de que la versión que vas a instalar es posterior a la que tienes.
  • Sigue en todo momento las recomendaciones del fabricante del hardware.
  • No descargues el firmware desde sitios de terceros, ya que podría estar modificado o infestado. Siempre hazlo desde la página web oficial del fabricante de hardware.
  • Mantén el equipo siempre enchufado o con batería suficiente para evitar cortes mientras se está actualizando el firmware. En caso de tener un SAI, estarás mucho más seguro.

Jaime Herrera

Jaime Herrera

Técnico electrónico y experto en el sector de los semiconductores y el hardware. Con una amplia y sólida trayectoria en el campo de la electrónica, he acumulado una extensa experiencia. Mi pasión por la tecnología y la informática me ha impulsado a dedicar décadas de mi vida al estudio y desarrollo de soluciones en este fascinante sector. Como técnico electrónico, he tenido el privilegio de trabajar en una variedad de proyectos y desafíos, lo que me ha permitido adquirir un profundo conocimiento y experiencia en la creación, diseño y mantenimiento de dispositivos electrónicos.

>
Guía Hardware
Logo