10年落ちのChromeboxが動かなくなった ~蘇生~

大昔に買ったChromebox、ASUS CN60(Celeron!!)という化石にProxmoxを入れているが、UEFI更新後の再起動中に電源を切断してしまった、ヤッチマッタ。

UEFI更新後の再起動時には、黒画面のまま数分処理が行われるため、事前に警告が表示される。けど何を思ったか途中で電源を落としてしまった。

当然UEFIが立ち上がらなくなり、化石から文鎮に変化してしまった。どうやら復旧にはファームウェアが格納されたチップに書き込まないといけないらしい。

必要なモノ

CH341A USB Programmer (以降、プログラマー)

SOP8 Clip

前者は、USBとクリップの橋渡し、後者はクリップとチップの橋渡し。このために買いました。

https://amzn.asia/d/glqsLzv
手順

基本的に以下の手順を踏襲した形とはなり、Linux PCで作業を実施する。

とはいえども、メインPCはWindowsなので、めんどくさい…WSLでやっていくのでその忘備録。

Unbricking/Flashing with a ch341a USB Programmer | MrChromebox.tech
MrChromebox.tech website

WSLは以下のとおり進めるとインストールできる。今回はOracleLinux 9.1を使用する。

WSL のインストール
コマンド wsl --install を使用して Linux 用 Windows サブシステムをインストールします。 Windows コンピューター上で、好みの Linux ディストリビューションによって実行される Bash ターミナルを使...
Ⅰ.CN60を御開帳、チップを発見

CN60は結構Chromeboxの先駆けといったところかな、分解記事は結構出てくる。

Haswellだしもう需要ほぼなさそうだよね。SkyLakeおじさんではなく、Haswellひいおじい(?)

ほこりがヤバすぎてモザイクするが、CPUファンの下にいるwinbondの25Q64FVSIGが今回の主役です。

Ⅱ. uebipdをインストール

WSLからは通常USBデバイスを扱えないが、それを実現するためのソフト。

1.以下から、usbipd-win_<version>.msiを落としてインストール。今回は4.3.0を使用。

Releases · dorssel/usbipd-win
Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2. - dors...

2.PowerShellを管理者権限で開き、以下を実行すると、接続されているデバイスが表示される。

 usbipd list

接続してあるプログラマーは、USB-EPP…として表示されている。(黄文字)

3.以下を実行すると、プログラマーがWSLにパススルーされる。

usbipd bind --busid <BUSID>
usbipd attach --wsl --busid <BUSID>

これで、WSLからデバイスを扱えるので、前述のサイトの手順どおりに実行できるはず。

Ⅲ.UEFIダウンロード、書き込み

1.WSLで以下を実行すると、接続されているチップが表示される。

sudo flashrom -p ch341a_spi

WinbondのW25Q64というのがしっかりと認識されている。

2.では、以下のコマンドでUEFIのファームウェアを落として、しっかり検証しよう。

以下から選ぶ、CN60は”coreboot_edk2-panther-mrchromebox_20240914.rom”

scripts/sources.sh at main · MrChromebox/scripts
Scripts for setup/install/firmware update for ChromeOS devices - MrChromebox/scripts
wget https://mrchromebox.tech/files/firmware/full_rom/<coreboot>.rom
wget https://mrchromebox.tech/files/firmware/full_rom/<coreboot>.rom.sha1
sha1sum -c <coreboot>.rom.sha1

※チップからMACアドレスやHWIDを抽出しないと、書き込み時に消えてしまうらしい。

ただ、何回やっても以下か表示されてうまくいかないので、中身がぶっ壊れているのかも・・・

E: This is a legacy image that contains only a CBFS
E: The image will be left unmodified.

3.ただ、以下のコマンドを実行することで、MACアドレスを手動で書き込むこともできる。

wget https://mrchromebox.tech/files/util/vpd.tar.gz
tar zxf vpd.tar.gz
./vpd -f <coreboot>.rom -i RO_VPD -O
./vpd -f coreboot.rom -i RO_VPD -s "ethernet_mac"="<MAC>"

4.以下のコマンドを実行すると、いざ書き込み開始。クリップの接触はシビアなので動かさぬよう…

sudo flashrom -p ch341a_spi -w <coreboot>.rom --ifd -i bios

黄文字がでてきたら、書き込み後の検証が終わった状態。自分は横着なのでそのままプログラマーを引っこ抜いた。

息を吹き返した

おー無事生還、Celeronにこんな労力かけていいものか…N100とか同程度の消費電力で数倍高性能。

省電力なのでバックアップ用途のNASとしてこき使っていく!あと10年はよろしく。

参考文献
What if there is no any VPD info · Issue #634 · MrChromebox/firmware
Hi @MrChromebox I have Asus Chromebox CN62. After successfully flashing the device, It does not boot fine and stay on bl...

コメント

タイトルとURLをコピーしました