Firmware y Driver sobre Linux: De todo un poco sobre estos 2 conceptos
Hoy abordaremos el tema de los conceptos de «Firmware» y «Driver», ya que, son 2 conceptos importantes debido a que influyen directamente sobre el buen funcionamiento de todo Sistema Operativo en un Dispositivo determinado.
Y luego profundizaremos un poco sobre como pueden gestionarse ambos, los «Firmwares» y «Drivers» sobre GNU/Linux.
Dado que, en esta publicación no profundizaremos en detalle sobre que órdenes de comandos son útiles o pertinentes para conocer las especificaciones técnicas de Hardware y Software de un ordenador, como de costumbre, dejaremos los enlaces de algunas entradas anteriores relacionadas para que, en caso de ser necesario cualquiera pueda fácilmente acceder a ellas y profundizar dicho punto:
Un equipo de cómputo consta de dispositivos físicos llamados de forma global hardware, y componentes lógicos llamados software. Existen herramientas que permiten identificar ambas partes, ya sea para conocer las características del equipo como para medir su desempeño y/o diagnosticar posibles fallas. Cuando existe la necesidad de solicitar apoyo en la resolución de problemas, tales como, instalar o actualizar un firmware o driver, es importante poder aportar (recolectar) toda la información que sea posible y necesaria sobre el hardware y el software que conforman el equipo. Comandos para conocer el sistema (identificar hardware y algunas configuraciones de software)
Firmware y Driver: Conceptos, similitudes y diferencias, y más.
¿Qué es un Firmware?
Según la web «Definicion.de»
, un «Firmware» es descrito como:
“El firmware, cuyo nombre hace referencia a la programación en firme, forma parte del hardware, ya que, se encuentra integrado a la electrónica, pero también está considerado como parte del software al estar desarrollado bajo algún lenguaje de programación. Podría decirse que el firmware funciona como el nexo entre las instrucciones que llegan al dispositivo desde el exterior y sus diversas partes electrónicas.” (Ampliar info)
Mientras que, la web «Sistemas.com»
expresa lo siguiente:
“El Firmware consiste entonces en una cantidad de instrucciones que interactúan con el ordenador, encontrándose estas en la Memoria de Solo Lectura (generalmente se emplea una Memoria ROM) que permite controlar y diagnosticar el funcionamiento a nivel de Circuito Eléctrico de un dispositivo o su interacción con el equipo.” (Ampliar info)
¿Qué es un Driver?
Según la web «conceptodefinicion.de»
, un «Driver» es descrito como:
“Uno de los componentes del software, que trabaja en conjunto con el sistema operativo y el controlador periférico, para proporcionar una interfaz funcional. El Driver (controlador / manejador) de un dispositivo es una especie de aplicación diseñada especialmente para que el usuario pueda controlar todos los programas instalados en su computadora, además de que, es el encargado de hacer que un hardware funcione correctamente, por lo que se considera una de las piezas más importantes dentro de aquellas dedicadas a moderar el funcionamiento del equipo.” (Ampliar info)
Mientras que, la web «Sistemas.com»
expresa lo siguiente:
“Un Controlador (o bien, su equivalente en inglés, Driver) es una herramienta de software que permite que un Sistema Operativo pueda hacer total uso de lo que esté contenido en el Hardware del equipo, siendo no solo lo que es un Periférico (es decir, un Teclado, una Impresora o un Ratón, sin distinguir si se trata de un Periférico de Entrada o bien de un Periférico de Salida) sino también a todos los Dispositivos del Sistema que estén fijos, tales como una Tarjeta de Video, Placa de Sonido o similares.” (Ampliar info)
Similitudes y diferencias
De lo anteriormente leído podemos extraer las siguientes similitudes y diferencias
- Ambos son herramientas o utilitarios de software que sirven para hacer funcionar un dispositivo (elemento interno o externo de hardware).
- El firmware siempre lo encontraremos ya instalado en cada dispositivo y sobre un módulo de memoria propio, mientras que un driver se instala y funciona siempre sobre el Disco Duro y Sistema Operativo que operara el dispositivo.
- Un firmware representa el nivel más bajo de software con el que puede interactuar con un hardware, mientras que un Driver representa niveles superiores de trabajo.
- Ambos son realmente muy importantes y necesarios, ya que, un Driver correcto y bien instalado garantiza un correcto funcionamiento de un dispositivo sobre un ordenador u equipo de control, mientras que el firmware asegura la configuración básica e inicial, su correcto encendido y puesta en línea de cada dispositivo.
- Un Firmware suele ser muy complicado de actualizar, mientras que un Driver suele ser fácil de instalar y actualizar, tanto de forma manual como automática.
Gestión de Firmwares y Drivers sobre GNU/Linux
Una vez obtenida la información de marca, modelo, fabricante y especificaciones técnicas sobre un dispositivo, vía documentación, aplicaciones o comandos de terminal. Ya solo faltaría en el caso de los «Drivers», el conocer que paquete contiene el controlador correcto. Vale destacar, que muchos paquetes de «Drivers» llevan por nombre la palabra «Firmware».
Además, por ejemplo, en Distros GNU/Linux basadas en Debian/Ubuntu, se puede conocer que paquetes contienen ciertos controladores haciendo uso del comando «apt» o «apt», tal como se ve a continuación:
sudo apt list *firmware*
sudo apt list *driver*
sudo apt search marcaproducto*
sudo aptitude search nombrefabricante* | grep nombrefabricante
Mientras que, para la gestión de los «Firmwares» la opción más fácil es el uso de la aplicación llamada «Firmware Update» o simplemente «LVFS». Dicha aplicación también conocida por su nombre completo, «Linux Vendor Firmware Service», es básicamente:
“Una herramienta CLI y GUI que funciona mediante un servicio (demonio) que se conecta a la web de «Linux Vendor Firmware Service» y es capaz de detectar, descargar y actualizar los firmwares necesarios para los dispositivos reconocidos.”
Para nuestro caso práctico, yo la he instalado sobre mi Sistema Operativo usado, llamado MilagrOS (Respin basado en MX Linux) siguiendo las siguientes acciones y órdenes de comando:
- Instalación del Repositorio PPA de Star Labs: Agregando la siguiente URL al archivo «sources.list»
«deb http://ppa.launchpad.net/starlabs/ppa/ubuntu bionic main»
- Y luego ejecutando las siguientes órdenes de comando:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 17A20BAF70BEC3904545ACFF8F21C26C794386E3
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 499E6345B743746B
sudo apt update
sudo apt install fwupd fwupd-gui
- Ejecutar la aplicación vía Menú de aplicaciones bajo el nombre «Firmware Update»
Para más información sobre su uso por interfaz gráfica o comando de terminal se puede visitar su sitio web oficial, y sus sitios de GitHub y LaunchPad.
Conclusión
Esperamos que esta “pequeña y útil publicación” sobre los conceptos de «Firmware y Drivers»
, que suelen ser dos puntos importantes dentro de la Informática, ya que, influyen directamente sobre el buen funcionamiento de todo Sistema Operativo sobre un Dispositivo determinado; sea de mucho interés y utilidad, para toda la «Comunidad de Software Libre y Código Abierto»
y de gran contribución a la difusión del maravilloso, gigantesco y creciente ecosistema de aplicaciones de «GNU/Linux»
.
Por ahora, si te ha gustado esta publicación
, no dejes de compartirla con otros, en tus sitios web, canales, grupos o comunidades favoritas de redes sociales o sistemas de mensajería, preferiblemente libres, abiertas y/o más seguras como Telegram, Signal, Mastodon u otra del Fediverso, preferiblemente.
Y recuerda visitar nuestra página de inicio en «DesdeLinux» para explorar más noticias, además de unirte a nuestro canal oficial de Telegram de DesdeLinux. Mientras que, para mayor información, puedes visitar cualquier Biblioteca en línea como OpenLibra y JedIT, para acceder y leer libros digitales (PDFs) sobre este tema u otros.