- Actualizar el firmware del SSD en Linux mejora estabilidad, rendimiento y corrige fallos graves del controlador.
- Cada fabricante ofrece métodos distintos: ISOs arrancables, ejecutables específicos o dashboards solo para Windows.
- Además del firmware, son claves el modo AHCI, TRIM, secure erase puntual y la correcta configuración de montaje.
- Tras actualizar conviene revisar S.M.A.R.T. y, si persisten errores, recurrir al soporte técnico o a la garantía.
Si usas Linux a diario y tienes un SSD moderno, tarde o temprano te tocará lidiar con las actualizaciones de firmware del disco. No es precisamente lo más divertido del mundo: cada fabricante va por libre, muchos solo ofrecen utilidades para Windows y, en el caso de algunas marcas, ni siquiera publican un binario sencillo que puedas usar directamente con las herramientas típicas de Linux como nvme-cli o hdparm. Aun así, con un poco de maña se puede dejar el SSD al día sin salir de tu distribución favorita.
Actualizar el firmware no es un capricho. En la práctica puede marcar la diferencia entre un sistema estable y un equipo que se queda congelado con iowait disparado, cuelgues aleatorios y problemas al arrancar, sobre todo con algunos modelos veteranos de SSD. Además, muchas revisiones de firmware corrigen bugs gordos con ciertos sistemas de archivos, mejoran el rendimiento o añaden soporte correcto de funciones como TRIM. Vamos a ver, con mucho detalle, cómo se afronta este tema en Linux con distintos fabricantes y qué precauciones conviene tomar.
Por qué es tan importante actualizar el firmware del SSD
Antes de meternos en comandos y herramientas, conviene entender qué está en juego. El firmware es el “sistema operativo interno” del SSD: el código que gestiona cómo se escriben y leen los datos, el controlador de la memoria flash, las tablas internas de bloques, la gestión de desgaste (wear leveling), etc. Un error ahí no es una chorrada, puede provocar desde pérdida de rendimiento hasta fallos críticos.
Hay usuarios que, tras unos días de felicidad con su nuevo SSD, han empezado a sufrir tiempos de espera de E/S altísimos (iowait), lentitud extrema y semibloqueos del sistema, llegando incluso al punto en que instalaciones de Linux recién hechas se niegan a arrancar. En muchos de esos casos, el primer paso para enderezar la situación ha sido actualizar el firmware a una versión corregida por el fabricante.
En modelos concretos (como algunos OCZ Octane o Vertex antiguos), el cambio de firmware ha supuesto no solo eliminar problemas de estabilidad, sino también un salto apreciable de rendimiento. Es un ajuste que solemos dejar para “otro día” pero que, en el caso de los SSD, conviene tratar casi como una parte más de la puesta en marcha del sistema.
Eso sí, aunque lo habitual es que el proceso no borre tus datos, cualquier operación de flasheo entra en la categoría de “si algo sale mal, lo hará en el peor momento”. De ahí que sea muy recomendable tener un backup o una imagen del sistema antes de tocar nada en el firmware.

