LoginSignup
3
3

More than 5 years have passed since last update.

Ubuntuの各種USBdeviceへの固有名称の設定方法

Posted at

ROS on Ubuntu でUSB interfaceのセンサを使う場面がよくある,というかそればかりだ.
Packageでは対象となるデバイスが接続されているポート? (e.g. /dev/ttyUSB0) を指定する必要がある.
しかし,これらのポートナンバーはデバイス固有ではなく,USBに挿した順番によって変動する.
複数のデバイスを使用する際イロイロ面倒くさいので,デバイス固有の名前を付けたい.以下はその手順のまとめ.

デバイス固有の情報を取得する

udevadm info -a -n /dev/ttyUSB*
このコマンドでイロイロ出てくる.-a -nとかのオプションに関しては知らぬ.
isVendor とか isProduct など,デバイス固有の情報が分かる.

デバイス固有の名前を定義する

/etc/udev/rule.d/ にユーザー定義の設定ファイルを作成する. (e.g. 71-device.rules)
先頭の数字は優先順位だそうで.
isVendor, isProduct product などのデバイス固有のキーと名前を記述する.
デバイスを探し出すキーの項目(e.g. isVendor, isProduct, product)は == で,新たに設定する項目は = で記述する.

ATTRS{idVendor}=="*XXXX*", ATTRS{idProduct}=="*XXXX*",ATTRS{serial}=="*XXXXXX*", ATTRS{product}=="FT232R USB UART", MODE="0666", SYMLINK="robotics/USB2Dynamixel"
ATTRS{idVendor}=="*XXXX*", ATTRS{idProduct}=="*XXXX*", ATTRS{product}=="USB-Serial Controller", MODE="0666", SYMLINK="robotics/Pioneer-3DX"

面倒だから,ここでアクセス権限についても記述する.(e.g. MODE="0666",読み書き可?)

デバイス関連のサービスを再起動
sudo service udev restart

以上.

3
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
3
3