概要
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_sioとusbserialを次のコマンドでアンロードします。
sudo rmmod ftdi_sio
sudo rmmod usbserial
再度、サンプルコードを実行すると問題が出なくなりました。
FT232HのEEPROMを読み込んだ結果が表示されます。
以上です。
参考
Raspberry PiでFTDIデバイスドライバをインストールする
D2xx Readme
D2xx Video Install Guide
MPSSEコマンドリスト
MPSSE Example