InicioHazlo Tu MismoSolucionar Mal Flasheo de Bios actuales
En máquinas actuales es común encontrar EEPROM BIOS en encapsulados tipo 8 SOP u 8 PDIP los cuales contiene al firmware UEFI, debido a su sencilla configuracion, dichos chips han reducido significativamente la dificultad que representaba volver a programarlos o sustituirlos en caso de un mal flasheo.
Solucionar Mal Flasheo de Bios actuales
-Dichos chips no son exclusivos para pc y portátiles, también los hay en tarjetas gráficas, módems, routers, tablets, etc. Dichos dispositivos tambien usan un firmware que se puede actualizar o reprogramar.

Si tu chip es un PLCC cuadrado de los antiguos, me temo que la información de este post no te va a servir, aunque existen alternativas, hay que tomar en cuenta los costos del programador Willem con los de una motherboard nueva, aun así todavía es posible recuperar esas bios mediante otros métodos, como el hot swapping los cuales no explicare de momento en este post.
bios
El hardware está construido sobre un DB-25, conocido comúnmente por todos como puerto paralelo, LPT o de impresora. Los materiales empleados son pocos y además económicos. En mi caso no tuve que comprar casi nada ya que disponía de algunos materiales y para lo demás solo tuve que improvisar un poco .

El software “SPIPGM” se ejecuta en la línea de comandos de Windows CMD, símbolo de sistema o MS-DOS, también está disponible para Linux y es muy fácil de usar, requiere del programador que vamos a describir mas adelante. Usen preferentemente la última versión. En el caso del port para Windows, solo funcionara en sistemas operativos de 32 bits.

Como su nombre lo sugiere hace uso del puerto SPI, la identificacion o presencia de dicho puerto puede llegar a ser un problema para el usuario promedio, por lo que es preferible trabajar directamente sobre el chip.

Acá la web oficial del autor del programa:
http://rayer.g6.cz/programm/programe.htm#SPIPGM

Al bajar el software de la página oficial obtendrán un archivo zip con el programa y un archivo readme el cual contiene entre otras cosas, la lista completa de chips soportados.
Acá la lista de chips soportados por el momento:


AMIC:
A25L05PU/PT (64kB)
A25L10PU/PT (128kB)
A25L20PU/PT (256kB)
A25L40PU/PT (512kB)
A25L80PU/PT (1MB)
A25L16PU/PT (2MB)
A25L32PU/PT (4MB)
A25L64PU/PT (8MB)
A25L512 (64kB)
A25L010 (128kB)
A25L020 (256kB)
A25L040 (512kB)
A25L080 (1MB) - tested OK

Atmel:
AT25F512B (64kB)
AT25F1024A (128kB) - this chip may be supported but a tester is needed
AT25DF021 (256kB)
AT26DF041 (512kB)
AT25DF041A (512kB)
AT26F004 (512kB) - tested OK
AT26DF081 (1MB)
AT25/26DF081A (1MB)
AT25DF081 (1MB)
AT26DF161 (1MB)
AT26DF161A (2MB)
AT25DF161 (2MB)
AT25DQ161 (2MB)
AT25/26DF321 (4MB)
AT25DF321A (4MB)
AT25DQ321A (4MB)
AT25DF641(A) (8MB)

EON:
EN25B10 (128kB)
EN25B20 (256kB)
EN25B40(T) (512kB)
EN25B80 (1MB)
EN25B16 (2MB)
EN25P32 (4MB)
EN25P64 (8MB)
EN25P128 (16MB)
EN25Q40 (512kB)
EN25Q80 (1MB)
EN25Q16 (2MB)
EN25Q32 (4MB)
EN25Q64 (8MB)
EN25Q128 (16MB)
EN25F10 (128kB)
EN25F20 (256kB)
EN25F40 (512kB)
EN25F80 (1MB) - tested OK
EN25F16 (2MB)
EN25F32 (4MB)
EN25F64 (8MB)
EN25F128 (16MB)
EN25T10 (128kB)
EN25T20 (256kB)
EN25T40 (512kB)
EN25T80 (1MB)
EN25T16 (2MB)
EN25T32 (4MB)
EN25T64 (8MB)
EN25QH16 (2MB)
EN25QH32 (4MB) - tested OK
EN25QH64 (8MB)
EN25QH128 (16MB)
EN25QH256 (32MB)

