マイコンのプログラム開発・実行する環境がUbuntu-desktop上だと、22.04-Desktopで初期設定した後、なぜか/dev/ttyUSB0
に認識されない問題が発生します。
正確には、「差した直後は認識されるけどすぐ消える」状態です。
マイコン開発はWindowsやMacでもできなくは無いですが、元々Ubuntuを普段使いしている勢からすれば大変な問題です。
原因:点字ディスプレイドライバ「brltty」との競合
これは、M5Stackシリーズのシリアル変換チップに対してUbuntu22側が勝手に点字キーボードドライバと認識しているからです。
Ubuntu22-desktopは、新しいアクセシビリティツールとして点字ディスプレイをデフォルトでサポートするようになりました。
点字ディスプレイとは、以下の情報を点字を用いて知らせるものです。
- 文字情報
- カーソル位置(一部機種)
このアップデートはさらに多くの人を受け入れる非常に良いものですが、M5Stackなどのシリアル変換モジュールも勝手に認識されてしまい、普段の開発では邪魔になってしまいます。
これについて少し調べたところ、その解決策が載っているものを見つけました。
どうやら/usr/lib/udev/rules.d/85-brltty.rules
がFTDIチップを自動的にデバイスを点字ディスプレイとして認識させているようで、そのルールを無効化すればよさそうです。
serialとして認識されるルールは60番なので、時間差で上書きしているのでしょうか?
確か、ルールが競合した場合はソート後の最も後のルールが適用されたはずです。
解決策
点字ディスプレイを使用しない場合はアンインストールすれば良いです。残す場合は、85-brltty.rules
の一部分をコメントアウトするといいです。(上のaskubuntu.comの最初の回答より)
# アンインストール sudo apt remove brltty
USBデバイスをもう一度差し直すと認識されるようになります。