Raspberry PiのUSBにFT232H接続する ~ドライバのインストール~


概要

Raspberry PiをUSBホストとしてFT232Hを使用するための初期設定行いました。
この記事はその備忘録です。

環境

母艦:Windows10 64bit版
デバイス:Raspberry Pi 3B
OS;Rasbian stretch
変換基板:Adafruit FT232H Breakout - General Purpose USB to GPIO+SPI+I2C

設定手順

1.ドライバをインストール

FTDIのUSBドライバをRaspberry Piへインストールします。
FTDIのドライバダウンロードサイトを見ると、Raspberry Pi用のドライバが用意されているようです。
FTDi D2xxxドライバ

今回はサポート版の「libftd2xx-arm-v6-hf-1.4.8.gz」を使用します。
母艦にダウンロード・解凍します。

Raspberry Piに移り、作業用ディレクトリを作成します。

mkdir driver
cd driver

解凍してできたフォルダの中身をRaspberry Piの作業ディレクトリへコピーします。
今回はsftpクライアントツール「WinSCP」でRaspberry Piの”driver”フォルダにコピーしました
コピーするものは ↓ パスの中身全て(7点)です。

libftd2xx-arm-v6-hf-1.4.8\release\

コピーできたらインストールを行っていきます。

次のコマンドでインストールします。

cd build
sudo cp libftd2xx.* /usr/lib
sudo chmod 0755 /usr/lib/libftd2xx.so.1.4.8
sudo ln -sf /usr/lib/libftd2xx.so.1.4.8 /usr/lib/libftd2xx.so

※ドライバのバージョンが異なる場合は、何のバージョンをインストールしようとしているか、次のコマンドで確認できます。
libftd2xx.so.~.~.~ ”ファイルのバージョンです。

以上でセットアップ完了です。

動作確認

次のコマンドでサンプルコードをビルドし、実行します。

cd ../examples
make -B
cd EEPROM/read
sudo ./read

実行した時にポートのオープンに失敗するようです。

別のドライバが読み込まれているようなので、ドライバをアンロードします。
次のコマンドで読み込まれているドライバを確認できます。

sudo lsmod |grep ftdi

ftdi_siousbserialを次のコマンドでアンロードします。

sudo rmmod ftdi_sio
sudo rmmod usbserial

再度、サンプルコードを実行すると問題が出なくなりました。
FT232HのEEPROMを読み込んだ結果が表示されます。

以上です。

参考

Raspberry PiでFTDIデバイスドライバをインストールする
D2xx Readme
D2xx Video Install Guide
MPSSEコマンドリスト
MPSSE Example