为了弄清楚为什么 USB 驱动器无法工作,我将其插入并运行 dmesg 以获取:
[101100.860034] usb 6-2: new full-speed USB device number 18 using uhci_hcd
[101100.980060] usb 6-2: device descriptor read/64, error -71
[101101.204071] usb 6-2: device descriptor read/64, error -71
[101101.420051] usb 6-2: new full-speed USB device number 19 using uhci_hcd
[101101.540057] usb 6-2: device descriptor read/64, error -71
[101101.764092] usb 6-2: device descriptor read/64, error -71
[101101.980066] usb 6-2: new full-speed USB device number 20 using uhci_hcd
[101102.388035] usb 6-2: device not accepting address 20, error -71
[101102.500092] usb 6-2: new full-speed USB device number 21 using uhci_hcd
[101102.912066] usb 6-2: device not accepting address 21, error -71
[101102.912093] usb usb6-port2: unable to enumerate USB device
在哪里可以找到有关此信息确切含义的文档?例如,“错误 -71” 的含义。我在网上找到的页面仅描述了 dmesg 的各种选项的作用。
答案1
dmesg
不会生成消息。它所做的只是保存其他事物告诉它的内容的标准日志。
通常,写入的内容dmesg
将包含某种标识符来显示它们是什么。在这种情况下,您的标识符是usb
。然后我们可以使用我们的朋友 Google 来查找具体来源消息。 在您的例子中,错误 71 指的是:
#define EPROTO 71 /* Protocol error */
如果您想在 dmesg 中查找其他消息的来源,您需要查看那里写了什么消息,然后查阅该系统的文档。
例如,如果您有类似的东西,您应该查看 EXTFS 模块的文档:
[37734.973627] EXT4-fs (nvme0n1p2): re-mounted. Opts: block_validity,barrier,user_xattr,acl
然后,文档将提供追踪错误所需的信息。dmesg
仅汇总所有这些消息。