Armadilloフォーラム

コンテナがタッチパネルを認識するタイミングについて

h-yuusuke

2022年10月24日 16時41分

お世話になっております。

掲題の件に関しまして、教えて頂きたいことがあります。
コンテナでタッチパネルを使用する際、下記の順番で動かしております。
 ① タッチパネルの電源を入れる
 ② Armadillo G4の電源を入れる ⇒ Armadillo側でタッチパネルを認識する
 ③ コンテナを起動 ⇒ コンテナ内でタッチパネルを利用可能

③のコンテナ起動後に何かしらの要因でタッチパネルが再起動した場合、コンテナ側でタッチパネルを認識することはできますでしょうか?

コメント

at_dominique.m…

2022年10月25日 9時15分

h-yuusukeさん

お世話になっています、
マルティネです。

> ③のコンテナ起動後に何かしらの要因でタッチパネルが再起動した場合、コンテナ側でタッチパネルを認識することはできますでしょうか?

weston での入力は libinput からいただいて、libinput には以下の二つの条件が必要です:
- /dev/input/eventX のデバイスを更新すること(udevを機動させるか、hostの/devを使う)
- カーネルからの NETLINK イベントをもらうこと(hostのネットワークネームスペースを使う)

コンテナのデフォルト状態ではどちらもできなくて、マニュアルには以下の例があります:
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

[armadillo ~]# podman run -itd --name=usbhotplug_example --volume=/dev:/dev --net=host docker.io/alpine /bin/sh

/etc/atmark/containers のコンフィグファイルの場合は「add_volumes /dev:/dev」と「set_network host」で同じ対応となります。

隔離の面ではすこし残念な設定ですが、今のところはこれしかありません。podman でデバイスの監視する機能が増えたら便利になりますね…
(ホスト側で udev ルールによってコンテナを再起動させることも可能ですが、作業の途中でコンテナを再起動させるのは望ましくないでしょう…)

よろしくお願いします。

at_dominique.m…

2022年10月25日 9時44分

返事を重ねてすみません。

一つだけ、追加したいことがありました。
製品マニュアル例では USB メモリなども含めてのホットプラグ対応で `add_volumes /dev:/dev` を使っていましたが:

> /etc/atmark/containers のコンフィグファイルの場合は「add_volumes /dev:/dev」と「set_network host」で同じ対応となります。

今回は /dev/input さえあれば入力が動くと思いますので、「set_network host」と 「add_volumes /dev/input:/dev/input」をまず試してみてください。

よろしくお願いします。