Si FPT/FPTW de Intel se niega a comunicarse con el chip de BIOS de tu tarjeta X99 china (LGA2011‑3) y muestra “Error 103: There is no supported SPI flash devices installed”, lo más probable es que estés lidiando con un chip de memoria flash de la serie XMC XM25QH, GallopMem GM25Q o Fudan FM25Q/FM25W, o con alguno de la creciente lista de componentes similares de fabricantes chinos de gama económica. Este es un problema de software/base de datos, no un chip muerto ni una falla de cableado, y tiene solución en cinco minutos.
Además de las dificultades habituales para leerlos y flashearlos, estos chips (sobre todo los XMC) suelen dejar tarjetas inservibles después de una actualización de BIOS. Esto ocurre típicamente cuando la BIOS fue diseñada para tarjetas similares que usan los chips Winbond o Macronix, más comunes, y por lo tanto carece del soporte necesario para estos componentes flash chinos.
Este artículo se centra en las tarjetas X99 chinas, ya que es donde han aparecido estos chips y donde hemos verificado los detalles que se explican a continuación. El mecanismo subyacente —una base de datos estática de componentes incluida con FPT— no es exclusivo de esta plataforma, así que es probable que la solución también funcione en otras tarjetas que usen los mismos chips.
Conoce el chip
Desde aproximadamente 2021-2022, varios fabricantes de tarjetas X99 chinas cambiaron discretamente su chip de flash de BIOS: dejaron los habituales Winbond/Macronix por el XMC XM25QH128AHIG, una memoria flash SPI NOR de 128Mbit (16MB) fabricada por Wuhan Xinxin Semiconductor Manufacturing Corp. Eléctricamente es un chip flash SPI de 3.3V común y corriente; no hay nada malo con el silicio. Desde 2023, empezaron a aparecer tarjetas con chips GallopMem GM25Q128ASIG en su lugar, que hacen fallar a FPT de la misma manera. También han aparecido chips de Shanghai Fudan Microelectronics en algunas tarjetas, comercializados en dos familias de números de parte distintas: FM25Q y FM25W. No tenemos una fecha exacta de cuándo entraron en juego los chips Fudan; es el mismo patrón de siempre, no algo nuevo ni aislado. Cada vez que un fabricante de tarjetas cambia a un proveedor de flash más barato o de menor capacidad para ahorrar unos centavos en la lista de materiales, hay una buena posibilidad de que el chip nuevo simplemente todavía no esté en la base de datos de tu herramienta de flasheo.

El error
Al ejecutar fpt -bios -d bios.bin (o cualquier otro comando de FPT/FPTW que acceda a la memoria flash), aparece el siguiente error:
Error 103: There are no supported SPI flash devices installed. Please check connectivity and orientation of SPI flash device.