Fabricantes y soporte de firmware en Linux: panorama real
El mayor problema que vas a encontrar no es técnico, sino de ecosistema: cada marca plantea la actualización del firmware de una forma distinta y, a menudo, el soporte oficial se centra casi exclusivamente en Windows. Para Linux muchas veces hay que tirar de imágenes ISO arrancables, utilidades específicas o, directamente, hacer apaños.
En el caso de Samsung, por ejemplo, hay situaciones en las que no se facilita un binario directo para usar con nvme-cli. Esto obliga a recurrir a imágenes ISO de actualización que están pensadas para arrancar un entorno propio y hacer el flasheo desde ahí. Sin embargo, desde Linux podemos “destripar” esa ISO y ejecutar la herramienta de actualización directamente.
Otros fabricantes, como OCZ (antes de ser absorbida, muy popular con los Vertex y Octane), distribuían utilidades específicas para Linux en forma de ejecutables que se conectan a Internet, detectan el modelo y descargan la última versión de firmware. El flujo suele pasar por preparar un pendrive con una distribución live y trabajar desde ahí para evitar que el disco esté en uso.
En el extremo contrario, hay marcas que no dan prácticamente ninguna herramienta oficial para Linux, o que solo permiten actualizar desde Windows o desde la propia utilidad de la placa base. Es el caso de muchos equipos OEM (Dell, HP, Lenovo, etc.), donde las actualizaciones de SSD vienen integradas en los mecanismos de actualización del fabricante y no se ofrecen directamente al usuario como un fichero genérico de firmware.
Actualizar firmware de SSD NVMe Samsung (ejemplo con 980 Pro)
Tomemos el ejemplo de un SSD NVMe bastante común, como un Samsung 980 Pro. El fabricante proporciona imágenes ISO de actualización de firmware que, sobre el papel, están pensadas para grabarse en un USB y arrancar desde ahí. Sin embargo, desde Linux podemos aprovechar esa ISO sin necesidad de reiniciar en un entorno distinto.
El procedimiento básico sería el siguiente. Primero localizas la ISO correspondiente a tu modelo de SSD en la sección de herramientas de soporte de Samsung, en torno a sus utilidades de almacenamiento (la ruta típica suele ser algo del estilo de “consumer storage / support / tools” en su web). Una vez identificada la ISO adecuada, la descargas con algo como:
wget https://semiconductor.samsung.com/resources/software-resources/Samsung_SSD_980_PRO_5B2QGXA7.iso
A continuación creas un punto de montaje y montas la imagen con la opción de bucle:
sudo mkdir /mnt/iso
sudo mount -o loop Samsung_SSD_980_PRO_5B2QGXA7.iso /mnt/iso
Dentro de esa ISO suele haber un initrd con todo el entorno de actualización. Desde Linux puedes extraerlo con una orden del estilo:
sudo unmkinitramfs /mnt/iso/initrd ~/980
Una vez desempaquetado, verás que dentro aparece el binario encargado de la actualización, conocido en este contexto como fumagician. Lo marcas como ejecutable y lo lanzas directamente:
sudo chmod +x 980/root/fumagician/fumagician
sudo ./980/root/fumagician/fumagician
La herramienta te irá guiando y, en algún momento, te solicitará confirmación. Ahí toca decir que sí, aceptar el proceso y dejar que el programa escriba el nuevo firmware en el NVMe. No interrumpas el proceso bajo ningún concepto, y mucho menos apagues la máquina.
Cuando termine, conviene apagar o reiniciar el equipo para forzar un ciclo completo de energía. Después de arrancar de nuevo, puedes comprobar que la versión de firmware se ha actualizado correctamente con:
sudo nvme list
En la salida de este comando verás el modelo del SSD y el campo de firmware actualizado. Si el número de revisión coincide con el esperado, la operación se ha completado con éxito y tu Samsung 980 Pro ya está al día.

