BIOS書き込みに失敗したマザーボードの修理2


はじめに

パソコンのBIOSをアップデートしたところ,電源を入れても画面にプロンプトが表れるだけでOSが起動しなくなってしまいました.GIGABYTE製のマザーボードで,DualBIOSという名称でメインBIOS ROMに不具合がある場合はバックアップBIOSに自動的に切り替わって起動する機能がついているはずですが動いてくれません.ケースを開けてマザーボードを見るとMX25L6473EというフラッシュROMがメイン用とバックアップ用に2つ付いていました.昔BIOSの書き込みに失敗した時はICクリップを自作して書き込みましたがチップが異なるため同じ手は使えそうにありません.ヒートガンでメインとバックアップのBIOS ROMを外して入れ替えようかと思いましたが,調べてみたところflashromというソフトを使えばRaspberry PiでこのフラッシュROMに書き込めそうだったので,ICが基板についたままの状態で書き込むことにしました.

ICクリップを使ったBIOSの書き込み

このフラッシュROMは8ピンのSOPパッケージでしたが,表面実装部品用の小型ICクリップ(マイクロICクランプ)を持っていたのでそれを使い下の写真のように接続しました.当然ですが,CPUやメモリ等の取り外せる部品はあらかじめすべてマザーボードから外しておきます.

配線の状況

データシートでフラッシュROMのピン配置を調べて下記の表のとおり配線を行いました.今回手元ですぐ動く状態だったものがRaspberry Pi 1 Model B (256MB)という古いモデルで,GPIOピンが26ピンで他のモデルと一部互換性がありませんがSPI関係のピンは共通でした.

Raspberry Pi側
マザーボード側(フラッシュROM)
3.3V (17) VCC (8)
MOSI (19) SI (5)
MISO (21) SO (2)
SCKL (23) SCLK (6)
CE0 (24) #CS (1)
GND (25) GND (4)

使い方はflashromの説明ページに書かれているとおりです:

  1. "modprobe spi_bcm2835"としてSPI用モジュールを読み込む.
  2. "flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1000"としてフラッシュROMが認識されるか確認する.
  3. "flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1000 -c MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E -r backup.bin"としてバックアップをとっておく.
  4. "flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1000 -c MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E -E"としてROMを消去する.
  5. "flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=1000 -c MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E -w romfile.bin"としてROMを書き込む.
BIOSの書き込み後,無事に起動するようになりました.

ところで起動しなかった原因はどうもBIOSの書き込み失敗ではなく,新しいBIOSで現在使っているディスプレイの認識がうまくいかないらしく,BIOS設定がリセットされてBIOS設定画面に入ろうとしても画面が表示できず,そのままOSも起動できず停止したままの状態になっていたようでした.

[戻る]
2020-08-23 ページ作成
(2020-08)
T. Nakagawa