2019年3月1日金曜日

VAIO - VAIO Pro 11 (VJP111)

VAIO株式会社の、最初にして最後のVAIO Pro 11です。この後、VAIO Proはキープコンセプトの13インチ・VAIO S13と完全新規金型の11インチ・VAIO S11へ分断/統合され、薄型軽量の11.6インチという、ソニーが最後までこだわり続けたラインはなくなってしまいました。

非常に状態のよい、新古品のようなコンディションのものを入手することができました。あとUSキーも買うことができたので換装しました(VAIO株式会社ではUSキーモデルを用意しなかったので、ソニー時代のキーボードですが)。Haswell RefreshedなCore i5マシンです。

ソニーの技術者が過去にそこここで言ってきていますが、11.6インチは日本のビジネスシーンにおいては本当に絶妙なサイズ感なんですよね。新幹線のテーブルにも喫茶店の一人席にも、ちゃんと収まるサイズのPCは少なくなってしまいました。

VAIOのVAIO、とは言っても事業売却直後のモデルなので、実際中身はほぼソニーのVAIOです。EFIなどにもところどころSONYの文字が残っています。あのLenovoですら未だIBMの文字が残っているのでそれは当然っちゃ当然。

VAIO Pro 13と並べてみました。こう見ると2インチ差とはいえ非常に小さいですね。

ところで、ぼくが過去にVAIO Pro 13にしてきたことといえばOSX86ばかりなのですが、今回も用途的に必然でそうなりました。

EFI設定画面(BIOS)への入り方

電源OFFの状態からF3かF4キーを押し続けながら電源ボタンを押すと、EFI設定へ行けます。設定できる項目はごく少数です。ソニー時代のASSISTキーがなくなっているので、最初若干戸惑いました。

  • https://solutions.vaio.com/291#a3

OSX86用途では、Secure BootとLegacy Bootにはサヨナラすることになります。

OSX86 Mojave/High Sierra デュアルブート (with Windows)

最初にMojaveを入れてAPFSコンテナを作らせてから、コンテナを縮小して後ろのほうにEl Capitan用のHFS+パーティションを作ってデュアルブートを構成しました。このEl Capitanは依存アプリの導入後にHigh Sierraへアップデートします(都合、AFPSコンテナが2つになります)。

そのまた後ろにデータ共有用領域やWindows領域を作っていますが、これらはすべてClover EFIでまとめてブート管理できるので楽です(なお、CloverはRehabManビルドを使っています)。

DSDT/SSDTは文法エラーを修正しただけで以下のコモンパッチのみ、他はすべてinjectorとCloverでのバイナリパッチに任せるという手法でやりました。そのほうが別々のバージョンのmacOSを実行するにあたっての障壁が少なくて済みます。

  • Fix _WAK Arg0 v2
  • Fix Mutex with non-zero SyncLevel
  • Haswell LPC
  • HPET Fix
  • IRQ Fix
  • OS Check Fix (Windows 8)
  • RTC Fix
  • SMBUS Fix
  • 7-series USB3 Multiplex

HaswellはUSB的には8シリーズなので、6/7/8-series USB パッチも要りそうではあるのですが、パッチ該当件数が0件なので手を加えていません。

インジェクション用のkextsはLiLu + WhateverGreenが中核で、新しいところだとVirtualSMCを取り入れました。いや、なんかソニーのEFIってACPI周りがちょっと怪しくて、バッテリー100%でAC接続中のときにバッテリー0%をレポートしてきたりして、旧来のACPIBatteryManagerを使う手法だと裏で無限にエラーが吐かれてたんだよね。

Mojaveひとつに絞りきれないのは決して慣れとかそういうやつではなくて、単純にEl Capitanかそれ以前でないとインストールができず、High Sierraまででしか動作しないというMojave非互換のアプリを使っているからで、本来は移行しなければならない時期に差しかかり始めていますね。

High Sierra以降のOSX86環境のこと

