TEAC A-H01 のドライバを macOS Catalina に無理やりインストールする
2021.11.06 追記: macOS Monterey v12.0.1
Monterey でも動作しました。
2021.02.07 追記: macOS Big Sur v11.2
詳しく理解していないのですが kextload
したら動きました。
sudo kextload /Library/Extensions/TeacUSBAudio.kext
以下オリジナルの記事:
macOS Catalina を再インストールしたら TEAC A-H01 が正常に動作しなくなった。 正確には、音は出るがノイズがひどく、音が途切れて聞こえるという状態になった。
TEAC のページで各製品の動作検証の結果が公開されており、 A-H01 については Catalina では動作しないとされている。
https://teac.jp/jp/support/news/6129
しかし、備考にこんなことが書いてある。
※1 Catalinaでは、ドライバーをインストールすることができません。 Mojave以前にドライバーをインストール済みの状態で、Catalinaにアップデートした場合は使用できます。
うーん。 たしかに、 Mojave から Catalina にアップデートしたあとは、音は正常に出ていた。
アップデートした場合に動くのなら、クリーン インストールした Catalina でもどうにかして動かせるだろうと思い調べてみました。 その結果、無理やりドライバーをインストールすることで、音が正常に出るようになりました。
注意
本記事の内容を試す際は自己責任でお願いいたします。
原因調査
http://audio.teac.com/product/a-h01/downloads/ の Mac Driver Install Guide によると、 ドライバが正常にインストールされている場合は System Extensions の一覧に TEAC USB Audio が現れるらしい。
ドライバの pkg を実行すると、インストーラーは最後まで実行でき、一見インストールに成功したように見える。 しかし、 System Report で extensions の一覧を確認してみると、 TEAC USB Audio は一覧に含まれていない…
pkg の中身を展開して、どうやってドライバをインストールしているのか見てみる。
# pkg ファイルを展開
% xar -xf TEAC\ USB\ HS\ Audio\ KEXT\ Install\ Package\ 273.4.2.pkg
# インストール用のスクリプトっぽい
# gzip らしいので展開して中身を見てみる
% file teacusbaudio.pkg/Scripts
teacusbaudio.pkg/Scripts: gzip compressed data, from Unix, original size modulo 2^32 1024
スクリプトでは、ドライバの kext ファイルを /System/Library/Extensions
に配置しているようだ。
# スクリプトの内容を抜粋
cp -R /Library/Documentation/TEAC/TeacUSBAudio.kext /System/Library/Extensions
chown -R root:wheel /System/Library/Extensions/TeacUSBAudio.kext
touch /System/Library/Extensions
teacusbaudio.pkg/Payload
(gzip) を展開すると TeacUSBAudio.kext
が得られる。
スクリプトと同じコマンドを実行してみると、 Read-only file system
のメッセージが表示されコピーできなかった。
% cp -R TeacUSBAudio.kext /System/Library/Extensions
cp: TeacUSBAudio.kext: unable to copy extended attributes to
/System/Library/Extensions/TeacUSBAudio.kext: Read-only file system
どうやら Catalina では、システムが読み取り専用の別ボリュームに切り出されているらしい。 この仕組みによって kext ファイルが配置できなくなったと考えられます。
https://support.apple.com/ja-jp/HT210650
「旧 OS からアップグレードした場合は動作する」というのは、おそらくこの仕組みが導入される前に置かれた kext が、 Catalina にアップグレードした際にそのまま引き継がれるからだと思われます。
リカバリーモードで kext を配置してみる
リカバリーモードでは /System/Library/Extensions
にファイルを置けるとの情報を得たので試してみました。
Command + R を押しながら Mac を再起動し、ターミナルからコマンドを実行して kext を配置します。
# ボリュームの名前を確認
df -h
# kext ファイルをコピー
# Macintosh HD - Data から Macintosh HD にコピーする
cp -R /Volumes/Macintosh\ HD\ -\ Data/<path-to-kext-file>/TeacUSBAudio.kext \
/Volumes/Macintosh\ HD/System/Library/Extensions
# インストール スクリプトと同様に owner を変更
chown -R root:wheel /Volumes/Macintosh\ HD/System/Library/Extensions/TeacUSBAudio.kext
touch /Volumes/Macintosh\ HD/System/Library/Extensions
# Mac を再起動
reboot
再起動後 System Extension Blocked のメッセージが表示された。
Security & Privacy で extention の読み込みを許可し、 System Report を確認してみると…
TeacUSBAudio が一覧に現れるようになりました。 この状態で適当に音楽を再生してみたところ、ノイズや途切れはなく音が出ることが確認できました。
ということで、クリーン インストールした Catalina でも A-H01 を動かすことができました。 公式ではサポートされていない方法なので、試す際は完全に自己責任となります。 同じ状況の方がどれだけいるのかわかりませんが、参考になりましたら幸いです。
Previous Post
Next Post