状況
マイコンとPCでシリアル通信を行いたい.
しかしUSBを刺す順番によって、表示されるデバイス名が変わってしまい面倒なので、いつも同じにしたい.
普通なら
udevadm info -q property -n {割り振られたデバイス名} | grep -E "ID_SERIAL_SHORT=|ID_VENDOR_ID=|ID_MODEL_ID="
- ID_VENDOR_ID
- ID_MODEL_ID
- ID_SERIAL_SHORT
を取得して
以下参照のとおりにすればよい
[Ubuntu20.04] Arduinoのデバイスファイル名を同じにする方法
しかし,今回ID_SERIAL_SHORTがないマイコンに遭遇したため(安価なマイコンだとそういうこともあるらしい),デバイスを認識することができなかった.
解決方法
その場合ファイルに書き込むのはID_SERIAL_SHORTを抜いた
SUBSYSTEM=="tty", ATTRS{idVendor}=="調べたID_VENDOR_ID", ATTRS{idProduct}=="調べたID_MODEL_ID",SYMLINK+="表示させたい名前", MODE="0666"
とすれば無事デバイスファイルを認識することができた.
最後に
記事に書くまでもなく当然なことだった.
しかしudevルールを全く知らない自分からしたら困惑したので記事にした.