接続されているポートに応じて(USB)デバイスの名前を継続的に指定したいと思います。
udevadminを使用して次の情報を見つけました。
# udevadm info --name=input/event3 | grep ID_PATH
E: ID_PATH=platform-ci_hdrc.1-usb-0:1.1.4:1.0
E: ID_PATH_TAG=platform-ci_hdrc_1-usb-0_1_1_4_1_0
したがって、デバイスには、私が望むものと似たID_PATH属性とID_PATH_TAG属性があるようです。
udev.ruleと一致するように追加しました
SYMLINK+="foo-%E{ID_PATH_TAG} foo1-$env{ID_PATH} foo2-$env{ID_PATH_TAG}"
(この3つのバリエーションは必死に努力しているだけです…動作すれば1つだけで十分です。)
ルールが実行され、ログにエラーがありません(ログレベル=デバッグ)。
ただし、生成されたシンボリックリンクは
/dev/foo-
/dev/foo1-
/dev/foo2-
したがって、私のルールが実行されたときにID_PATH属性とID_PATH_TAG属性が設定されていないようです。注文時に知っておくべきことはありますか?
ベストアンサー1
デバイスの属性のリストを取得するには、まずこのコマンドを実行します。
udevadm info -a -p $(udevadm info -q path -n <devpath>)
そうすれば、
... SYMLINK+=”device_$attr{serial}”, ...
以下のように、必要なデータで環境変数を設定する必要がある場合もあります。
... ENV{SERIAL_NUMBER}="$attr{serial_number}"
後でこれを試してください。
... SYMLINK+="device_$env{SERIAL_NUMBER}"