BIOSが破損したRX470を修理してみた

BIOSが破損したRX470を修理してみた

はじめに#

Twitterの割と古い知り合いからRX580化に失敗して認識すらしなくなったというMSI RX470 MINING 4GBを(3ヶ月前に)譲ってもらいました。

免許取ったり遠隔授業が予想外に辛かったりで時間がなかったんですが学校に持っていくグラボがほしいなぁということで重い腰を上げて直してみることに(せっかく貰ったのにごめんやで)

状況#

  • RX580化のときに互換性のないBIOSを焼いたら動かなくなってしまった
  • それまでは普通に動いていた

らしいです。ちなみに接続確認でBIOSを吸い出したところASUSのものが焼かれていました。やっぱりベンダは合わせないと動かないですね…

焼き直し#

多分atiflashは使えんだろうということで、いきなりRaspberry Pi Zeroに繋ぎました。
SPIバーナーを買うよりもZero買ったほうが安いしなんでもできるのでオススメです。

乗っていたROMはW25X40CLSNIGで、winbondのHPからデータシートをダウンロードできました

https://www.winbond.com/resource-files/w25x40cl_e01.pdf

あとはラズパイのSPI0_0に接続します。

25x40 RaspberyPi
1(/CS) 24(CE0)
2(DO) 21(MISO)
3(/WP) 1(3V3)
4(GND) 6(GND)
5(DI) 19(MOSI)
6(CLK) 23(SCLK)
7(HOLD) 多分不要
8(VCC) 1(3V3)
※一例です

ハンダが汚いとかいうのはNG
グラボの基板はだいぶ熱を吸うので大容量のコテが必要です。
ちょろいコテで長時間やってるとROMを壊す可能性があります。
僕はバースト中130Wの比較的でかいコテを使いました。

まず試しに読んでみます。

1
flashrom -V --read before.bin --programmer linux_spi:dev=/dev/spidev0.0,spispeed=30000

doneと出たら完成です。バイナリエディタで読んだところASUSのBIOSでした。

マルチBIOS環境ではわからないですが、ROM自体は512KBあるものの冗長化とかはされていないようで後半256KBはFFで埋まっていました。

ちゃんと読めたので書き込みます。
今回使ったBIOSは

https://www.techpowerup.com/vgabios/189090/msi-rx470-4096-161103

です。
しかし256KBで配布されているため、後半を埋めないとflashromに怒られるようです。

そこで

https://superuser.com/questions/274972/how-to-pad-a-file-with-ff-using-dd

を見ながら埋めました。

1
2
dd if=/dev/zero ibs=1K count=512 | tr "\000" "\377" >paddedFile.bin
dd if="MSI.RX470.4096.161103.rom" of=paddedFile.bin conv=notrunc

焼きます

1
flashrom -V --write paddedFile.bin --programmer linux_spi:dev=/dev/spidev0.0,spispeed=30000

ベリファイが成功すれば完成です。

無事起動しました

テストの犠牲になっているのは旧メインのA10-7859Kくんです。AMDもよくここからRyzenまで持っていきましたね()

マイニング用の延長ケーブルがこの手の実験をする際かなり便利です。しかもブームの終わりで安く買えます。(そういえばこのRX470もマイニング用…)

NGシーン#

最初MSIのBIOSが無いもんだと思ってSapphireのBIOS焼いてましたが起動してくれませんでした。

ファンの音もおかしかったしベンダは合わせないと動かないようです(当然か)

コメント#

#
名前を入れてください
本文を入れてください

コメント読み込み中...

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×