udev ルールが適用されますが、グループが設定されていません。

udev ルールが適用されますが、グループが設定されていません。

USBブートローダをフラッシュしたSTM32-Bluepillボードがあります。私のコンピュータに接続すると/dev/ttyACM0lsusbBus 001 Device 006: ID 1eaf:0004 Leaflabs Maple serial interface

Arduinoプロジェクトの場合、diy私のコンピュータにはグループがあります。そのため、Bluepillの場合、次のudevルールを作成しました。

#Bootloader-Mode
DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0004", GROUP="diy", MODE="0660"
#Normal-Operation-Mode
DRIVERS=="usb", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", GROUP="diy", MODE="0660"

どちらのルールも機能しますが、どちらのルールもグループを正しく設定しません/dev/ttyACM0(常に機能しますuucp)。現在のモードを0666。これにより、デバイスを使用する権限が付与されますが、とにかくグループを正しく設定したいと思います。

uucp私の基本的なルールの1つによってのみ設定されます/usr/lib/udev/rules.d/50-udev-default.rules。しかし、私のルールは/etc/udev/rules.d/100-bluepill.rulesなので、優先順位が高くなければなりません。

ベストアンサー1

数値プレフィックスは udev ルールの順序を指定する一般的な方法ですが、処理は実際には語彙的です。からman udev

RULES FILES
       The udev rules are read from the files located in the system rules
       directories /lib/udev/rules.d and /usr/local/lib/udev/rules.d, the
       volatile runtime directory /run/udev/rules.d and the local
       administration directory /etc/udev/rules.d. All rules files are
       collectively sorted and processed in lexical order, regardless of the
       directories in which they live. However, files with identical filenames
       replace each other. Files in /etc have the highest priority, files in
       /run take precedence over files with the same name under /usr. This can
       be used to override a system-supplied rules file with a local file if
       needed; a symlink in /etc with the same name as a rules file in /lib,
       pointing to /dev/null, disables the rules file entirely. Rule files
       must have the extension .rules; other extensions are ignored.

このよう100-bluepill.rulesにソート今後 50-udev-default.rules(1<5).ルールを最後に適用するには、次のように選択します99-bluepill.rules

おすすめ記事