弊社USBアダプタをLinuxで使うには(2024版)

Posted on 2024.10.21 in

 

  • はじめに

近年、RaspberryPiなど小型のシングルボードコンピュータが普及し、Linux環境でロボットを動作させる機会が増えてきました。弊社ロボット(RCB-4)もUSBアダプタのドライバをLinux上にインストールすることでロボットと通信することができるようになります。

過去に公開した記事『弊社USBアダプタをLinuxで使うには(2019版)』を更新しました。

 

※Linuxのバージョン、種類によって動作が異なる場合がありますが、弊社では動作保証をしておりません。また、プログラムなどのご質問に関しましては回答致しかねます。この記事の内容は参考にお読みください。

 

  • 確認時の動作環境

Raspberry Pi 5 Model B
Raspberry Pi 4 Model B
Raspberry Pi 3 Model B
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.4 (stretch)
Release: 9.4
Codename: stretch

FTDIのカーネル自体は、Raspbianに含まれていましたので割愛はしますが、下記ページをご覧ください。

 

  • 認識方法

①RaspberryPi本体のUSBポートにUSBアダプタを挿す

②dmesgでデバイスの情報を取得する

下記はDUAL USB Adapter HSを挿入したときに表示されるメッセージ例になります。

USBアダプタが認識されると、

/dev/ttyUSB*

で認識されますが今回はメッセージが表示されていないので、認識はされていません。

③FTDIのカーネルと弊社USBアダプタを関連付ける

以下の通り入力します。各行については下記の解説をご参照ください。

書き込むにはroot権限(スーパーユーザー権限)で変更する必要があります。

root権限がない場合は最初にsudo suを実行し、最後にexitで終了します。

 

modprobeを使用してFTDIのカーネルftdi-sioをロード(取り込み)します。

/sys/bus/usb-serial/drivers/ftdi_sio/new_idにベンダIDとプロダクトIDを書き込むことでFTDIのカーネルと関連付けるようになります。

コマンドとしては、

vvvv:ベンダID

pppp:プロダクトID

DUAL USB Adapter HSを認識させる場合は「echo 165C 0008...」となります

 

弊社製品のベンダID、プロダクトIDは下記の通りです。

ベンダID プロダクトID デバイス名 製品名
165C

0006

ICS USB ADAPTER HS ICS USB アダプターHS
165C 0008 Dual USB ADAPTER HS Dual USB アダプター HS
165C 0009 RS485 USB/SERIAL CONVERTER RS485 USB/シリアル変換アダプター
165C 000A RS485 USB ADAPTER HS RS485 USBアダプターHS

こちらの他にもラジコン向け製品などのIDもあります。詳しくはKO Driver付属の『InstallManual』をご参照ください。

 

うまく認識された場合、dmesgでメッセージを表示させると、

ttyUSB0で認識されるようになりました。

 

  • 自動起動

先ほどの状態ですと、再起動をかけた場合コマンドを実行されないので再びコマンドを入力する必要があります。

毎回同じコマンドを打つのは手間なので、自動起動をするように設定します。

自動起動の設定方法は、

/etc/rc.local

にあるファイルにコマンドを記載します。 なお、rc.localはroot権限でしか書き換えることができないので、注意が必要です。 /etc/rc.localを開いていただいて、一番最後に下記を追記します。

rc.local内にほかにもいろいろ記載がありますが、起動しなくなるので変更しないようにします。

Dual USB アダプタしか記載はしませんでしたが、RS485 USB/シリアル変換アダプター等もベンダ、プロダクトID部分に変更したり、追記もできます。

再起動を行ってUSBを挿して認識されていれば成功です。

 

  • FTDIのドライバ(カーネル)が入ってない場合

RaspberryPiではFTDIのカーネルがインストールされていました。他のLinuxマシンではUSBのカーネルが入っていない場合があります。

下記FTDIのホームページからカーネル(ドライバ)をダウンロードしてください。

https://www.ftdichip.com/Drivers/D2XX.htm

Linuxのドライバがあるので、CPUに対応したカーネルをインストールしてください。

 

 

関連記事

 RCB-4 Library for Python ver.1.0.0B

 RCB-4とRaspberryPiの接続方法

 RaspberryPiとRCB-4との連携について

 RCB-4 Library Arduino版(V1.1)とPython版(V1.0.0B)の違いについて

 RCB-4の外部からモーションを再生させる方法について

 RCB-4でモーションとは別に個別にサーボを動かす方法

 RaspberryPi搭載用パーツ 3Dデータ(KXR用)

 

RS-485 USBアダプターHSの詳細をみる KHR-3HV Ver.3.1 リフェバッテリー付きセットの詳細をみる RS485USB/シリアル変換アダプターの詳細をみる Dual USBアダプターHSの詳細をみる KHR-3HV Ver.3 リフェバッテリー付きセットの詳細をみる の詳細をみる KXR-L2 ヒューマノイド型 Ver.2の詳細をみる KXR アドバンスセットA Ver.2の詳細をみる KXR-A5 アーム型 Ver.2の詳細をみる KXR-L4T-R カメ型・ローバー型 Ver.2(アカデミックパック)の詳細をみる の詳細をみる KXR アドバンスセットB Ver.2の詳細をみる KXR アドバンスセットBの詳細をみる KXR-L2 ヒューマノイド型の詳細をみる KMR-M6 Ver.3 リフェバッテリー付きセットの詳細をみる