Bit-bangモードで快適なパラレルポート生活を送りたい!
あとで知ったけれど、どうもYoutube上に公式のビデオがあるようだ。
ドライバ
ダウンロード
FTDI社のページから、D2XXなるドライバをダウンロードする。D2XX API (ftd2xx.h
)を通じてデバイスを列挙したり、開いたり閉じたりできるようになる。
Apple社製ドライバとの競合
参考サイト(実際には、公式ビデオでもさらっと紹介されていた)
Appleからデフォルトで提供されているFTDI社製チップのドライバが、D2XXを使う際に邪魔になる:
- デバイスを列挙する際にデバイスの状態が
flag = 1 (USED)
になってしまい、ベンダーIDやシリアル番号を取得できない -
FT_Open()
で開こうとしても、返り値が3 (FT_DEVICE_NOT_OPENED)
でエラーになってしまう
Apple社製ドライバは、kextstat
なるデバイスドライバマネージャコマンドを使うことで確認できる:
$ kextstat | grep FTDI
896 0 0xffffff7f83af4000 0x6000 0x6000 com.apple.driver.AppleUSBFTDI (5.0.0) (... 以下シリアル番号など)
D2XXからデバイスを操作したい場合、ここで得たドライバ情報を使ってドライバを無効化してやる必要がある:
$ sudo kextunload -b com.apple.driver.AppleUSBFTDI
$ kextstat | grep FTDI
$
その他
一身上の理由でフリーのlibFTDIは使っていないけれど、ドライバ競合の問題はおそらくこちらでも起きるのではないか。
またやる気が出たら、bit-bangプログラミングの一連の流れをまとめたい。