iMac (27-inch, Mid 2011)のグラボをK3000Mにしてみた
iMac (27-inch, Mid 2011)のGPUが故障
年に1〜2回ですが、古いOS(High Sierra)じゃないと走らないプラグインのためだけに使っていたiMacがグラボの不調でとうとうお亡くなりに...
この機種(GPUがAMD Radeon 6970Mのもの)はリコールの対象になっている曰く付きの機種ですが、無償修理の期間もとっくに終っているのでどうしたものかと。
グラボを入手できないこともないけれど「えっ!」というような値段のものばかりで、中古を買う方がマシかと同じスペックのiMac(i7,Radeon6970M)を探してもタマは少ないしこれまた高いし。
そうこうしているうちにデータの納品日は迫りケツに火がつき始めたので、MacRumorsの有志の皆様(Thanks! @stephle)の力を借りてグラボをK3000Mに換装することに。K3000Mにした理由は換装できるグラボで最も安価に済みそうだったから(某フリマサイトで3000円位、元々はFUJITSU CELSIUS H920に付いていたもののようです)。
そこで、ちょっと躓きそうだった点とターミナルでの作業記録を備忘録として残しておきたいと思います。
なお、自分もやってみるという方は MacRumorsの"2011 iMac Graphics Card Upgrade"のスレッドをよく読んで抱えるリスクを確認してください。使えなくなる機能があったり、ビデオBIOSを書き換えるので失敗のリスクもあります。それでもという方は自己責任の上でチャレンジしてください。
躓きそうだった点
- ブートROMのバージョンを87.0.0.0.0にする
そもそも起動すらしないiMacのブートROMのバージョンをどうやって確認しろという話ではあるのですが、2020/7/15にリリースされているセキュリティアップデート 2020-004 (High Sierra)がインストールされているとブートROMのバージョンが87.0.0.0.0になるようです。
当方の場合はセキュリティアップデートは必ず行なっていたので87.0.0.0.0の前提で進めましたが、セキュリティアップデートをかけていない場合は一旦は何らかの形で起動させる必要がありそう(純正のグラボを買って起動させるんじゃ意味がないんだけど)。
- SDカードでLinuxを起動させる
ビデオBIOSを書き換えるためにSDカードを起動ディスクにしたのですが、HDDを読みに行くのでどうしたものかと。これはHDDとODD(光学ドライブ)のケーブルを抜いておくことで解決。
- iMacのIPアドレスがわからん!
Linuxで起動したiMacにsshで接続しNVFlashでビデオBIOSを書き込むわけですが、ifconfigやarpのコマンド打ってもダメっぽくて(追加するオプションが違ってたか?)たまたまルーターで確認は取れたから良かったものの、ルーターで確認できなかったら詰んでいたかも?
- 温度センサー対策
MacRumorsでは色々な対策が書かれていましたが、ODD(光学ドライブ)の温度センサーをGPUのヒートシンクにカプトンテープで固定で結果オーライのようです。今のところファンの暴走はありません。
ターミナルでの作業記録
Last login: Mon Nov 14 15:07:55 on ttys000 MBA-QP003:~ qpthe3rd$ ssh root@192.168.10.106 The authenticity of host '192.168.10.106 (192.168.10.106)' can't be established. ECDSA key fingerprint is SHA256:WwQIh1G2LVVxOHtXfJOpr+d09XUl7pQK4pQrw2LnCkw. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.10.106' (ECDSA) to the list of known hosts. root@192.168.10.106's password: Linux grml 4.19.0-1-grml-amd64 #1 SMP Debian 4.19.8-1+grml.1 (2018-12-11) x86_64 Grml - Linux for geeks root@grml ~ # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 259.9M 1 loop /lib/live/mount/rootfs/grml64-small.squashfs sda 8:0 1 59.5G 0 disk ├─sda1 8:1 1 200M 0 part └─sda2 8:2 1 59.3G 0 part /lib/live/mount/persistence/sda2 root@grml ~ # /lib/live/mount/persistence/sda2/flash root@grml /lib/live/mount/persistence/sda2/flash # ls AMD Backups GTX QUADRO README amdvbflash nvflash_linux root@grml /lib/live/mount/persistence/sda2/flash # ./nvflash_linux --save Backups/Orig_k3000m.rom NVIDIA Firmware Update Utility (Version 5.414.0) Simplified Version For OEM Only Adapter: Quadro K3000M (10DE,11BE,10CF,1760) H:--:NRM S:00,B:01,D:00,F:00 Identifying EEPROM... EEPROM ID (C2,2012) : MX MX25L2005 2.7-3.6V 2048Kx1S, page Reading adapter firmware image... IFR Data Size : 372 bytes IFR CRC32 : A44E386E IFR Image Size : 512 bytes IFR Image CRC32 : 8E24EEE2 IFR Subsystem ID : 10CF-1760 Image Size : 89088 bytes Version : 80.04.33.00.26 ~CRC32 : 5324C090 Image Hash : 6C76B1CB1733E54D1B67418B8F0A1396 Subsystem ID : 10CF-1760 Hierarchy ID : Normal Board Chip SKU : 950 Project : 2051-0501 CDP : N/A Build Date : 05/23/12 Modification Date : 06/06/12 UEFI Support : No UEFI Version : N/A UEFI Variant Id : N/A ( Unknown ) UEFI Signer(s) : Unsigned InfoROM Version : N/A InfoROM Backup Exist : NO License Placeholder : Absent GPU Mode : N/A Saving of image completed. root@grml /lib/live/mount/persistence/sda2/flash # cd Backups root@grml ..e/mount/persistence/sda2/flash/Backups # ls Original_Vbios.rom Orig_k3000m.rom root@grml ..e/mount/persistence/sda2/flash/Backups # .. root@grml /lib/live/mount/persistence/sda2/flash # ./nvflash_linux --protectoff NVIDIA Firmware Update Utility (Version 5.414.0) Simplified Version For OEM Only Adapter: Quadro K3000M (10DE,11BE,10CF,1760) H:--:NRM S:00,B:01,D:00,F:00 Identifying EEPROM... EEPROM ID (C2,2012) : MX MX25L2005 2.7-3.6V 2048Kx1S, page Setting EEPROM software protect setting... Remove EEPROM write protect complete. root@grml /lib/live/mount/persistence/sda2/flash # ./nvflash_linux -6 QUADRO/K3000M_STE3.ROM NVIDIA Firmware Update Utility (Version 5.414.0) Simplified Version For OEM Only Checking for matches between display adapter(s) and image(s)... Adapter: Quadro K3000M (10DE,11BE,10CF,1760) H:--:NRM S:00,B:01,D:00,F:00 WARNING: Firmware image PCI Subsystem ID (1028.153F) does not match adapter PCI Subsystem ID (10CF.1760). Please press 'y' to confirm override of PCI Subsystem ID's: y Overriding PCI subsystem ID mismatch Current - Version:80.04.33.00.26 ID:10DE:11BE:10CF:1760 GK104 Board - hummel_q (Normal Board) Replace with - Version:80.04.5A.00.01 ID:10DE:11BE:1028:153F NVIDIA Quadro K3000M by ST3PHL3 (Normal Board) Update display adapter firmware? Press 'y' to confirm (any other key to abort): y Identifying EEPROM... EEPROM ID (C2,2012) : MX MX25L2005 2.7-3.6V 2048Kx1S, page Storing updated firmware image... ................................................................ Verifying update... Update successful. Firmware image has been updated from version 80.04.33.00.26 to 80.04.5A.00.01. A reboot is required for the update to take effect. ./nvflash_linux -6 QUADRO/K3000M_STE3.ROM 52.08s user 2.95s system 69% cpu 1:19.09 total root@grml /lib/live/mount/persistence/sda2/flash # shutdown now Connection to 192.168.10.106 closed by remote host. Connection to 192.168.10.106 closed. MBA-QP003:~ qpthe3rd$追記;コードをちょっと見やすくするのにGoogle code-prettifyを使っているけど、気がついてみるとスクロールバーが消えているようで?少し原因究明してみたけどいまだ解決に至らず...放置中です。
コメント
コメントを投稿