2021年01月19日

HighSierra上でFTDI系のUSB/Serial変換器が動作不能になる問題

ほぼ丸一日を掛けてFTDIのドライバーがHighSierra上でロードされない問題を解決した。


つまりmonomeがその煽りを受けて全く動かなかったのだが、Appleのスカタンな出来のkextファイルの所為でコンフリクトが発生したうえに、OS上の他社製品を阻害する機能が働いてドライバが受け付けられないとう最悪の状態に陥っていた。

まずは、状況を整理していく。 とりあえず、USB端子に接続されている機器は認識されているようなのだが、、、

Screen Shot 2021-01-18 at 10.32.00.png

ドライバのロードがOSによって拒否られているのが現状だ。

Screen Shot 2021-01-18 at 18.29.04.png

FTDIのシリアル変換チップは多くの製品に使用されているので、事態は深刻である。 確かに検索をかけると、あれこれと試行錯誤をした記録が散見されるのだが、これといった決め手を探し出すことが出来なかった。

その中では、こちらの記事の他、この記事を参考にすることが出来た。

問題点は2つで、まず、Apple謹製のFTDI専用ドライバー AppleUSBSerial.kext の出来が最悪だということ。 このファイルが存在するフォルダは System/Library/Extension で、同じ場所には旧いFTDIのドライバが取り残されている。 まずはこれらを排除することから作業が始まる。

正常なkextの位置は、こちらのフォルダで、インストールされたkextのヴァージョンを確かめておく。

Screen Shot 2021-01-18 at 20.08.04.png

もう一つの問題点は、他社製品のハンドリングを拒否するOSの仕様にあって、この機能を切らないと正常に働くヴァージョンのドライバを Terminal を使って読み込ませることが出来ない。

通常ドライバを手動で書き込もうとした場合、システム環境設定の Security & Privacy を開くとブロックされている旨の表示出るはずなのだが、今回のケースではこれが表示されないために一切の対処を行うことが出来ない。

作業はこの段階で躓いたのだが、解決法として以下の方法を試してみた。

まず、手作業で旧いファイルを取り除いた後、最新版のドライバーをインストールする。

次に、Terminalを開いて spctl --master-disable を実行し、アプリの実行を撥ねる機能の無効化を行う

cd /Library/Extensions で、フォルダを移動後に、kextload を使って強制的にドライバを読み込ませる

以上を実行した後、再起動を行ってドライバの読み込みを確認できた。

Screen Shot 2021-01-18 at 20.05.12.png

今は音源を組み込める時代なので、そのうちUSBHost込みでスタンドアロンな楽器に改装したいところだ。BPMに合わせてパルスっぽい音を出すKYMAで造ったオブジェクトを再現したい。 やはりスタンドアロンの方が楽器っぽいというか、GAFAの横暴(苦笑)を見るにつけ、パソコン依存は不健全だと思うようになったということもある。

140536260_3887292394634523_2982812838693762029_o.jpg

だって、OSの思惑如何で、それなりに思い入れがある・場合によっては高価なハードウエアが一瞬のうちにゴミになってしまうのだ。 そんなの許せる訳がない。

ちなみに、最新型のMacbookに於いてもFTDI関連の問題はFIXされず、あろうことか更に悪化しているという話が流れてきた。
posted by Yasuski at 17:11| FTDI