LoginSignup
1
3

More than 5 years have passed since last update.

Mac上でFTDI USBデバイスをD2XX APIから使いたい

Posted at

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プログラミングの一連の流れをまとめたい。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3