High Sierra以降、1週間ごとにEFIがApple正規のものかチェックする〝eficheck〟という機構が備わりました。OSX86環境はこれに引っかかることになるので、毎週ダイアログが出てきてうっとうしいことになります。RehabMan氏が以下のスレッドでこのチェックを無効化するkextを配布しています。

  • https://www.insanelymac.com/forum/topic/328829-eficheckdisabler/

eficheckdisabler.kext を、Cloverの kexts/Other/ に入れておくとよいです。

Windows環境のこと

Windowsは、Windows 10 Version 1809を入れて必須アプリを最低限度入れただけの環境なのですが、そもそもVAIO株式会社はろくにドライバやユーティリティも提供していないので、ほぼWindows Updateに頼る感じになります。ソニー時代はVAIO Updateとかあって本当によかったよね……

ドライバは、『Sony Firmware Extension Parser』と『Intel Smart Connect Technology』だけはWeb検索した上で、該当のドライバを手動で入れる必要がありました。

Wi-Fi/Bluetooth コンボカードの換装

OSX86ではデフォルトのIntel製ワイヤレスカードが認識できないので、Bloadcom BCM94352Z (Dell DW1560)へ換装しました。注意点としては、VAIO ProはいわゆるNGFF (M.2 2230)タイプしか使えないので、形状がほぼ同一なMini PCI Expressと間違えないようにする必要があります。BCM94352にも実際、枝番違いでBCM94352HMBというMini PCI Express製品があります。

以下の4つのkextをCloverの kexts/Other に入れています。

  • BrcmFirmwareData.kext
  • BrcmPatchRAM2.kext
  • AirportBrcmFixup.kext
  • BT4LEContiunityFixup.kext

これで動作すると思いますが、HandsOffやAirDropなどが動作しているかチェックする必要があります。動作していなければパッチが必要です。

手元の環境では、App Storeへのサインインを正常動作させるために、以下の操作が必要でした。

$ defaults write com.apple.appstore.commerce Storefront -string "$(defaults read com.apple.appstore.commerce Storefront | sed s/,8/,13/)"

App Storeが実行されていない状態で上のコマンドをターミナルから実行すると、サインインが正常に動作するようになりました。

  • 参考: https://discussions.apple.com/thread/250144053

アプリの購入を正しく動作させるには、さらに以下の操作が必要でした。iMessageを動作させるために必要な手順と同様の内容です。

  • 参考: https://www.tonymacx86.com/threads/an-idiots-guide-to-imessage.196827/

ここに書かれているように、キャッシュや環境設定ファイルの削除と、Cloverのconfig.plistで Serial Number と SmUUID を新しいものに変更しなければなりません。後者に関しては『Clover Configurator』でできるので、そちらでどうぞ(適宜 model lookup と check coverage で既存のものと被っていないか確認してください)。

デフォルトのままだとWi-Fiの国別コードが US になっているので、JP に変更するCloverのArbitraryを config.plist へ追加します。USのままでも実害はないですが、なんとなく気持ち悪いので……

  <key>Arbitrary</key>
  <array>
    <dict>
      <key>Comment</key>
      <string>Broadcom country code</string>
      <key>CustomProperties</key>
      <array>
        <dict>
          <key>Disabled</key>
          <false/>
          <key>Key</key>
          <string>brcmfx-country</string>
          <key>Value</key>
          <string>JP</string>
        </dict>
      </array>
      <key>PciAddr</key>
      <string>01:00.00</string>
    </dict>
  </array>

これを <key>Audio</key> の上あたりに挿入しておくとよいです。

それと、このカードどうもWindowsだとうまくWi-Fiに繋がらなくて、たぶんカントリーロックとかそのへんの問題があるんじゃないかと思います。

  • https://www.insanelymac.com/forum/topic/307738-bcm94352-working-in-osx-but-not-in-windowsoo/

Linuxではカーネルオプションで解決できるようですが、Windowsではどこを見ても解決に至っていませんでした。Fuck'n Windows...