ESMT:
F25L004A (512kB) - tested OK
F25L008A/08PA (1MB)
F25L016A/16PA (2MB)
F25L32PA (4MB)
F25L64PA (8MB)
F25S04PA (512kB)
F25L08PA (1MB)
F25L16QA (2MB)
F25L32QA (4MB)
F25L64QA (8MB)

GigaDevice:
GD25Q512 (64kB)
GD25Q10 (128kB)
GD25Q20 (256kB)
GD25Q40 (512kB)
GD25Q80 (1MB)
GD25Q16 (2MB) - tested OK
GD25Q32 (4MB) - tested OK
GD25Q64 (8MB)

Intel:
QB25F016S33B8 (2MB)
QB25F032S33B8 (4MB)
QB25F064S33B8 (8MB)

Macronix:
MX25L512E/25V512 (64kB)
MX25L5121E (64kB)
MX25U5121E (64kB)
MX25L1005/1006/1025/1026E/25V1006E (128kB) - tested OK
MX25L1021E (128kB)
MX25U1001E (128kB)
MX25L2005/2006/2025/2026E/25V2006 (256kB)
MX25U2033E (256kB)
MX25L4005/4006/4025/4026/25V4005/4006E (512kB)
MX25U4033/4035/25V4033/4035 (512kB)
MX25L8005/8006/8008/8035/8036/8073/8075E (1MB) - tested OK
MX25U8033/8035E (1MB)
MX25V8035 (1MB)
MX25L1605/1606/1608E (2MB) - tested OK
MX25L1633/1635/1636/1673/1675E (2MB)
MX25L1635/1636E (2MB)
MX25U1635 (2MB)
MX25L3205/3206/3208/3233/3235/3273/3275E (4MB)
MX25U3235/25L3239E (4MB)
MX25L3225/3236/3237D (4MB)
MX25L6405/6406/6408/6435/6436/6445/6465/6473/6475E (8MB) - tested OK
MX25U6435/25L6439E (8MB) - tested OK
MX25L12835/12836/12839/12845/12865/12873/12875F (16MB) - tested OK
MX25U12835F (16MB)
MX25L25635/25639/25735/25835E (32MB)
MX25U25635F (32MB)
MX66L51235F/51245G (64MB)
MX66U51235F (64MB)
MX66L1G45G (128MB)

PMC:
Pm25LD512 (64kB) - tested OK
Pm25LD010 (128kB) - tested OK
Pm25LD020 (256kB)
Pm25LV512(A) (64kB) - tested OK
Pm25LV010(AB) (128kB) - tested OK
Pm25LV020 (256kB)
Pm25LV040 (512kB) - tested OK
Pm25LV080B (1MB)
Pm25LV016B (2MB)
Pm25LV032B (4MB)
Pm25LV064B (8MB)
*Pm25LQ032C (4MB)

Spansion:
S25FL001A (128kB)
S25FL002A (256kB)
S25FL004A (512kB)
S25FL008A (1MB)
S25FL016A (2MB)
S25FL032A/P (4MB) - tested OK
S25FL064A/P (8MB)
S25FL128P/S/129P/S (16MB) - tested OK
S25FL256S (32MB)
S25FL512S (64MB)
S25FL01GS (128MB)

ST Microelectronic/Numonyx:
M25P05 (64kB)
M25P10 (128kB)
M25P10AV (128kB) - tested OK
M25P20 (256kB)
M25P40 (512kB)
M25P80 (1MB)
M25P16 (2MB)
M25P32 (4MB) - tested OK
M25P64 (8MB)
M25P128 (16MB)
M45PE10 (128kB)
M45PE20 (256kB)
M45PE40 (512kB)
M45PE80 (1MB)
M45PE16 (2MB)
M25PX80 (1MB)
M25PX16 (2MB)
M25PX32 (4MB)
M25PX64 (8MB)
N25Q032A13E (4MB)
N25Q032A11E (4MB)
N25Q064A13E (8MB)
N25Q064A11E (8MB)
N25Q128A13E (16MB)
N25Q128A11E (16MB)
N25Q256A13E (32MB)
N25Q256A11E (32MB)
N25Q512A13G (64MB)
N25Q512A11G (64MB)
N25Q00AA13GB (128MB)

