USBのパーミッション

Linux(Fedora)でArduinoIDEを使用していると、USB接続の際にエラーが出ることがあります。

色々なところで記事になっているので詳しくは書きません(よくわからんので書けません)が、OS(Linux)にログインしているユーザにUSB(例:/dev/ttyUSB0)への権限(アクセス権)が足りないためにエラーになっているようです。

$ ls -l /dev/ttyUSB0
crw-rw----. 1 root  dialout 188,   0  8月 15 20:45 ttyUSB0

で、解決策も色々記事になっているのですが、多くのものは「ArduinoIDE」を起動させるときに、root権限で起動させる。

$ sudo ./arduino

てな感じでした。まぁ確かにそれでも動くのですが、「GUIのIDEなのに起動にコマンドラインからとか一寸スマートじゃないなぁ」と思っていましたが他にやりようも思いつかないし・・・などと日々を過ごしていましたが、見つけました!!

こちら(NETWIZ.JP)を参考にいたしました。素晴らしい。スマート、エレガント。参考にしたと言うより、まんま実施しました。ありがとうございます。


実際に参考先に従って、やってみました。私の環境では、「/etc/udev/rules.d/50-udev-default.rules」はなかったので、新しく作りました。vim で記事の丸コピーで「KERNEL==”ttyUSB[0-9]*”, GROUP=”dialout”, MODE=”0666″」を書き込んで完了

$ ll /etc/udev/rules.d/
合計 0
$ vim /etc/udev/rules.d/50-udev-default.rules
$ ll /etc/udev/rules.d/
合計 4
$ cat /etc/udev/rules.d/50-udev-default.rules
KERNEL=="ttyUSB[0-9]*", GROUP="dialout", MODE="0666"

早速、確認してみると、読み書き(rw)権限がバッチリ付与されています。

$ ls -l /dev/ttyUSB0
crw-rw-rw-. 1 root dialout 188, 0 4月 10 09:55 ttyUSB0

ArduinoIDEを立ち上げて、ボードをUSBへの接続してもエラー無し。うーん完璧。

※2018/04/10 権限付与の、箇所を修正。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です