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


注意:このページに書かれた内容は完全に無保証です. このページに書かれた内容を試みた場合,マザーボードやそれに接続されたハードウェアが完全に破壊される恐れがあります. もしこのページの内容を参考にされる場合は自己責任にてお願いいたします.

はじめに

メインマシンのBIOSを新しいものに書き換えたところ,電源を入れても画面に何も現われず,起動音すら鳴らない状況になってしまいました. どうやらBIOSの書き込みに失敗してしまったようです. あっという間にマザーボードがゴミになってしまいました.
しかしながら,BIOS自体はフラッシュROMなので,AVRなどで適当なROMライターを作れば復活できるのではないか・・・と思いWebを調べたところ,konflashというパラレルポートを使った非常にシンプルなフラッシュROMライターが公開されていましたので,これを使わせてもらい修理することにしました.

BIOSのフラッシュROMについて

マザーボード上でBIOSのROMチップを探したところ,32ピンPLCCのICが見つかりました.型番は,WinbondのW39V080APZというものです. データシートも検索するとすぐに見つかりました.
このフラッシュROMは8Mbitの品で,konflashは2MbitのW49V002Aを対象としているようでしたが,データシートを見比べたところ電源電圧やピン配置や書き込み手順等は同じようだったのでkonflashが使えそうです.

マザーボード上でフラッシュROMを探した時に気がついた重大な問題は,これがICソケットに実装されているのではなく,基板に直に半田付けされているという事です.
基板に直付けされたフラッシュROM基板に直付けされたフラッシュROM
基板から取り外そうと半田吸い取り器を使い格闘しましたが歯が立ちませんでした.
そこでフラッシュROMを取り外すのはあきらめて,基板に付けたまま上からクリップを取り付けて書き込みを試みることにしました.
これは,AVRのフラッシュROMにISP書き込みを行う時によく使っている方法です.
ISP書き込み用クリップ AVRのISP書き込みに使っているクリップ
ただし今回扱うフラッシュROMやマザーボードはこのような実装書き込みを考慮しているわけではないので,マザーボードを完全に破壊してしまう可能性が高いといえます. また壊れなかったとしても,ROMライターの信号がチップにうまく伝えられずに正常な書き込みが行えない可能性もあります. 今回はどうせ起動しなくなったマザーボードなので,だめもとで試してみることにしました.

書き込み用のハード

回路図回路図 配線図配線図
完成写真(全体) 完成写真(全体) 完成写真(クリップ部) 完成写真(クリップ部)
ライターの回路は,konflashのオリジナルの回路をほぼそのまま使わせていただいています.
ただし以下の点を変更しています:

フラッシュROM用のソケットは,ピンヘッダから抜いたピンを1.27mmピッチの両面スルホール基板に刺して作成しましたが,力を入れるとようやくピンが入るぐらいのちょうどよい穴のサイズでした.ペンチでまず5~6ミリほど挿入して,全部のピンを刺した後で万力を使って長さを揃えました.
ICクリップの作成 ICクリップの作成

書き込み用のソフトと書き込み作業

書き込み用のソフトはkonflashを利用させていただきましたが,これが動作するマシンを探すのに苦労しました.
パラレルポートをECPモードかECP+EPPモードに設定すればこのソフトは動くとされていますが,マザーボードによっては「双方向モードに設定できない」というようなエラーメッセージが出て使えませんでした.
5つのマザーボードで試してみて,konflashを動かすことができたのは1つだけでした(動作したのはEPIA-5000というマザーボードです.類似のEPIA-ML6000EAというボードではダメでした).
また,マザーボードによってはプリンタポートの出力が5V未満で3V程度しか出ていないものもありました. 今回対象としているWinbondのフラッシュROMの場合Hレベルは2V以上必要なので,これよりも高い電圧が抵抗分圧した後のフラッシュROM側で得られる必要があります.

配線をチェックし,konflashのテスト用プログラム(TEST.EXE)を使ってROMライターに問題が無いことを確認したら,ICクリップをフラッシュROMに取り付けます. 当然,マザーボードからはCPUやメモリ,電源やHDDのコネクタ,バックアップ用電池など,取り外せるものはあらかじめ全て取り外しておきます.
電源を供給する前にテスターで抵抗を測り,極端に低い値でないことを確認して通電します.
消費電流を測ったところ確か70mAほどだったと思います. フラッシュROM自体の消費電流は15mAなので,マザーボード上のどこかで残りの電流が消費されていることになり少し気持ち悪いですが,気にしないで作業を進めました.

いよいよkonflashを使って正常なBIOSデータの書き込みを行いますが,konflashに付属のツールは8MbitのROM用ではないのでその ままでは使用できません.
konflashはもともと2MbitのROMを対象にしていたようですが,konflash051229.lzhが 最新のバージョンらしく,4MbitのROMにも対応しています.
4Mbit用のバッチファイルを変更して8Mbitに対応させたバッチファイルを用意しました. 基本的にはベースアドレスを変更しただけで,KONFLASH.EXEを呼び出します. ただし,ROMの消去用コマンド(L8MERASE.BAT)については,4Mbit(L4MERASE.BAT)とは方法が異なっています. データシートを見たところ,4Mbitのチップにはchip-eraseというコマンドがあるようですが,8Mbitのチップでは見当たらなかったため,2Mbitのチップの場合と同様にセクタ毎に消去しています.
BIOSの書き込みは,以下の手順で行います:

  1. "L8M_ID"を実行→フラッシュROMのID(DA D0)が正常に読み出せることを確認.
  2. "L8MERASE"を実行してフラッシュROMを消去.
  3. "L8M_ECHK"を実行して,完全にフラッシュROMが消去されたかどうかをチェック.
  4. "L8MWRITE <BIOSのファイル名>"を実行して,BIOSのデータをフラッシュROMに書き込み.
  5. "L8M_COMP <BIOSのファイル名>"を実行して,正常にデータが書き込めたかどうか確認.

書き込み中の様子 書き込み中の様子
上記の方法により,無事マザーボードのBIOSを復活させることができました.
マザーボードにフラッシュROMが載ったままの状態で書き込むという強引な方法でしたが,幸い今回はうまくいきました.
konflashを公開されているTakaharu Konnoさんに,深く感謝いたします.

スクリプト

参考資料

  1. konflash- フラッシュROMライター(Flash ROM writer)
  2. tkon掲示板ログ

個人用メモ

V3-M2A690Gで起動を確認できたM2A-VM HDMIのBIOS:

起動成功
0801, 1001, 1501, 1603, 1803, 2101
起動失敗
2201, 2302, 5001

[戻る]
2008-12-09 ページ作成
(2008-12)
T. Nakagawa