Alienware M17x BIOS / EC corrupted flash fix

I recently bricked my M17x trying to update the EC firmware for the PS2 scan rate fix. I created a USB Crisis rescue disk from the Dell package and booted from it. The Phoenix Phlash utility then informed me that it couldn’t flash when memory managers were present, and that I could press any key to exit. So I pressed a key. Instead of exiting however the program started trying to program the BIOS flash. It quickly locked up, and after I cycled power I got no response at all from the computer.

I found out once I tore down the machine that I had an original Dell (a.k.a. R1) motherboard. The incomplete BIOS load for the R2 completely confused it, as the embedded controller wasn’t recognizing the power button or keyboard for Crisis rescue (FN+B). It wouldn’t do anything at all. Time to find the flash memory that stores the configuration information.
A little examination revealed that the low level functions on this motherboard are managed by an ITE IT8512E embedded controller. This device controls typical BIOS functions like ACPI, fan PWM, keyboard controller/scanner, PS2 input from the touchpad, etc. The controller consists of two domains, the host processor (BIOS) and an 8032 microcontroller (EC). It is not entirely clear from the datasheet how the two domains are integrated; I’m not sure if it’s a logical separation or if there is actually two processors on the device. At any rate the two domains share a common internal flash memory that is mapped from the external flash ROM. On my board this external memory was an SST 25VF016B which is an SPI flash.
I bought a few of these from Mouser for this project. Evidently Microchip obtained the rights to manufacture these from SST because they said they were manufactured by Microchip but came labeled SST25VF016B, and even had SST on the chip instead of Microchip’s logo. Programming the chip was accomplished by an SPI programmer I made which I will cover in another post.
Using my SPI programmer, I read out the contents of the corrupted flash. There is a nice Linux program called dhex that allows you to compare two hex files. Using dhex I saw that the image was pretty messed up.

Once I programmed and verified a new EEPROM, I soldered it onto the motherboard. I put the computer back together thinking all was well but when I tried to turn it on I still got nothing. This started a rabbit trail where I tried to get the ISP programming software for the IT8512E from ITE, thinking that the EC code on it’s internal flash had gone so bad that it wasn’t finding the external flash interface or any of the other external I/O like a power button or keyboard. The datasheet doesn’t really talk about how the processor interfaces with external flash on reset, they use “flash” somewhat ambiguously.
However what I figured out was that with the motherboard out on the bench and plugged into the AC adapter, there was no VSTBY or VCC supplied to the chip. That means the chip wasn’t even getting a chance to try and load the code, assuming that it maps from external flash on reset (I was hoping). So I disconnected the AC adapter and tried plugging in the battery. Once I did that I found VBAT at the chip and shortly after the chip also had valid VSTBY. The flash had power as well. At that point I plugged in the media board with the power button and successfully got a lit alien head. Evidently powering from the battery woke up the chip and allowed it to load from the SPI flash. I have no idea why the AC adapter’s supply to the EC was disabled. Finally I put it all back together and after some initial configuration I was presented with a BIOS screen showing A07.
**update** I figured out that the motherboard won’t accept power from the AC adapter unless the keyboard is plugged in. That sucks because the keyboard is completely in the way when you are troubleshooting on the motherboard.

Tags: ,

Thursday, August 16th, 2012 Electronics

10 Comments to Alienware M17x BIOS / EC corrupted flash fix

  • michael says:

    hell of a job! nicely done!

  • Daniel says:

    Very interesting you post.

    Do you think that I am facing the same problem that you described here. ..?

    Please, take a look in my video I posted on youtube (http://www.youtube.com/watch?v=_QSPWmFB16g).

    I am almost sure.

    Best regard,
    Daniel

  • imsolidstate says:

    Intermittent failures are hard to diagnose. From your video it looks like it gets stuck in a reboot loop. If disconnecting the battery fixes it some of the time then it might be a problem with the EC reading the flash. The EC maps data from the flash when the battery is inserted. Maybe there is an error in the flash so it doesn’t always read correctly. I recommend replacing the flash, and if that doesn’t fix it you will need a new board because it will be the EC’s fault and it can’t really be replaced.

  • relu says:

    Hello. Did you manage to fix it? If not I can help you 100% I have all you need for this and is easy. Contact me at laptop_repairs@rocketmail.com

  • relu says:

    …or we can talk here if you wish. I just want to help

  • Reyn says:

    Hey i have an m17x r2 ,I was busy updating the bios and while updating i for some reason have plugged in a USB into my PC so it ended up freezing, 2 hours later i ended up have to force restart my PC and from the black screen ,fans not spinning and my PC lights are on, I have taken out some ram and resetting the CMOS,Still nothing, CTRL + Alt + Del ,Fn + b ,I just dont seem to get into the bios,i have tried flashing the bios and does not seem to work,Any help please?

  • imsolidstate says:

    If it froze during a BIOS update you likely corrupted the flash. Try unplugging the battery and power cord and let it sit for a few minutes, then install the battery plug it in and turn it on. If it’s still broke you will have to blind flash the BIOS. I’ve been out of this for a while, go to techinferno for some guidance on how to do it.

  • Reyn says:

    @imsolidstate i have tried it and nothing happens ,Still nothing,Please can you explain to me how to flash the bios but the USB part because i am unsure if i should use the new bios on dell website on backtrack to the old version bios like the A02 instead of flashing updated A10 bios,What files do i need on the USB as some forums said i need to following 3,

    -Bios.wph
    -phlash16.exe
    -minidos.sys

    nothing happens once the USB is inserted and i press FN+B or win+b or ctrl+esc.

    Please help.

  • imsolidstate says:

    Reyn, If you tried plugging in the battery then the AC power and it still won’t turn on any lights or the screen then the BIOS flash EEPROM is corrupted probably. (Sorry the part in the last comment about blind flashing isn’t applicable here, that’s for bad video EEPROM) The only way to fix that is physically remove the EEPROM and manually program it. BTW it makes no difference which BIOS version you use, just getting it working again is all that matters.
    The only thing else to check is the keyboard connector and the connector for the buttons across the top. The laptop won’t do anything if the keyboard isn’t there and my alien head power button can be really hard to push sometimes.

  • fausto says:

    hello i ask for help to find where to locate the bios chip of an alienware m17x r1 thanks

  • Leave a Reply