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

Posted on 2024.10.21 in

 

  • はじめに

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

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

 

※Linuxのバージョン、種類によって動作が異なる場合がありますが、弊社では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アダプタを関連付ける

以下の通り入力します。

※「pppp」はプロダクトIDの仮置きです。製品によってプロダクトIDが異なりますので、下記の解説を参考に該当する製品のプロダクトIDを記入してください。

 

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

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

 

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

 

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

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でデバイスが認識されているか確認する

うまく認識された場合、「dmesg」でメッセージを表示させると下記のように表示されます。

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

※ご利用の環境により「ttyUSB0」ではない場合があります。表示内容、各リビジョンの仕様などはご自身でご確認ください。

 

  • 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 リフェバッテリー付きセットの詳細をみる