21 January 2013

(Ubuntu) USBシリアルデバイスのユーザ読み書き権限付与とminicomの初期設定

■ USBシリアルインターフェースにユーザ読み書き権限を与える

USBシリアルインターフェース(RS-232C変換アダプタ)を接続すると、ユーザ権限では読み書きできない状態で認識される。

$ ls -la /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 1月 21 19:26 /dev/ttyUSB0

ユーザに読み書き権限を与えるために、udev認識ルールを追加する。そのためにまずUSBデバイスIDを調べてから

$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 003: ID 04f2:0841 Chicony Electronics Co., Ltd Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Wireless Mouse M305 Bus 001 Device 004: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub Bus 001 Device 005: ID 0711:0230 Magic Control Technology Corp. MCT-232 Serial Port

ルールファイルにルールを追加する。(ファイルがない場合は、新規作成する)

/etc/udev/rules.d/50-udev.rules
KERNEL=="ttyUSB*", ATTRS{idVendor}=="0711", ATTRS{idProduct}=="0230", GROUP="uucp", MODE="0666"

この設定を行ったあと、USBシリアルインターフェースを最接続すると、ユーザに読み書き権限が与えられる。

$ ls -la /dev/ttyUSB0 crw-rw-rw- 1 root uucp 188, 0 1月 21 19:31 /dev/ttyUSB0


■ minicom の初期設定

日本語モードで起動すると画面が崩れるので、LANG=Cを指定して英語でセットアップを起動する。

$ LANG=C sudo minicom -s

20130121-minicom-setup.jpg

"Serial Port Setup" 設定の "Serial Device" を /dev/ttyUSB0 として、通信速度を通常使う速度に設定する。また、"Hardware Flow Control" が必要ない場合は No に設定する。

※重要 (minicomをシリアル端末として使う場合)
ダイアルアップモデムの利用でない場合は、"Modem and dialing" 設定の "Init string" と "Reset string" を消去しておかないと、minicom起動・終了毎にこの初期化文字列をシリアルTXに送り出してしまう。

設定が終われば、"Save setup as dfl" を実行して /etc/minicom/minirc.dfl に設定内容を保存する。