是什么原因造成的?pcieport 0000:00:03.0:PCIe总线错误:AER / TLP错误


20

我看到以下错误消息:

Nov 15 15:49:52 x99 kernel: pcieport 0000:00:03.0: AER: Multiple 
Corrected error received: id=0018 Nov 15 15:49:52 x99 kernel: pcieport
0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, 
id=0018(Receiver ID) Nov 15 15:49:52 x99 kernel: pcieport 0000:00:03.0: 
device [8086:6f08] error status/mask=00000040/00002000 Nov 15 15:49:52 
x99 kernel: pcieport 0000:00:03.0: [ 6] Bad TLP

即使已经(到目前为止)已纠正这些问题,也会导致性能下降。显然,这个问题需要解决。但是,我在Internet上找不到太多有关它的信息。(也许我在错误的地方找东西。)我只找到了一些链接,这些链接将在下面发布。

有人知道这些错误吗?

是主板,三星950 Pro还是GPU(或这些的某种组合)?

硬件是:M2中的Asus X99 Deluxe II Samsung 950 Pro NVMe。mb(共享PCIe端口3)上的插槽。没有任何东西插入PCIe端口3。PCIe插槽1中的GeForce GTX 1070 Core i7 6850K CPU

我发现的几个链接都提到了相同的硬件(X99 Deluxe II mb和Samsung950 Pro)。我正在运行Arch Linux。

我在journalctl或到目前为止我一直想搜索的其他任何地方都找不到字符串“ 8086:6f08”。

nvme ssd(Bad TLP)的奇怪错误消息:linuxquestions https://www.reddit.com/r/linuxquestions/comments/4walnu/odd_error_message_with_nvme_ssd_bad_tlp/

PCIe:您的卡是否在无声地处理TLP重传?http://billauer.co.il/blog/2011/07/pcie-tlp-dllp-retransmit-data-link-layer-error/

GTX 1080抛出不良的TLP PCIe总线错误-GeForce论坛https://forums.geforce.com/default/topic/957456/gtx-1080-throwing-bad-tlp-pcie-bus-errors/

驱动程序-dmesg日志中的PCIe错误-询问Ubuntu /ubuntu/643952/pcie-error-in-dmesg-log

780Ti X99硬锁-PCIE错误-NVIDIA开发人员论坛 https://devtalk.nvidia.com/default/topic/779994/linux/780ti-x99-hard-lock-pcie-errors/


我将gtx 710从pcie x16插槽移到了x1插槽(华硕Prime B450-plus,Ryzen 5 3600,三星NVME 970)
特伦特

Answers:


23

尽管我无法完全解释会发生什么,但我至少可以提供一些细节。

如对实施例描述这里,与PCIe总线控制器的CPU进行通信由事务层数据包(TLP的)。硬件检测出何时有故障,Linux内核将其报告为消息。

kernel选项pci=nommconf禁用了Memory-Mapped PCI Configuration Space,该功能自Linux 2.6起在Linux中可用。大致来说,所有PCI设备都有一个描述此设备的区域(您会看到lspci -vv),访问该区域的原始方法涉及通过I / O端口,而PCIe允许将此空间映射到内存以简化访问。

在这种特殊情况下的手段,什么时候的PCIe控制器使用此方法访问特定设备的configuraton空间出错。这可能是设备,主板上的PCIe根控制器,这两者的特定交互或其他方面的硬件错误。

通过使用pci=nommconf,将以原始方式访问所有设备的配置空间,并且更改访问方法可解决此问题。因此,如果需要,它既可以解决又可以抑制它。


我可以知道这是我的主板问题吗?还是我的CPU问题。我应该改变他们吗?
user10024395

@ user2675516:与CPU不相关。这是PCIe根控制器(通常在南桥中)和/或设备的PCIe控制器或其相互作用的问题。是的,通常不用使用不同硬件更换主板。
dirkt

我从asus e-ws更改为asus Deluxe,但问题仍然存在。这就是为什么我怀疑它是CPU。还是因为两者都是X99芯片组?
user10024395

1
@ user2675516:如果芯片组相同,尤其是。PCIe控制器,然后更换主板当然无济于事。这就是为什么我写了《使用不同硬件的主板》。
dirkt

对我来说,共同点似乎是带有X99芯片组的主板
Monica Cellio的MountainX

3

添加内核命令行选项pci=nommconf对我来说解决了这个问题。因此,我假设问题与主板有关。它在我所有配备X99主板的计算机上发生。在Z170系统或我拥有的任何其他硬件上都不会发生。


1
嗨,我也面临这个问题。我可以知道pci-nommconf做什么吗?它只是抑制问题还是解决问题?
user10024395

无法确认-在z170i上出现错误,运行Arch 4.13.12
sitilge

@sitilge-感谢您的评论。哪个品牌/型号z170i?我的主板是华硕。其中一个是
Monica Cellio的

这是华硕z170i专业游戏。
sitilge

3

请尝试以下步骤:

  1. cp /etc/default/grub ~/Desktop
  2. 编辑grub。pci=noaer在末尾添加GRUB_CMDLINE_LINUX_DEFAULT。行将是这样的:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"
    
  3. sudo cp ~/Desktop/grub /etc/default/

  4. sudo update-grub
  5. 马上重启

我应用了您的解决方案,但没有按照@dirkt的建议pci=noaer使用pci=nommconf
user3405291

谢谢,pci = noaer解决了我在hp笔记本电脑上安装的slackware 14.2x64问题(台式机安装根本没有出现此问题)
John Forkosh

7
您介意详细一点吗?此选项有什么作用,您希望它如何解决问题?
Calimo '18

您为什么不使用它sudoedit进行安全编辑?-1对于这些副本,这里的步骤是完全废话
LinuxSecurityFreak

4
pci=noaer只是禁用高级错误报告。因此您仍然遇到那些错误,只是看不到它们……
dirkt

2

我收到相同的错误(与设备8086:6f08关联的错误TLP)。我有X99 Deluxe II,Samsung 960 pro,Nvidia 1080 ti。这些问题似乎与X99芯片组和M.2设备(例如Samsung Pro)有关。

X99 Deluxe II主板在PCIE16_3插槽和M.2 / U.2之间共享带宽。根据@Nic的评论,在BIOS中,我更改了Onboard Devices Configuration(板载设备)。U.2_2带宽从“自动”到U.2_2。这为我解决了问题。


您如何确定仅仅是芯片组?尝试过其他芯片组吗?它发生在各种各样的硬件上。
doug65536

2

我将x99-E上Bios中的PCIE16_3插槽Config更改为静态设置为x8模式,而不是自动设置为M.2设备支持的默认模式。现在,我的两个通过PCIe 1x连接到16x扩展板的1070GTX卡都没有TLP错误,现在可以正常工作。

我没有先使用端口16_3,而是移至该插槽进行测试,但在更改BIOS之前仍然遇到问题。在矿工配置中还​​将所有卡的睡眠设置更改为30。

更改之前,我的内核日志中充满了错误。还尝试对系统进行更改前后的电源循环。似乎很持久。


2

在主板手册中搜索“ AER”。您可以通过更正特定的不兼容性或完全禁用AER来消除问题的根源。仅在所有错误垃圾邮件都涉及更正的错误时才使用此功能,否则您可能掩盖了实际问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.