USBシリアルデバイスの権限設定
ubuntuで3Dプリンタを使用する際、USBシリアルデバイスを使うのですが、
毎回デバイスのread/write権を設定するのが面倒になってきたので。
まずはシリアルデバイスの情報を確認します。
この時点でotherに対して権限はありません。
$ ls -la /dev/ttyACM0 crw-rw---- 1 root dialout 166, 0 5月 5 17:28 /dev/ttyACM0
USBデバイスIDを確認します。
$ lsusb Bus 004 Device 002: ID 8087:8000 Intel Corp. Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 8087:8008 Intel Corp. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 007: ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM) Bus 001 Device 003: ID 062a:410c Creative Labs Bus 001 Device 002: ID 04f3:0103 Elan Microelectronics Corp. ActiveJet K-2024 Multimedia Keyboard Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
udevのカスタマイズルールファイルを作成します。*1
$ls /etc/udev/rules.d/50-udev.rules ls: /etc/udev/rules.d/50-udev.rules にアクセスできません: そのようなファイルやディレクトリはありません $ sudo vi /etc/udev/rules.d/50-udev.rules KERNEL=="ttyACM*", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0042", GROUP="dialout", MODE="0666"
USBデバイスを再接続し、ちゃんと権限設定されるか確認します。
$ ls -la /dev/ttyACM0 crw-rw-rw- 1 root dialout 166, 0 5月 5 18:13 /dev/ttyACM0
おお、いい感じになっているやん。
これでまた一つlazyになったわ。