Actualizar firmware de SSD SATA clásicos (ejemplo OCZ Octane / Vertex)
Pasando a SSD SATA más antiguos, el enfoque suele ser diferente. Un caso típico es el de los OCZ Octane o Vertex, muy populares en su momento y que arrastraban algunos problemas de estabilidad en versiones antiguas de firmware. Usuarios con estos discos han llegado a sufrir iowait altísimo, bloqueos parciales y fallos recurrentes al arrancar distintas distribuciones.
En este tipo de unidades, el fabricante ofrecía herramientas específicas (como OCZ Toolbox en Windows) con varias limitaciones: por ejemplo, no permitían flashear el disco desde el mismo SSD de sistema, te obligaban a tener el sistema operativo en otro disco, y podían fallar si tenías instalados ciertos controladores (como versiones concretas de Intel RST). Un engorro importante, sobre todo si ya usas el SSD como disco principal.
La solución práctica para la mayoría de usuarios fue recurrir a un pendrive USB bootable con una distribución Linux live (por ejemplo Ubuntu), copiar en él el ejecutable de actualización de firmware proporcionado por OCZ y hacer todo el proceso arrancando desde ese USB. El procedimiento, a grandes rasgos, sería:
Primero, preparas un pendrive de al menos 1 GB y grabas en él una imagen de Ubuntu en modo live usando utilidades como unetbootin. Esta herramienta te permite tanto descargar la ISO directamente (si no la tienes) como reutilizar una ISO ya descargada para escribirla en el USB, formateándolo previamente en FAT32. Es fundamental seleccionar la unidad correcta del pendrive para no volarte otro disco por error.
Después, descargas el ejecutable de firmware de OCZ (un fichero llamado algo como fwupd) y lo colocas en la raíz del pendrive. Al reiniciar el equipo, entras en la BIOS, restauras la configuración por defecto si te interesa, cambias el modo de la controladora SATA a AHCI y seleccionas el arranque desde el USB live de Ubuntu.
Al cargar el entorno live, confirmas que tienes acceso a Internet (por ejemplo, abriendo Firefox y verificando que puedes navegar) y localizas el archivo fwupd, que en muchos casos aparecerá montado bajo una ruta tipo /cdrom. Esta distribución trata el USB como si fuera una unidad óptica, así que es normal ver el contenido bajo ese directorio.
Desde un terminal, ejecutas la utilidad usando sudo y apuntando al dispositivo SATA correspondiente, por ejemplo:
sudo /cdrom/fwupd /dev/sda
El programa debería identificar el modelo del SSD (por ejemplo, OCZ-VERTEX2), mostrar el número de serie, la versión actual de firmware y, si todo está correcto, proceder a flashear la nueva revisión. En pantalla verás un mensaje de éxito y, al volver a consultar, la versión de firmware habrá cambiado a la nueva (por ejemplo de 1.24 a 1.29).
Puede ocurrir que el SSD esté en estado “locked” o “frozen”, lo que impide el flasheo. En ese caso la herramienta te mostrará un mensaje de error indicando que la unidad está bloqueada y sugiriendo un “power cycle”. Una forma habitual de desbloquear el disco en este contexto es forzar la suspensión del equipo desde el propio Ubuntu live (modo standby), esperar unos segundos y reanudar. Tras ese ciclo, muchos discos dejan de estar congelados y permiten ejecutar de nuevo fwupd con éxito.
Una vez actualizada la unidad, reinicias, vuelves a la BIOS, restauras los ajustes que tuvieras (incluido cualquier overclocking) y arrancas de nuevo tu sistema habitual desde el SSD. Windows, si es tu sistema principal en esa máquina, detectará cambios en el dispositivo y te pedirá reiniciar una vez más. A partir de ahí, el disco funcionará con el nuevo firmware ya aplicado.
Secure erase, modo AHCI y TRIM: pasos clave alrededor del firmware
La actualización de firmware suele ir acompañada de otros ajustes importantes para alargar la vida del SSD y evitar problemas raros. Uno de los conceptos que conviene tener muy claro es que un SSD no se trata como un disco duro mecánico clásico: las unidades de estado sólido emulan la interfaz de un HDD, pero por dentro son otra historia. Por eso, más que “formatearlas”, a menudo tiene sentido hacer un secure erase.
El secure erase no es más que un borrado seguro a nivel de controlador que resetea las celdas flash y las deja como nuevas. Se puede lanzar desde las utilidades del propio fabricante (por ejemplo, la herramienta de OCZ) o desde Linux usando comandos como hdparm, siempre con mucho cuidado. Antes de lanzarte, conviene identificar correctamente el disco con:
sudo fdisk -l
Ahí verás algo como:
Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
y el detalle de las particiones. Para saber si el disco está congelado o admite operaciones de borrado seguro, se suele usar:
sudo hdparm -I /dev/sda
En la salida hay un bloque “Security” donde puede aparecer el estado “frozen” o “not frozen”. Si está congelado, algunas guías recomiendan desconectar y reconectar el cable de datos/energía en caliente (con extrema precaución) hasta que el estado pase a “not frozen”, o recurrir a suspender y reanudar el sistema, similar a lo comentado antes con fwupd.
Otro aspecto clave es cómo está configurada la controladora SATA en la BIOS. Es muy importante que el SSD trabaje en modo AHCI y no en IDE/Legacy, salvo que por alguna razón estés usando un kernel prehistórico. Si dejas el modo IDE, pierdes funcionalidades como NCQ y, en muchos casos, el soporte correcto de TRIM, lo que a la larga se traduce en degradación de rendimiento y posible aparición de problemas cuando el disco se va llenando.
Ya con Linux instalado y funcionando sobre el SSD en modo AHCI, viene el tema del TRIM. En sistemas con ext4 es habitual habilitar la opción de montaje discard para que el sistema de archivos vaya indicando al SSD qué bloques ya no se usan. Esto se puede hacer editando el archivo /etc/fstab y añadiendo la opción correspondiente en las líneas de las particiones del SSD, por ejemplo:
UUID=... / ext4 discard,errors=remount-ro,relatime 0 1
UUID=... /home ext4 discard,defaults,relatime 0 2
Con discard activado, el sistema lanza TRIM en tiempo real cuando borras archivos o se liberan bloques. La opción relatime (que en kernels recientes ya es la predeterminada) reduce la frecuencia con la que se actualizan los tiempos de acceso de los ficheros, lo que rebaja ligeramente la carga de escrituras sobre el SSD. Otra estrategia habitual es mover a un disco mecánico clásico cosas como la swap, /var o las cachés de navegadores, especialmente si te preocupa la longevidad de la unidad de estado sólido.
Cuando el firmware solo se actualiza desde Windows u OEM
No todos los escenarios son tan “amigables” con Linux. En muchos casos, especialmente con SSD vendidos bajo marcas como SanDisk o WD, la herramienta oficial para gestionar el disco y actualizar su firmware es un Dashboard disponible únicamente para Windows. Ese programa detecta tanto unidades SanDisk como WD, se comunica directamente con el SSD y, si ve que hay una versión de firmware más reciente alojada en la nube del fabricante, la descarga e instala.
En estos entornos, las versiones para Mac o Linux del Dashboard simplemente no existen. Si tienes un equipo con Linux puro y duro, y tu SSD es de estas marcas, te encuentras con que no hay aplicación oficial para flashear desde tu sistema. La alternativa suele pasar por alguna de estas opciones: arrancar temporalmente un Windows desde otro disco o desde un USB, usar un equipo Windows distinto para actualizar el disco o, en el caso de máquinas OEM (Dell, HP, Lenovo, etc.), depender de las utilidades de actualización integradas por el fabricante del ordenador.
En los equipos OEM la cosa se complica un poco más: aunque el SSD sea físicamente un modelo de SanDisk o WD, su firmware suele ser una variante específica para ese fabricante. Las actualizaciones de firmware se distribuyen entonces a través de herramientas como “Dell Updates”, “HP Support Assistant” y similares, y el Dashboard “retail” no las aplica, porque no están pensadas para las unidades de consumo sino para la configuración OEM concreta.
Muy importante: si el Dashboard indica que tu firmware está al día, pero has visto en otra parte que existe una versión más nueva, puede tratarse precisamente de esta diferencia entre firmware retail y firmware OEM. No es recomendable intentar mezclar firmwares de canales distintos, porque los SSD OEM pueden tener características o parámetros de funcionamiento diferentes.
Respecto a recibir el fichero de firmware “suelo” para aplicarlo manualmente, las marcas suelen ser tajantes: la opción de actualización manual del Dashboard está pensada para casos especiales en los que el soporte técnico proporciona un archivo de prueba muy concreto y las instrucciones precisas para cargarlo. No es habitual que te faciliten libremente ese binario para que lo lances desde Linux por tu cuenta.
Si tu SSD ya está fuera de ciclo de vida (EOL), las utilidades oficiales normalmente te permiten aplicar la última versión de firmware publicada mientras el producto estuvo en venta, pero no habrá nuevas revisiones a partir de ahí. Y si el Dashboard no consigue flashear la unidad, solo queda abrir caso con el soporte y ver si ofrecen alguna vía alternativa.
Verificación del estado del SSD tras la actualización
Después de toquetear el firmware, no está de más hacer algunas comprobaciones de salud del disco. Más allá de ver el número de versión con nvme list o a través de la BIOS, es recomendable echar un vistazo a los datos S.M.A.R.T. de la unidad para confirmar que no se detectan sectores reubicados raros, errores críticos ni nada fuera de lo normal.
En Linux puedes instalar el paquete smartmontools y usar smartctl para leer esta información. Por ejemplo:
sudo apt-get install smartmontools
sudo smartctl -a /dev/sda
Esto te mostrará una gran cantidad de métricas: recuento de errores, número de bloques reasignados, temperatura, horas de encendido, etc. Algunas interfaces gráficas, como la utilidad “Disks” en entornos GNOME, también ofrecen una pestaña de estado SMART y benchmarks básicos. Ten en cuenta que, si el disco está montado, ciertos benchmarks pueden fallar indicando que el dispositivo está ocupado.
Si, tras actualizar el firmware, configurar AHCI, habilitar TRIM y revisar parámetros, el SSD sigue dando problemas serios, lo más sensato es preparar los datos SMART y contactar con el soporte técnico de la marca. No sería ni la primera ni la última unidad que hay que reemplazar en garantía porque venía “tocada” de fábrica o ha sufrido una degradación anómala.
Al final, aunque el proceso de actualización de firmware de un SSD en Linux pueda parecer un pequeño vía crucis entre ISOs, herramientas específicas, modos AHCI y estados “frozen”, merece la pena tenerlo controlado: contar con un firmware estable, con TRIM bien configurado, secure erase cuando toca y vigilancia periódica de S.M.A.R.T. marca enorme diferencia para que tu sistema con SSD y Linux funcione rápido, fiable y sin sorpresas raras durante años.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.