SST:
SST25VF512(B) (64kB) - tested OK
SST25VF010(B) (128kB) - tested OK
SST25VF020(B) (256kB)
SST25VF040(B) (512kB)
SST25VF080(B) (1MB) - tested OK
SST25VF016(B) (2MB) - tested OK
SST25VF032(B) (4MB)
SST25VF064C (8MB)
SST25VF128(B) (16MB)
SST26VF016 (2MB)
SST26VF032 (4MB)
SST26VF064 (8MB)

Winbond:
W25Q10B (128kB)
W25Q20BV (256kB)
W25Q40BV (512kB)
W25Q80BV (1MB) - tested OK
W25Q16BV (2MB) - tested OK
W25Q32BV (4MB) - tested OK
W25Q64BV/FV (8MB) - tested OK
W25Q128BV/FV (16MB)
W25Q256FV (32MB)
W25Q16FW 1,8V (2MB)
W25Q32FW 1,8V (4MB)
W25Q64FW 1,8V (8MB)
W25Q128FW 1,8V (16MB)
W25X10 (128kB)
W25X20 (256kB)
W25X40 (512kB)
W25X80 (1MB) - tested OK
W25X16 (2MB)
W25X32 (4MB) - tested OK
W25X64 (8MB)


Para saber si tu chip es compatible, tendrás que fijarte en el número de serie que viene impreso en la superficie del chip y buscarlo en la lista, por ejemplo el que usaba mi placa base Gigabyte F2A55M-S1 era un MX25L6406E de Macronix el cual aparece como soportado por el programa y en el datasheet (hoja de datos) la descripción de las funciones de cada pin coincide con las del circuito programador.
flashear
Una vez comprobado que tu chip es compatible deberas tener a la mano la bios original que traía de fábrica, por ejemplo una copia de respaldo de la bios, si no se cuenta con una pueden ir a la web del fabricante de la motherboard y bajar la primera versión de la bios para su sistema, no recomiendo usar la última versión directamente ya que en muchos casos las actualizaciones son acumulativas y requieren que esté presente la bios que viene por defecto.

Acá el diagrama del circuito en cuestión:
firmware
El puerto paralelo desafortunadamente ha caído en desuso y es por eso que ya no la incluyen en placas madre modernas, por lo que tendrán que usar temporalmente un placa viejita o quizás les funcione sobre un adaptador USB-LPT o alguna tarjeta controladora PCI (No lo he comprobado).
programar

Aquí la lista completa de materiales:
1 Capacitor electrolítico de 1µf de cualquier voltaje preferentemente a 16v
4 Resistencias de 150Ω
Un conector DB-25 macho
6 cables delgados (25AWG) de no más de 10cm de largo + 2 cables algo más gruesos para la alimentación.

2 pilas AAA de 1.5 v o 1 pila de litio 3v tipo CR2032 (opcional).
2 Bases para circuito integrado de 8 pines (opcional).
1 placa de circuito impreso (opcional)


Podrias usar un capacitor de 1000µf en vez de uno de 1µf, yo me decidí por usar uno de 1µf ya que la tensión y voltaje de alimentación producidos por las pilas no son muy elevados pero si vas a emplear una fuente de alimentación deberías optar por el de 1000 µf para así reducir lo mejor posible errores de escritura o lectura.
Windows
También se pueden emplar los 3.3v sugeridos por el circuito, siendo así se debe reducir el voltaje de 5v que viene de la fuente de alimentación, aunque la mayoría de las veces no serán necesarios los 3.3v exactos, ya que estos chips puede operar con voltajes que van desde los 2.7v hasta los 3.6v según especifica la hoja de datos del fabricante.
Linux
Herramientas:
Cautin de 25W
Soldadura
Pinzas o Alicates
Navaja o Cutter (para pelar los cables)

