マザーボードでは赤枠の部分になります。
緑枠はMACアドレスがプリントされています。
ASUSの案内と全然違ってて、イラつきポイントゲット。
自分はあまり気にしてなかったのですが、タコ足の金属部分が取れやすいそうなので慎重に取り外す必要があります。
拡大した写真を見ると、「winbond 25Q32BVAIG 1116」とプリントされています。
これを検索して、ピンアサインを確認します。
自分のハマったポイント(VCCやら、HOLDなどの意味がそもそもわからない)
確認したPDFはここを参照しています。
次にラズパイのGPIOとやらを確認します。自分が買ったのは、Raspberry Pi Zero WHという製品なので、ここを参考にしています。
GPIOも意味がわからなかった。
Raspberry Pi Zero WH (以下ラズパイ)にはflashromというソフトをインストールします。
ラズパイとBIOSをチップを接続して、flashromというソフトで新しいROMを書き込む感じです。
sudo apt-get update(←1回でアップデートしきらないことがあったので何度か実施する)
sudo apt-get install flashromsudo raspi-config というコマンドでSPIを使えるようにする。
SPIも意味不明ですが、チップに書き込むための仕組み(データ転送?)っぽい。
「5 Interfacing Options」→「P4 SPI」でSPIを有効にする
(1)現状BIOSファイルバックアップ下記コマンドでBIOSファイルを一応バックアップしておきます。
自分のラズパイでは、赤字の「,spispeed=30000」を入れないとうまく動作しませんでした。ハマりポイント。
pi@raspberrypi:/dev $ sudo flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=30000 -r ./backup.rom
flashrom v0.9.9-r1954 on Linux 4.14.50+ (armv6l)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.Found Winbond flash chip "W25Q32.V" (4096 kB, SPI) on linux_spi.
Reading flash... done.
pi@raspberrypi:/dev $
(2)現状BIOSファイル削除 ここで壮絶にハマった。
sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0,spispeed=30000pi@raspberry
~色々メッセージ省略~
This chip may contain one-time programmable memory. flashrom cannot readand may never be able to write it, hence it may not be able to completelyclone the contents of this chip (see man page for details).
Trying erase function 4... 0x000000-0x3fffff:EFAILED at 0x00002000! Expected=0xff, Found=0x7f, failed byte count from 0x00000000-0x003fffff: 0x20b429ERASE FAILED!
Looking for another erase function.
No usable erase functions left.FAILED!
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) ormail flashrom@flashrom.org, thanks!
pi@raspberrypi:~ $
Your flash chip is in an unknown state.
とにかく不穏なメッセージだらけ。。
(3)新BIOSファイル書き込み (2)失敗で、ここでも失敗の連続
sudo flashrom -V -p linux_spi:dev=/dev/spidev0.0,spispeed=30000 -w /home/pi/bios.bin
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
FD44Editorでは下図のようにしています。
「Motherboard S/N」にはMACアドレスの頭に「MT7」をつけると大丈夫でした。
System UUIDはネットを検索しまくって出てきた情報を流用しています。
さて、上記まで行ったものの、(2),(3)が解決せずに4時間ほど苦闘していました。
結局は、ラズパイとBIOSチップの接続方法が間違っていたことが原因と解りました。。
(ブレッドボードの仕組みも知らなかったし、煙が出るかもとか散々ビビってたので配線に自信が持てなかった…)
下図のとおり、(6)-(5)を繋いでいなかったのが原因です。「ブ」はブレッドボードの穴です。
上図のように再度接続してから(3)を実行したら…↓
pi@raspberrypi:~ $ sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0,spispeed=330000
flashrom v0.9.9-r1954 on Linux 4.14.50+ (armv6l)
~省略~
Found Winbond flash chip "W25Q32.V" (4096 kB, SPI).This chip may contain one-time programmable memory. flashrom cannot read
and may never be able to write it, hence it may not be able to completely
clone the contents of this chip (see man page for details).
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:E, 0x001000-0x001fff:E, 0x002000-0x002fff:E, 0x003000-0x003fff:E, 0x0040
~省略~
f:E, 0x3ec000-0x3ecfff:E, 0x3ed000-0x3edfff:E, 0x3ee000-0x3eefff:E, 0x3ef000-0x3effff:E, 0x3f0000-0x3f0fff:E, 0x3f1000-0x3f1fff:E, 0x3f2000-0x3f2fff:E, 0x3f3000-0x3f3fff:E, 0x3f4000-0x3f4fff:E, 0x3f5000-0x3f5fff:E, 0x3f6000-0x3f6fff:E, 0x3f7000-0x3f7fff:E, 0x3f8000-0x3f8fff:E, 0x3f9000-0x3f9fff:E, 0x3fa000-0x3fafff:E, 0x3fb000-0x3fbfff:E, 0x3fc000-0x3fcfff:E, 0x3fd000-0x3fdfff:E, 0x3fe000-0x3fefff:E, 0x3ff000-0x3fffff:E
Erase/write done.
pi@raspberrypi:~ $
…安堵のため息が出ました。。
ググりまくって参考にさせてもらった神記事たち↓
Raspberry Pi(Zero)でASUS Z97-CのBIOSを焼く | 純規の暇人趣味ブログ:
[flashrom] Winbond W25Q64FVSIG - "ERASE FAILED!":
RaspberryPi: raspi-config コマンドラインから設定(ノンイタラクティブ) - Qiita:
Raspberry Piを使ってBIOSが飛んだマザーを修理したお話 - Qiita:
Does not work without spispeed= on RPi · Issue #29 · flashrom/flashrom · GitHub:
自分はArduinoを勉強しようとして(←挫折)買った中にブレッドボードやら、接続するケーブルも秋月電子で買ってあったので、すぐ取り掛かれたけど、勉強したり調べる時間が惜しければ金で解決(マザーボード購入や、ROM修理依頼など)した方がいいかもしれない。
0 件のコメント:
コメントを投稿