Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

Ubuntu22.04でttyUSB0が認識されない

シリアルUSBを接続しても認識されない

久しぶりにUbuntuを使い始めて、ハマったのでメモ。

結論を先に書きます。

$ sudo apt autoremove brltty
$ sudo usermod -a -G dialout <username>
$ sudo shutdown -r now

★2023/03/14 追記
どうも、Ubuntu22.04 LTSの既知の問題らしい。
Ubuntu22でM5Stackなどのデバイスと接続ができない場合 - えいあーるれいの技術日記

解決までの道のり

dmesgで確認

$ sudo dmesg
で確認すると、どうも失敗しているような?

[89167.276267] usb 2-2: ch341-uart converter now attached to ttyUSB0
[89167.816353] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input42
[89167.908026] usb 2-2: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1
[89167.908482] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[89167.908509] ch341 2-2:1.0: device disconnected

brlttyというのが邪魔をしている?

不要なので削除

brlttyを調べてみたところ、

BRLTTY は点字ディスプレイを使用する視覚障害者にコンソール (テキストモード) へのアクセスを提供するデーモンです。 点字ディスプレイを駆動して完全な画面表示機能を提供します。

との事で、自分には必要なさそう。
なので、アンインストール。

$ sudo apt autoremove brltty

さらにttyUSB0のパーミッションを設定

brlttyを削除してからdmesgを確認すると

[90342.954875] usb 2-2: ch341-uart converter now attached to ttyUSB0

となっていた。

それでも接続できないので対応

無事に認識されたので、さっそく試してみたら、接続できないと怒られる。
どうもパーミッション関連の問題の様子。
$ chmod a+rw /dev/ttyUSB0
としてパーミッションを都度変更しても書き込めるが、毎回コマンド叩くのは面倒なので、dialoutグループに追加してあげる。

$ sudo usermod -a -G dialout <username>

再起動すればOK。