eeprom
Bueno, como se puede observar la construcción es muy sencilla, solo se necesita un mínimo de habilidad para soldar y mucha paciencia ya que estos chips miden menos de 1 centímetro y la distancia entre pata y pata es de apenas 1.27 milímetros, para removerlo de la placa se deben calentar los cuatro pines de cada lado y palanquear cuidadosamente con un desatornillador plano, este proceso es más sencillo de hacer con un cautín de aire caliente, aunque también existen pastas especiales para remover dispositivos de montaje superficial.
8 sop
Después de remover el chip pueden colocar una base que permita su extracción rápida, algunos le soldán cables directamente sin extraerlo de la placa base, aunque para eso hay que tener en cuenta que la tensión de alimentación podría verse afectada por los componentes que se encuentran alrededor, dicho procedimiento no sería necesario en caso de contar con un conector SPI en la placa, pero ustedes pueden hacerlo como mejor les convenga.
8 pdip
flashrom
Una vez extraido el ic de la placa y colocado/soldado en el circuito ya armado, lo conectamos al puerto paralelo y procedamos a ejecutar spipgmw.exe


Los comandos a usar van en el siguiente orden:

1) identify


spipgmw /i

Comprueba el correcto funcionamiento del hardware identificando el chip y al hardware, si todo va bien les tiene que aparecer un texto parecido al siguiente:

Spi connected to LPT port at I/O
FlashROM JEDEC ID, type: C220014H
Macronix MX25L6406E (8 MB)
Status = FFh (SRP:1, RES:1, TB:1, BP2:1, BP1:1, BP0:1, WEL:1, BSY:1)


2) unlock

spipgmw /u

Este comando desbloquea el chip para su escritura

3) erase


spipgmw /e

Este comando borra todo el contenido del chip, como seguramente los datos están corruptos no hace ninguna falta hacer un respaldo, aunque si desean crear uno escriban: spipgmw /d respaldo.bin

4) program

spipgmw /p biosdeejemplo.bin

Para flashear el chip con un binario integro, soporta cualquier extensión (.bin/.fd/.rom/.whp) ya sea un respaldo o bajada de la web del fabricante, aunque ya desde el paso 3 se esta flasheado la memoria hay que tener en cuenta que la memoria eeprom tiene un número limitado de borrados, pero no es nada de lo que deban preocuparse ya que los ciclos de borrado ascienden a más de 100,000 veces.

5) verify


spipgmw /v biosdeejemplo.bin

Este comando verifica que los datos escritos coincidan con la imagen original de respaldo. En caso de encontrar errores, borren la memoria y vuelvan a grabar la bios (paso 3 y 4), eso debería solucionar el problema, recuerden no interrumpir el proceso moviendo el circuito o creando interferencia.

Por ultimo solo resta poner el chip de vuelta a la motherboard procurando colocarlo en su posición original y soldándolo bien a la placa, si lo desean pueden soldar una base por si se presenta en un futuro algún fallo similar.

Si el sistema bootea sin problemas, ¡felicitaciones lo has conseguido! y si no, pues algo hiciste mal, si tras varios intentos no se soluciona el problema, puede que la falla se produzca por otras causas o tal vez el chip se haya dañado en una mala maniobra de extracción, si ese es el caso, estos pueden conseguirse en tiendas de electrónica o por internet con el número de serie.

Aca les dejo algunas capturas propias:
Solucionar Mal Flasheo de Bios actuales
bios
flashear
firmware
programar
Windows
Linux
eeprom
Ya con la placa funcionando, logre actualizar mi bios a la version mas reciente usando linux y un programa llamado flashrom, a mi parecer es mas seguro de esta forma que con las utilerias que ofrecen los fabricantes.
8 sop
Espero que este post les sea de utilidad y les ahorre un gasto innecesario.

Gracias por su visita y hasta la próxima
Datos archivados del Taringa! original
378puntos
12,777visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
0visitas
0comentarios
Dar puntos:

Posts Relacionados

Dejá tu comentario

0/2000

No hay comentarios nuevos todavía

Autor del Post

e
eljc🇦🇷
Usuario
Puntos0
Posts2
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.