最近のmacOSで古いオーディオインターフェースが使えない時
以前 macOS High Sierra にて、Roland の UA-25EX を使おうと思った際にハマったのでメモ。
サポート外のオーディオインターフェースを使いたい
そもそも、UA-25EX は公式には macOS 10.11 までしか対応しておらず、ドライバをインストールしてもインターフェースを mac に認識させることができない。諦めて新しいのを買えと言われたらそれまでだが、UA-25EX は別として、高い金出して買ったオーディオインターフェースを安値で手放したくないという人も多いだろう。
なぜ認識しないのか
macOS ではデバイスのドライバを Kext(Kernel Extension)というファイルで管理しているが、その Kext の署名が無効であったり、Kext に対応 OS の制限がかけられていたりすると、最新の OS ではデバイスを認識できなくなる。
解決策
この問題を解決するにあたって、SIP(システム整合性保護)を無効化すれば簡単に解決できるのだが、この行為には大きなセキュリティリスクが伴う(システムの改竄などから守る術がなくなるため、ランサムウェア等のウイルスからの攻撃に著しく脆弱になる)。
SIP には機能別に保護を無効化できる仕組みが用意されているため、それを使ってオーディオインターフェースを認識させるために取り払わなければならない保護(Kext の署名チェック)のみを無効化する。
csrutil enable --without kext
というコマンドをリカバリーモードから実行することで、NVRAM 内に保存されている csr-active-config の値が書きかわり、保護が一部緩和される。
その上で、オーディオインターフェースの公式サイトから配布されているドライバをインストールすると大抵の場合は問題なく使用することができるようになる。