Por qué ocurre
FPT no consulta la tabla SFDP (Serial Flash Discoverable Parameters) del chip como lo haría un driver de flash moderno del sistema operativo. En cambio, compara el identificador JEDEC/RDID del chip contra una lista de texto plano incluida con la herramienta, fparts.txt. Si el identificador no está en esa lista, FPT trata al chip como no compatible, aunque se está comunicando con él sin ningún problema a nivel eléctrico. XMC entró al mercado de memorias flash SPI más tarde que Winbond o Macronix, y GallopMem y Fudan entraron todavía después, así que los paquetes más antiguos de FPT/FPTW simplemente se distribuyeron sin sus identificadores. No hay nada roto; a la herramienta solo le falta una entrada en la tabla de búsqueda.
La solución
- Localiza
fparts.txt: se encuentra en la misma carpeta quefpt.exe/fptw64.exe. - Ábrelo con un editor de texto plano y agrega la línea o líneas correspondientes al final del archivo; como mínimo, una línea por cada familia de chip con la que podrías estar lidiando:
XM25QH128A, 0x207018, 0x8000000, 0x1000, 0x20, 64, 0
GM25Q128A, 0x1C4018, 0x8000000, 0x1000, 0x20, 64, 0
FM25Q128A, 0xA14018, 0x8000000, 0x1000, 0x20, 64, 0
Eso cubre, en ese orden, al XMC XM25QH128AHIG, al GallopMem GM25Q128ASIG y al más común de los dos chips Fudan. Si resulta que tu tarjeta usa la otra familia Fudan, una revisión de silicio más nueva de XMC, o un componente BOYA/Zbit, consulta la tabla más completa que aparece más abajo para encontrar la línea correcta.
Guarda el archivo y vuelve a ejecutar FPT; ahora debería identificar el chip correctamente. Si prefieres no editar nada manualmente, descarga nuestro fparts.txt extendido más abajo. Ya incluye estos chips y todo lo que aparece en la tabla de abajo (además de varios componentes convencionales de Winbond, Macronix, Micron, GigaDevice, EON/ESMT, Adesto e ISSI). Solo colócalo junto a fpt.exe, reemplazando el archivo original.
⬇ Descargar el fparts.txt extendido
Chips que requieren esta solución
Estos son los chips de memoria flash que hemos visto en tarjetas X99 chinas y que un fparts.txt original no reconoce. Todos son de 128Mbit (16MB), la capacidad estándar del chip de BIOS para esta plataforma.
| Fabricante | Componente | ID JEDEC | Notas |
|---|---|---|---|
| XMC | XM25QH128AHIG | 0x207018 | El causante original, adoptado masivamente desde 2021-2022 en adelante. |
| GallopMem | GM25Q128ASIG | 0x1C4018 | Apareció en tarjetas a partir de 2023. |
| XMC (revisión de silicio más nueva) | XM25QH128C | 0x204018 | Mismo fabricante, distinta revisión de silicio: el ID JEDEC cambió, así que una tarjeta que “usa el mismo chip” que una revisión anterior puede necesitar de todas formas una entrada aparte. |
| Fudan Microelectronics | FM25Q128A | 0xA14018 | La más reportada de las dos familias Fudan que aparecen abajo. |
| Fudan Microelectronics | FM25W128 | 0xA12818 | Una familia Fudan distinta con su propio ID JEDEC; si FM25Q128A no soluciona el problema en tu tarjeta, prueba con esta línea en su lugar. Reportada con menos frecuencia que las cuatro filas anteriores; confirma con la marcación de tu propio chip antes de confiar en ella. |
| BOYA | BY25Q128AS / BY25B128AS | 0x684018 | Una segunda marca china de flash económica que se ha visto en lotes de producción más recientes. |
| Zbit Semiconductor | ZB25VQ128 / ZB25LQ128A / ZB25VQ128A | 0x5E4018 / 0x5E5018 / 0x5E6018 | Otro fabricante nacional más pequeño, usado ocasionalmente por fabricantes de tarjetas económicas. |
Mi chip no aparece en ninguna lista: ¿cómo encuentro yo mismo su línea para fparts.txt?
Siguen apareciendo nuevas marcas de flash más rápido de lo que cualquier lista puede seguirles el ritmo. Este es el proceso general, con un ejemplo resuelto.
Obtener el ID crudo del chip cuando nada lo reconoce por nombre. Tanto FPT como la mayoría del software para CH341A imprimen un identificador JEDEC/RDID en crudo incluso para un chip que no tienen registrado por nombre. En Linux, flashrom -p ch341a_spi es una buena alternativa para esto: normalmente imprime algo como Found Unknown flash chip "unknown SPI flash chip" (ID: 0x1c7018, ...) incluso cuando no puede identificar el componente. Esa cadena hexadecimal es exactamente lo que necesitas para el campo “Device ID”; a partir de ahí, busca el ID (o el número de parte marcado con láser en el propio chip) en la hoja de datos del fabricante para confirmar la capacidad y los parámetros de borrado antes de escribir nada.
Cómo construir una línea de fparts.txt a partir de una hoja de datos. Supongamos que tu tarjeta usa un XMC XM25QH256C, un chip real que aquí solo sirve para mostrar la aritmética. Su hoja de datos indica lo siguiente:
- ID JEDEC:
0x204019 - Capacidad: 256Mbit = 32MB = 0x10000000 en bits
- Tamaño de bloque de borrado: 4K =
0x1000bytes - Código de operación de borrado de bloque:
0x20 - Granularidad de escritura: 64 bytes (comportamiento estándar de programación por página)
- Habilitación de escritura del registro de estado (Write Status Register): no requerida →
0
Juntando todo esto, queda exactamente así:
XM25QH256C, 0x204019, 0x10000000, 0x1000, 0x20, 64, 0
Así es, literalmente, como se construye cada línea de fparts.txt; no tiene ningún misterio una vez que tienes los números de la hoja de datos. Hagas lo que hagas, extrae y respalda el contenido actual de la BIOS antes de escribir algo nuevo, y siempre verifica un checksum de lectura después de la escritura antes de confiar en un chip recién flasheado.