divendres, 2 de setembre del 2016

De-Bricking an ASUS P8B75-M LX


Ara fa uns dies vaig comprar al Wallapop una placa ASUS P8B75-M LX a un tal "Manolo B" de Calella. El tio em va prometre que funcionava... vaja, que no funcionava. Em vaig queixar i el tio volia que li fes un reballing and una pistola de calor (decapadora). Sembla que aquests aprenents de bruixot han descobert la sopa d'all amb les decapadores. Tot s'arregla recremant-ho una mica. Apart de les accions empreses, vaig intentar reparar-la, i me'n vaig sortir! Some days ago I purchased from Wallapop user "Manolo B" an ASUS P8B75-M LX in Calella de Mar (Catalonia). He told me that is was working proppery. It was not. I complained and he wanted me to apply heat with a heat gun. These people think that heat guns have magic beams that can repair everything, duh! Well, I tried to repair it, and I got to work!



ASUS P8B75-M LX mainboard.



Aquests eren els símptomes:


  1. Quan s'hi connectava la font, el LED de la placa es posava verd
  2. Quan s'apretava el botó de power, els ventiladors es posaven a girar, però no apareixia res per la pantalla
  3. Si es provava d'engegar sense les memòries, pitava piiip-pip-pip.
  4. Provat amb vàries RAMs i varies VGA.
  5. Esborrada la CMOS.
  6. Provat amb diversos processadors, fins i tot els suportats amb la primera versió de la BIOS, doncs és freqüent que si el processador no està suportat per la BIOS no s'engegi, i faci falta trobar un altre processador per a poder fer l'update.

Havent revisat la placa minuciosament, vaig desconfiar de la BIOS. La placa porta el sistema CrashFree 3, que incorpora 2 xips de BIOS, per tant hauria de suportar gitanades. 
These were the simpthoms:

  1. When I apply power to the board, I can get the onboard led to get lit. So it gets power.
  2. When I press power button I can get fans to spin, but nothing appears in the screen.
  3. When I try to start with the RAMs removed, I can hear beeep-pip-pip
  4. Tested with several RAMs and VGAs.
  5. Erased CMOS.
  6. Tested several processors, even those supported with the very first version of the BIOS. It is quite common that a board does not start when BIOS does not support a processor. It requires getting a supported processor, in order to start and update the BIOS, and then start with the newer processor.
I revised the board toroughly. Maybe it was the BIOS?. This board uses ASUS CrashFree 3 that has 2 BIOS chips to support flashing failures.

Asus CrashFree 3 Dual Bios based on Winbond 25Q64FVA1G series 25 SPI chips.




No hi havia manera de poder interactuar amb la placa, era ben morta, de manera que va ser necessari un lector/gravador de memòries SPI series 24 i series 25.

N'hi ha un de ben econòmic que es diu CH341A, que vaig comprar a l'eBay.

El software es pot baixar d'aquí:

  • CH341A software, aquest software no té virus, com altres que podeu trobar per la xarxa, i està basat en aquesta feina de Kris Kasprzak en aquest vídeo
  • Per a instal.lar-lo, només cal baixar la carpeta, i executar "driver-- 24CXX25XX.exe" 
  • Llavors executar CH341A.exe per a posar en marxa el programador. Prement "detect" hauria de detectar el xip que poseu al sòcol.

The mainboard was dead, so nothing to do with it. I required a SPI series 24 & 25 memory programmer.

There is a very cheam one called "CH341A", and of course eBay is your friend.

Required software can be downloaded from here:

  • CH341A software. This software is clean from virus. Other versions you'll find in the net have pests attached. It is based on Kris Kasprzak work in this video.
  • To install, simply doubleclick on driver-- 24CXX25XX.exe. This will install the drivers.
  • Then execute CH341A.exe to start the programmer software. Press the "detect" button and it should detect the SPI chip you inserted in the programmer socket.

CH341A programmer as purchased at eBay





Vaig llegir els dos xips i en vaig guardar còpia de seguretat (molt important).

El programador em va detectar les Winbond 25Q64FVA1G com unes W25X64 de 8Mbytes.

Vaig comprovar que el contingut era molt diferent. Així doncs, no semblava pas que us fos còpia de seguretat de l'altre.

