当使用 ubuntu (12.04,已安装并处于实时 USB 状态) 时,我收到很多以下消息:
pciehp 0000:00:1c.5:pcie04: Card not present on Slot(37)
pciehp 0000:00:1c.5:pcie04: Card present on Slot(37)
我说的很多是指每秒大约 20 个。这会产生严重的后果,我想摆脱它 :)
该计算机是 Packard Bell Easynote BG48-U-100 DC。
我从一些fedora/redhat 错误在这里是查看 lspci -vnn。我已将有关“00:1c.5”的部分粘贴在此处:http://pastebin.com/0sfsiqW2 为了证明其作用,以下是我的计算机的 lsmod:http://pastebin.com/DQZy1kAL
从第一个 pastebin 开始,我认为它与模块有关shpchp
,在我看来(又名:google)它与 ACPI 有关。这就是我对此进行分析的程度。
有人能进一步帮助我吗?我能做什么、检查什么等等?
我确实看到了这个话题但我的意图并不是抑制错误消息:我知道如何做到这一点(从那个主题;)),但我正在寻找真正的解决方案。
在互联网上找到这个问题确实让我怀疑它既不是 ubuntu 特有的问题也不是 packard-bell 特有的问题。如果你在 Google 上搜索这个问题,你会发现它似乎也存在于其他几个发行版/硬件组合中,而且似乎建议删除其中一个驱动程序?我不知道应该查看哪个驱动程序,以及删除它会有什么效果。
我见过这个话题虽然有点老了,但描述了我的问题,并且与类似的计算机有关。本主题中的解决方案是使用西班牙语指南编译新内核,这对我来说似乎有点极端,所以我希望有一个比这更好的解决方案。
编辑:我刚刚在 12.10 上测试过,但仍然有问题
关于抑制:我可以在 syslog 中抑制它,但 IO 仍在继续。我也在 dmesg 和其中一个控制台中看到了提及。此时,即使有一种抑制所有这些事情的方法也会有所帮助。
另一项测试也表明,快速启动 Fedora 在这台机器上也存在同样的问题
答案1
我尝试了以下修补方法,并列出了它们对我不起作用的原因:
- Bios 功能:我在 Bios 中所做的一切都不会影响我遇到的热插拔问题。
- 抑制错误。由于某些原因,黑名单无法可靠地工作(我承认我可能做错了什么),而且正如我所说,它不是一个真正的解决方案。轮询仍将继续进行。除此之外,消息还会显示在 tty、DMESG 等中。
- 卸载模块:模块被编译到内核中,因此将其列入黑名单或卸载不起作用。
最后我确实编译了自己的内核,使用这个手册:
https://help.ubuntu.com/community/Kernel/Compile
尤其是“替代”方法。如果您只需要删除一个东西,则不需要所有花哨的不同风格,因此我复制了我的旧配置(如所解释的),删除了热插拔内容,然后等待编译完成。
答案2
值得一提的是,在 Asrock ion 3d(现在装有 Ubuntu 14.04)上,在 BIOS 中禁用 usb3 可以解决问题。
Pciehp 泛滥 dmesg(“card nog present”)不再发生。
答案3
我有一台 EVGA SR2,正在运行 Ubuntu 14.04。
我也收到无数 pciehp 垃圾邮件。我做了一个实验,发现我的主板上的原因是 BIOS 中启用了 Marvel LAN 适配器。关闭它们可以解决此问题。
如果我禁用它们两者,问题就会消失,但是我没有以太网,除非我使用附加卡。
这非常奇怪,但是它使得尝试在单用户模式下安装图形驱动程序绝对不可能,因为它会出现在每个 tty 上,无论您选择什么运行级别,并且您都看不到您输入的内容。
垃圾邮件示例:
[ 79.976724] pciehp 0000:00:1c.0:pcie04: Card not present on Slot(0)
[ 79.988924] pciehp 0000:00:1c.0:pcie04: Card present on Slot(0)
[ 80.095809] pciehp 0000:00:1c.0:pcie04: Card not present on Slot(0)
[ 80.099873] pciehp 0000:00:1c.0:pcie04: Card present on Slot(0)
[ 80.135505] pciehp 0000:00:1c.0:pcie04: Card not present on Slot(0)
[ 80.139569] pciehp 0000:00:1c.0:pcie04: Card present on Slot(0)
您可以看到这个过程发生得有多快并且会永远持续下去。
希望有人会觉得这很有用。我仍在尝试解决这个问题,而无需禁用我的 LAN 端口。
答案4
打开 BIOS 并禁用电源功能。Cool N quiet/powernow 或英特尔拥有的任何功能。
还要查找 pcix powerstate 功能。因为这听起来确实像是一个热插拔问题,至少可以解决该问题。