如果设备已连接,则udev ignore_device将不起作用

我真的不确定这是否是正确的网站,但我把它放在这里,因为这是一个编程问题,我认为SO群体是三个站点中最靠Linux的。

无论如何,我试图找出一种方法来模拟从软件方面断开设备,就像用户在物理上断开连接一样。 到目前为止,我已经在/etc/udev/rules.d中创build了一个名为10-nano.rules的udev规则:

SYSFS{idVendor}=="05ac", OPTIONS+="ignore_device" 

此规则适用于忽略设备,但只有在断开连接并重新连接之后。 但是我想要做的是能够编写规则,然后让设备被忽略,就好像它被断开一样。 我尝试过使用和不使用sudo的“udevadm触发器”,但由于某种原因,我无法在设备连接时应用此规则。 有什么build议么?

顺便说一下,我可以通过删除10-nano.rules,然后运行“sudo udevadm触发器”重新连接被忽略的设备,但像上面所说的,而不是相反的方式。 (因为某些原因,当我运行这个命令的时候,我的系统时间和互联网就搞砸了)

您是否尝试过控制设备的模块?

您还可以使用udevadm test模拟删除事件,pe:

 sudo udevadm test --action="remove" <devpath> 

您可以在物理连接或移除设备时查看devpaths是如何查看udevadm monitor ,或者在/sys/<devpath>检查它们。