在 Linux Kernel 3 上,启动有时会卡在一行:
Waiting for /dev to be fully populated...
在此行之前,我可以看到 USB 设备枚举错误:
usb 2-1.2.3: device descriptor read/64, error -32
usb 2-1.2.3: device descriptor read/64, error -32
usb 2-1.2.3: device descriptor read/64, error -32
usb 2-1.2.3: device descriptor read/64, error -32
usb 2-1.2.3: device not accepting address 12, error -32
看起来我的一个 USB 设备无法被枚举,因此内核无法完成填充/dev
并且只是挂在那里(直到我的看门狗启动)。我想知道当无法枚举 USB 设备时我们是否可以告诉内核不要挂起。由于我可以稍后重置有故障的 USB 设备,因此这对我来说是一个可以接受的解决方法。
答案1
在/etc/init.d/udev
我改变线路
if udevadm settle; then
到
if udevadm settle --timeout=10; then
这将在 10 秒后停止等待/dev
完全填充。默认超时为 180 秒。