TL;DR - reflashing the BIOS saved my old Desktop

This is a short tale from a corrupted BIOS in a MSI Tomahawk B350 Motherboard from 2017

On March 24th I used the computer to play some games and browse the internet as usual then gracefully shut it down. On the next day I tried to turn it on again, but the computer did not make it to POST verifications. No chance to get in the BIOS, no beeps or display at all. Nothing. The components were energized, all lit up on their leds, but nothing else.

Checked the MB debugging leds and I saw that they got stuck on “VGA” and did not get any further progress. So I tried to switch my current VGA with an old VGA card that I have. Same behaviour in the MB leds. Since I didn’t know if the old VGA was ok, I gave the MB diagnosis a credit.

As it is an 8 year old Desktop, maybe removing all attached cards/memory and cleaning up everything could help. Reattaching everything together can solve some problems, sometimes. However, I got the same MB leds behaviour.

Even trying to boot the PC up without any attached cards (only memory) lit only the same VGA led on the MB. Sigh… the MB debug led is wrong…

After a brief internet search I found similar problems with the same MB in the MSI forum where the problem was a corrupted BIOS chip. The problem in the forum was solved by reflashing the BIOS.

It all looks easy, however my MB does not have the external button to flash the BIOS (btw I discovered this was a thing looking for my problem in the forums).

So I had two ideas: Buy a new MB that supported my 8 year old setup OR try to reflash the BIOS with basic components for 1/6 of the new MB price.

After watching several bad and precarious videos in youtube about corrupted BIOS recovery (most of them in PT-BR my primary language (hue)) I bought a CH341a usb stick with an 1.8V adapter.

They come with a “double clip” that eliminates the need of removing the chip from the MB to read/write. And since I don’t have a hot air station to unsolder the chip, using the clip looked like a good plan.

The plan was to mount every component and, using the double clip, read from the chip, save it locally as some sort of backup (even though it was corrupted) and then write the most recent BIOS update of my MB to the chip. The most recent BIOS could be downloaded from the Support section of my MB page in MSI website.

When CH341a usb thing was finally delivered to my address I gave it a shot.

I mounted the CH341a and the 1.8V adapter in the correct pin orientation (regards to the bad youtube videos) and using the Linux app IMSProg I was able to find my chip specs and see a green “Connected” in the status bar of the app!

From here it all went as planned - I was able to read the old BIOS binary and save it locally to a file. Using xxd to compare the headers of the new BIOS with the extracted one I saw that they were nearly identical. This gave me hope!

I had to rename the new BIOS to a .bin extension so that the IMSProg could find it and open the file. After opening the file in the app I hit the automatic options: erase, program and verify. The process took a while but was finalized with a successful message.

After putting all Desktop pieces together the boot sequence completed and I was able to see the Windows login screen again :’-). Unfortunately my grub had gone away, but this is a tiny detail.

I Hope this text gives you courage and ideas to solve these awful problems that appear out of nowhere.

  • Kabutor@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    7
    ·
    12 hours ago

    If you are interested on how this is done I can recommend the AdamantIT channel on YT, the guy there does a very good job explaining what he does on each step.

  • Fondots@lemmy.world
    link
    fedilink
    English
    arrow-up
    59
    ·
    18 hours ago

    Not immediately relevant to your issue, but fun fact I wanted to share regarding the term “flashing” your BIOS

    The term originates from a time when BIOS was stored on an EPROM (Eraseable, Programmable Read-Only Memory) chip (not EEPROM, which later became the norm and stands for Electronically Eraseable, Programmable Read-Only Memory)

    So if you think about those terms for a minute, if EPROM was erasable, but not electronically erasable, how did you erase it?

    The answer is, you exposed it to UV light, ideally a strong one like a mercury vapor lamp, but other sources could work they’d just take longer.

    So you literally were flashing light at the chip.

    The chips had a little window built into them to expose the memory array, and they were usually covered with a sticker you would peel off if you needed to erase it.

  • Dagnet@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    18 hours ago

    This why I always buy a MB with dual bios or some kind of USB bios auto flash. Usually means paying for a higher end board but I think it’s worth it

    • Psythik@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 hours ago

      Agreed. Only ever owned motherboards with a dual bios, ever since I built my first PC so I could play Crysis back in 2008. Never actually needed to use the backup BIOS, but I rather have it and not need it, than not have it and need it.

  • BaroqueInMind@lemmy.one
    link
    fedilink
    English
    arrow-up
    16
    ·
    edit-2
    11 hours ago

    This is fantastic. Did the clip simply use tension of the spring to maintain connection to the children chip (god damn autocorrect)? What are the downsides to doing it this way versus desolder?

    • Romkslrqusz@lemm.ee
      link
      fedilink
      English
      arrow-up
      16
      ·
      19 hours ago

      It does!

      Downside is that you can end up with a bad / imperfect connection, which can result in a bad .bin (reading) or a bad flash (writing)

      Removal of the IC is always more ideal when possible.

      If you absolutely must use the clip, I recommend reading two .bins, reseating the clip between each read, and comparing the two in a hex editor to ensure you’ve actually gotten a good read.

      Most flash tools will have a verify step to ensure you’ve actually written the right data.

      • Kabutor@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        2
        ·
        edit-2
        12 hours ago

        Just read the original bios, verify it and save. Empty the chip, write and verify

        Doing a reseat of the clip for each process I think is a bit overwork, also the clip that cames with the kits usually is very bad, I have to buy more clips after several uses.

        Edit: just to add some experiences, I recovered several HP laptops due to corrupted bios and some desktop motherboards, is a more common problem these days when bios updates are being done by windows update, and the fault rate is going up just because MS or the manufacturer are doing something wrong

        • Romkslrqusz@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 hours ago

          I didn’t suggest anyone reseat the clip between each step.

          read the original bios, verify it and save

          I’m recommending that this sequence be performed twice, reseating the clip before the second run, and performing a comparative of both .bin backup files.

          The imperfect mature of these clips opens up the possibility for an imperfect read. Depending on the system, you may meed information from the original BIOS so you really don’t want to be stuck with a bad backup.

  • finitebanjo@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    21 hours ago

    A quick search online shows a lot of people struggle flash the BIOS on the B350, I never really put much thought into it while buying parts in the past but I suppose a lack of button would lead to shenanigans like this.

    I like to shop around for a good MB especially because a good bus speed is nice and a good number of slots leaves room to upgrade.

  • ramble81@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    ·
    19 hours ago

    So I see the CH341a, but what are the other two PCBs that are stacked on top that the ribbon cable is connected to? And how did you find out you needed them?

    Overall, that’s awesome work! Couldn’t have broken it any worse than it was, so why not take the chance and it paid off.

    • Trapped In America@lemm.ee
      link
      fedilink
      English
      arrow-up
      12
      ·
      edit-2
      19 hours ago

      Looks like this kit and the product description says…

      1 x CH341A 24 25 Series EEPROM Flash BIOS USB Programmer

      1 x 1.8V adapter for iPhone or motherboard 1.8V SPI Flash Memory SOP8 DIP8

      1 x SOP8 SOIC8 to DIP8 EZ Programmer Adapter Socket Converter Module 150mil

      1 x SOIC8 SOP8 Flash Chip IC Test Clip socket adapter BIOS/24/25/93 Programmer

      So they other 2 are a 1.8v converter and SOIC8-to-DIP converter for the cable.

      • Kabutor@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        12 hours ago

        when you flash AMD motherboards you have to use the 1.8 adapter as those bioses work at 1.8v, with intel boards the process is the same but as those are at 3.3v you dont need the adaptor