Llegint en un post de hardforum.com, vaig veure que algú havia fet unes eines FD44Editor per a poder manejar BIOS de ASUS. Descarrega'l d'aquí si no existeix al GitHub.

Aquest programa permet veure la personalització del firmware per la placa, és a dir, la MAC address de la xarxa, el número de sèrie, el UUID...,
De fet, també permet agafar una BIOS neta del fabricant i personalitzar-la amb aquesta informació per a flashejar-la al xip. Vaja, la feina que fa el programa d'actualitzar la BIOS.

Així doncs, aquest programa agafa un arxiu BIN (lectura d'un arxiu de BIOS), n'extreu unes dades, agafa un arxiu CAP (BIOS descarregada des de la web d'ASUS) i insereix aquestes dades. El resultat és un arxiu BIN preparat per a programar un xip.

Trobareu molta info a hardforum.com
I read both chips and I kept backup of both contents. (very important).

Programmer detected both Winbond chips 25Q64FVA1G as W25X64 having 8Mbytes each.

I could check that both chips contents were *very* different. I expected that one was the backup of the other. I expected to find them very similar.

Reading a post in hardforum.com I could see that somebody wrote a program to work ASUS bios named FD44Editor. Download from here if it is not available at GitHub.

This program allows you to see the mainboard's particularization of the BIOS, having the motherboard serial number, the system UUID, Ethernet MAC address....
In fact, this program also allows you to get this info, and write it into the manufacturer's BIOS file downloaded from ASUS Support website, so, obtaining the file ready to be flashed to the Bios Chip. The same job that does the flashing program.

So, this program reads a BIN file (file read from the BIOS chip), gathers some data from there, then gets a CAP file (BIOS file downloaded from manufacturer's web) and inserts there these data. The resulting file is a BIN file ready to be programmed into the chip.

You'll get a lot of info in hardforum.com

FD44Editor.exe output for Left and Right Chip



Així doncs el xip esquerre és una BIOS de ASUS i correspon amb el que toca a la placa, i el xip de la dreta no conté una BIOS.


  • Assumeixo que el xip de l'esquerra està malament, i per tant, li copio els continguts del de la dreta. Resultat: La placa no fa res, i no fa beeps quan se li treuen les RAMs.
  • Descarrego una BIOS versió 1403 del fabricant (fitxer CAP), llegeixo les dades de la BIOS actual (fitxer BIN) i les introdueixo a la BIOS del fabricant amb FD44Editor. El fitxer resultant (BIN) el gravo als dos xips: Resultat:  La placa no fa res, i no fa beeps quan se li treuen les RAMs.
  • Descarrego la versió 0803, que és la que hi havia al xip, i procedeixo com al cas anterior. Resultat: La placa no fa res, i no fa beeps quan se li treuen les RAMs.
  • Recupero els backups als dos xips. La placa torna a fer el que feia al principi.
  • Intercanvio els xips: res: ni tan sols pita si trec les RAMs. Torno a posar els xips a lloc.
  • Programo la versió 1403 NOMÉS al xip de l'esquerra (el de la dreta manté ens continguts originals). BINGO! FUNCIONA!
Així doncs, sembla que els dos xips no han de contenir la mateixa informació.
So left chip is identified as a ASUS BIOS chip for my mainboard, and right chip is not.


  • I assume that right chip is corrupt and copy left chip contents to right chip. Result: it does nothing, and does not even beep when RAMs are removed.
  • I download a BIOS version 1403 from manufacturer (CAP file), I read some data from my current bios (BIN file) and insert them to the manufacturer's CAP file using FD44Editor. The resulting file (.BIN) is programmed to both chips. Result: Board does nothing, it does not even beep when RAMs are removed.
  • I download from manufacturers's support site BIOS version 0803, that was the one that I found in left chip. I repeat last operations (program both chips). Result: Board does nothing, it does not even beep when RAMs are removed.
  • I recover backups to both chips. Back to the beggining.
  • I swap chips left to right. Again nothing, and it does not beep when RAMs are removed. I return the chips to their original sockets.
  • I program version 1403 ONLY in LEFT CHIP (Right Chip keeps original contents). BINGO! WORKS!
Looks like both chips don't have same info.