特定のデバイスのttyポート名を指定する「99-usb.rules」という単純なルールを作成しました。
KERNEL=="ttyACM*", ATTRS{idVendor}=="2341", NAME="mydevice"
このルールは、次のようにudevadmテストを実行すると正しく機能します。
udevadm test $(udevadm info -q path -n /dev/ttyACM0)
このコマンドを実行すると、「/dev/mydevice」と表示され、「mydevice」を介してUSBデバイスと通信できます。問題は、テスト環境の外部でこのルールを実行できないことです。 「udevadm control -R」と「udevadm Trigger」を試しただけでなく、デバイスを切断して再接続してシステムを再起動しました。 「udevadmトリガー」が失敗する理由のアイデアはありますか?私はOpenWrt Barrier Breaker 14.07オペレーティングシステムでudevバージョン173を使用しています。
ベストアンサー1
私のLinuxシステムにも同様の問題があります。私は最終的にこのNAME
オプションはネットワークインターフェイスでのみ機能するため、パフォーマンスが悲惨なほど不足していることがわかりました。ディスクドライブ、TTY、カーネルが管理するその他の項目には影響しません。代わりに、SYMLINK+=...
デバイスへのシンボリックリンクを作成する必要があります。私の考えでは、それはあなたの目的にもっと合うと思います。