最初は
/dev/{cu,tty}.usbserial-xxxx
が生えるのだが、ポートを開いたり閉じたりしているといつのまにかデバイスが消えている。kextstat
すればFTDIのカーネルモジュールはロードされているし、なにが起きているのかよくわからなかった。というわけで、Google先生にお伺いを立ててみたところ、我らがParallaxのページに、「バージョン2.2.18と2.3があるが、10.9 (Mavericks)以後は2.3じゃないとだめだよ」ときちんと書いてあった。
いやまさか、最新ドライバに入れ替えたはずだと思ってFTDIのVCPドライバのページを見ると、同じことが書いてあり、El Capitanなら2.3の一択。間違えようがない。
不審に思って
kextstat
すると、「com.FTDI.driver.FTDIUSBSerialDriver (2.2.18)
」。ああすみません(泣)。カーネルモジュールなので、
kextunload
できるはずだと実行するも、「1 instanceがあるからunloadできないよ」と言われる。さっきまでつないでいたFTDIチップ搭載基板(Modern Device社のUSB BUB初代品)のせいで作られたインスタンスがなにかをつかんでいて消えないんだろう。やむなく
# rm -rf /System/Library/Extensions/FTDIUSBSerialDriver.kext
を実行して再起動。そして、バージョン2.3を確認してダウンロードし、インストール。基板を接続すると、ちゃんと /dev/{cu,tty}.usbserial-xxxx
が生えてきたのでkextstat
。無事「com.FTDI.driver.FTDIUSBSerialDriver (2.3)
」がおりました。よしよし。カーネルモジュールちゃんとあるよね、と
/System
以下を見るも見当たらず、mdfind
したら、/Library/Extensions/FTDIUSBSerialDriver.kext
に移動していた。あとからインストールしたものだから、たしかにこちらにあるべきで、いままでは何かの理由で/System以下に置いていたのだろうか、謎。検索では「Mavericks以後はApple版のFTDIドライバがいるけれど不具合が云々」、というエントリがたくさんヒットしたのだけれど、「ドライバのバージョン間違いしてないか」を確かめることを注意したものが見当たらなかったので、書いておくことにしました。いや、そんな間抜けはいないのかもしれませんが、ここに1名おりまして。
それらの解説では、MavericksではApple版とFTDI版のkext両方がロードされてコンフリクトするようですが、El Capitanでは、FTDI版があればApple版ドライバがロードされることはないようでした。為念。