「絶対に許せない!」と言えばプリキュアの定番セリフですが(そうか?)
絶対に許せない現象が発生してしまいました
というのもワタクシ、実はお絵かきの左手デバイスに赤外線テレビリモコンが使えるのでは?という思いつきを胸に実際に使ってみていまして、その受信装置はarduino(の複製) + MCP2221でUSB変換してPCに接続→PC側でuinputを使うソフトがキーコードを発信というようになっているのですね。
そしてそれは、systemdでシステム起動時に自動起動するようになっております。
この状況下でubuntuっていうかxubuntuを18.04.1にアップデートして以来、
- システム起動時にリモコンソフトが起動するが、機能しない
- どーもオチているようである(systemdからは落ちたと認識されていないらしい)
- systemctl restart ir_remocon.serviceすると動作するが、サスペンド→復帰するとまた動かない。
- ソフト単体で試したら、たしかに復帰すると変換ソフトが超長いリモコンコードを受信し、アサーションを発して落ちている。
- そこでリモコンコード異常が発生したらポート閉じて再度開く…と言う仕組みにしたら、「device reports readiness to read but returned no data」と言われるようになり、やはりまともに受信できない
- そこでソフトを一旦落とし、再起動するとこれは動く。
- acpidで/etc/pm/にスクリプトを置いてresumeでsystemctl restart ir_remocon.serviceするようにしてみたが、駄目
毎回愚直にターミナルからsystemctl restartしてたんですが、いい加減なんとかしなければ…と追ってみたのですが、上記のように自分には想定外の不可思議な現象が起きておりました。
んで/var/log/syslog していてようやく気づきました。
Dec 5 01:08:16 mydesktop ModemManager[649]: <info> Creating modem with plugin 'Generic' and '1' ports Dec 5 01:08:16 mydesktop ModemManager[649]: <warn> Could not grab port (tty/ttyACM0): 'Cannot add port 'tty/ttyACM0', unhandled serial type'
誰だコイツ > ModemManager
いつの間に入ったのか今までは悪さをしなかったのかわかりませんが、どうもコイツが全てのシリアルポートを塞いでいるっぽいですな…そしてシステム起動・復帰時に先に塞いでいるので我がir_remocon.serviceが失敗すると
そう考えると device reports readiness〜エラーとも辻褄が合う。
そこでバッサリapt-get remove modemmanagerしました。
どうもサスペンド復帰しても大丈夫になりました、「今のところは」 あとプラセボ効果かもですが…デスクトップ描画も16.04のときのサックリサクサクに戻った気がするのですよ。気の所為かもですがね。
まぁ、本当にmodemmanagerが悪かったのかは実際の所不明w