USB设备在使用中拔掉后再次插入:
$ sudo udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[36.067804] remove /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/dvb/dvb0.net0 (dvb)
...
UDEV [36.081497] remove /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/dvb/dvb0.dvr0 (dvb)
再次插入时,不会add
记录任何事件 -无论我插入什么设备(键盘、鼠标、蓝牙适配器……)。
USB 设备未使用,插入并拔出:
$ sudo udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[54.325134] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4 (usb)
...
UDEV [55.388867] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/rc/rc0/input0/event0 (input)
KERNEL[59.878645] remove /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/dvb/dvb0.net0 (dvb)
...
UDEV [59.965779] remove /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4 (usb)
KERNEL[64.311664] add /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4 (usb)
...
当我在拔下或重新插入插头之前未启动该进程或停止该进程时,我会看到更多事件,尤其是事件add
。
当停止使用“阻塞”设备的进程时,我确实收到了所有事件。我什至没有收到kernel:
日志kern.log
消息messages
。
内核 4.4、Debian 9.0(Raspbian 8.0 升级到 Stretch 9.0)
Linux raspberrypi 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l GNU/Linux
我知道内核可能无法在使用时正确取消注册和重新注册设备,但为什么我add
根本没有收到任何设备的事件?