我有几个通过 USB 连接的设备(本质上是块类型设备)。它的USB大容量存储设备。我可以通过列出设备
lsusb
,但它们不会出现在 中lsblk
或中的某个位置/sys/block
。
当执行udevadm monitor
并再次插入和拔出它们时,我收到此消息
KERNEL[69676.974198] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0 (usb)
KERNEL[69676.974402] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1 (usb)
UDEV [69676.975535] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0 (usb)
UDEV [69676.976173] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1 (usb)
KERNEL[69679.190131] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1 (usb)
KERNEL[69679.195371] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0 (usb)
UDEV [69679.197376] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1 (usb)
UDEV [69679.199103] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0 (usb)
这个内核会发生这种情况uname -a
Linux ajvm 4.6.4-1-ARCH #1 SMP PREEMPT Mon Jul 11 19:12:32 CEST 2016 x86_64 GNU/Linux
dmesg
也不显示解释错误的内容
[69680.813203] usb 2-1.1: new high-speed USB device number 10 using ehci-pci
[69683.770954] usb 2-1.1: USB disconnect, device number 10
我可以做什么来进一步调查这种不当行为?
突然没有创建新的块设备可能是什么原因?
添加
我确实错过了lsusb
输出
Bus 002 Device 004: ID 0bda:0159 Realtek Semiconductor Corp. RTS5159 Card Reader Controller
此外我应该补充一点曾是不仅仅是这一个设备,它没有触发任何块设备节点的创建,而是全部(插入了几个USB闪存驱动器和SD卡)。因此,我寻找usb-storage.ko
正在加载lsmod | grep usb
,但没有显示要加载的 USB 存储模块。
更新
事实证明,这一切的原因是我更新了内核,并且愚蠢地已经删除了旧的内核包。由于没有重新启动,我使用的是旧内核,但不再是它的内核模块,这使得加载变得usb-storage
不可能。如果我在dmesg
抱怨缺少内核模块时看到一些错误,那将会是显而易见的,但事实并非如此。因此,这个问题已经过去,而且问题很明显,如果有一个答案提供有关 的信息,我会发现它很有趣what could have been done, for the detection of the problem?
。通常的怀疑,即至少进行调查dmesg
不是这样,我应该如何得知丢失的模块(这是问题的原因)?