1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UbuntuでM5StackをUSBデバイスとして認識させる

Last updated at Posted at 2021-12-03

ひとりアドベントカレンダー3日目

昨日の環境移行記事を書いた後で、事前にやっていたPCにM5Stackを認識させたりする部分に一切触れてなかったので、数を稼ぐ意味でもそのあたりを書いておきます。

環境

  • Xubuntu 20.04
  • 当時の対象デバイス:ATOM ECHO
$ uname -r
4.13.0-38-generic

手順

  1. CP210xのドライバ導入
  2. USBデバイスにアクセスできるよう、パーミッションを設定
  3. 毎回パーミッション設定はしなくて済むように追加設定

CP210xのドライバ導入

まずM5StackのページからUSBシリアルのドライバ CP210x_VCP_Linux.zip をダウンロード、展開しました。
Linuxのデバイスドライバのセットアップは初めてでしたが、以下のページ等を参考に行ってみました。
UbuntuでESP32を使う際のVCPセットアップメモ - Qiita
シリアルUSBアダプターをLinuxで使うには | 近藤科学

make
sudo make install
sudo cp cp210x.ko /lib/modules/4.15.0-142-generic/kernel/drivers/usb/serial/
sudo modprobe cp210x

USBケーブルで接続後、dmesgで認識したのを確認しました。
確認したつもりでしたが、改めて今回見てみたところATOM ECHOはCP210Xではない別のデバイスとして認識されていたよう

[  926.650383] usb 3-1: new full-speed USB device number 4 using xhci_hcd
[  926.792208] usb 3-1: New USB device found, idVendor=0403, idProduct=6001
[  926.792214] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  926.792219] usb 3-1: Product: M5stack
  中略
[  926.854612] usbcore: registered new interface driver ftdi_sio
[  926.854879] usbserial: USB Serial support registered for FTDI USB Serial Device
[  926.854984] ftdi_sio 3-1:1.0: FTDI USB Serial Device converter detected
[  926.856051] usb 3-1: Detected FT232BM
[  926.856389] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0

さらに以下のページによればCP210xのドライバはディストリビューションの一部として含まれているとの記述があり、ドライバ導入はやらなくても認識できていたのかもしれません。
Ubuntu Linux v18.0+ のセットアップ :: AWS IoT EduKit

USBデバイスにアクセスできるよう、パーミッションを設定

作業が不要だったかどうかはさておき、USBケーブルで接続すると/dev/ttyUSB0として認識されました。
そしてさっそく書き込もうとしたところアクセスが拒否された。
見てみるとotherには読み書き権限がない。よって、権限を追加して対応

$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Dec  3 23:26 /dev/ttyUSB0
$ sudo chmod 666 /dev/ttyUSB0
$ ls -l /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 0 Dec  3 23:26 /dev/ttyUSB0

しかし、これだと繋ぎなおすたびに権限を設定する必要があって、ちょっと不便を感じるところ。

毎回パーミッション設定はしなくて済むように追加設定

調べたところ、いや今から考えると調べなくても状況をよく観察すれば分かることだが、dialoutグループに属せばいいということで以下を実行
[小ネタ]Ubuntu でttyUSB0(USBシリアル変換)が権限関連で使えない場合の対処方法 - Qiita

sudo gpasswd -a ユーザ名 dialout

これでようやくスムーズに書き換えできるようになりました。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?