我创建了以下内容foo.rule
KERNEL=="sd*", ATTRS{serial}=="D93E7DF61B000174", ATTRS{idVendor}=="0x04e8", ATTRS{idProduct}=="0x61b6", SYMLINK+="foo"
相应的serial
、idVendor
和是由(带有修饰符)idProduct
提供的相应值。lsusb
之后,我使用 触发了规则udevadm trigger
。应该有相应的设备文件/dev/foo
,但是,不存在这样的文件。
答案1
你可以这样做:
udevadm info -a -n /dev/sdf
照此查看属性udev
;这极大地有助于解决此类问题。特别是,在随机 USB 驱动器上,我注意到 idVendor 和 idProduct 应该不是有0x
前缀。所以你应该尝试:
… ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="61b6", …
答案2
最简单的方法,reboot
有帮助 - 像这样的程序
udevadm control --reload
udevadm trigger
没有产生正确的结果。以下.rule
工作正常4.7.0-1-ARCH
KERNEL=="sd*", ATTRS{serial}=="D93E7DF61B000174", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="61b6", SYMLINK+="foo"
答案3
对我来说,答案是将您的规则从 更改ACTION="add"
为ACTION="add|change"
。