USBブートローダをフラッシュしたSTM32-Bluepillボードがあります。私のコンピュータに接続すると/dev/ttyACM0
。lsusb
Bus 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
。