我需要将 AER 错误注入到 SUSE 机器上。我已经成功对 aer_inject 模块进行了 modprobbed,并且我编译了空气注入工具来自 kernel.org。
每当我运行它时,都会出现以下错误。
Error: Failed to write, No such device
尽管根据 ,我的设备是存在的lspci -vvv
,并且我正在以 root 权限运行。
这是我用来传递给 aer-inject 的文件
AER
PCI_ID 18:00.0
COR_STATUS BAD_TLP
HEADER_LOG 0 1 2 3
在我的计算机上,18:00.0 对应于
18:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
根据lspci -vvv
为什么我会收到此错误?我是否正确使用了该工具?如果我在 lspci 中看到的不是 PCI_ID 字段,我应该在 PCI_ID 字段中输入什么?
答案1
我刚刚在运行于 Dell T30 服务器的 openSUSE Leap 15.2 上遇到了同样的“写入失败,没有此设备”问题。事实证明,AER 处理存在一定程度的所有权,如果 AER 处理支持似乎与其他地方相关联(可能是通过 BIOS 与 ACPI 绑定?),aer_inject 模块将无法找到设备。无论如何,我通过将 pcie_ports=native 附加到内核命令行并重新启动,使 aer-inject 正常工作。
仅供参考,我使用 yast2 附加了 pcie_ports=native 选项:yast2 -> 系统 -> 引导加载程序 -> 内核参数 -> 可选内核命令行参数