以下、MacBookAir2011mid(MacBook4,1)を対象としています。
1.1. Kext Dropをリンクからダウンロード
バイナリが動けばdmgのloopbackマウント内で実行しても構いません
1.2. ディスクユーティリティでアクセス権の修復します(不要?)
1.3. 該当コマンドでnvramのオプションを書き換えます。
sudo nvram boot-args="kext-dev-mode=1"
1.4. 再起動
1.5. 念のためバックアップしておく
mkdir ~/backup
cp -a /System/Library/Extensions/IO80211Family.kext ~/backup/
cp -a /System/Library/Extensions/IOBluetoothFamily.kext ~/backup/
1.6. 一旦kextを外します
sudo mv /System/Library/Extensions/IO80211Family.kext ~/Desktop/
sudo mv /System/Library/Extensions/IOBluetoothFamily.kext ~/Desktop/
1.7. kextキャッシュ更新
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
1.8. 再起動
これ以降のWLANもBTもkextを再配置するまで使えません
1.9. 「Mac-16桁」の値を確認します。
ioreg -l | grep "board-id" | awk -F" '{print }'
1.10. viをバイナリモードで起動してAirPortBrcm4360ファイルを編集します
vi -b ~/Desktop/IO80211Family.kext/Contents/Plugins/AirPortBrcm4360.kext/Contents/MacOS/AirPortBrcm4360
/Mac-00BE6ED71E35EB86
を探す(最初に現れるMac-の部分)
9.で見た16桁に上書きする。この時左側のdecimal表記の方を編集する
※man ascii のhexdecimalの通り
0→30〜9→39、A→41〜F→46に置き換えて置換する
/Mac-2E6FAB96566FE58C
を探す(最後に現れるMac-の部分)
1.11. viをバイナリモードで起動してIOBluetoothFamilyファイルを編集します
vi -b ~/Desktop/IOBluetoothFamily.kext/Contents/MacOS/IOBluetoothFamily
/Mac
で検索。なぜか先頭行がヒットしないのでカーソル移動。
※MBA2011midの場合MacBookAir4,1→MacBookAir1,1
1.12. Kextを起動して、~/Desktop/IO80211Family.kextをD&D→Install
1.13. 同様にKextを起動して、~/Desktop/IOBluetoothFamily.kextをD&D→Install
1.14. キャッシュの更新
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
kext-dev-mode allowing invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext IOBluetoothFamily.kext
kext-dev-mode allowing invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext AirPortBrcm4360.kext
1.16. システム環境設定→一般の下の方に追加を確認
1.18. MacとiOSデバイスのiCloudをサインアウト→サインインする。
1.19. 以下表示に変われば完了です。
最初のnvramオプションは戻した方がいいかもしれません。
iCloud使えばAirdropはあまりいらない気もしますが、iPhone電話連携される方にはよい機能ですね。
Yosemiteのプレビューの編集機能強化がありがたいです。