다음 오류 메시지가 표시됩니다.
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
이러한 문제가 (지금까지) 수정되었더라도 성능 저하가 발생할 수 있습니다. 분명히 이 문제는 해결되어야 합니다. 하지만 인터넷에서는 이에 대한 정보를 많이 찾을 수 없었습니다. (어쩌면 내가 잘못된 곳을 찾고 있을지도 모릅니다.) 몇 개의 링크만 찾았는데, 아래에 게시하겠습니다.
이 오류에 대해 더 자세히 아는 사람이 있나요?
마더보드입니까, Samsung 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)가 언급되어 있습니다. 저는 아치 리눅스를 사용하고 있습니다.
지금까지 Journalctl이나 검색하려는 다른 곳에서는 "8086:6f08" 문자열을 찾지 못했습니다.
nvme ssd 관련 이상한 오류 메시지(잘못된 TLP): linuxquestionshttps://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/
잘못된 TLP PCIe 버스 오류가 발생하는 GTX 1080 - GeForce Forumshttps://forums.geforce.com/default/topic/957456/gtx-1080-throwing-bad-tlp-pcie-bus-errors/
드라이버 - dmesg 로그의 PCIe 오류 - Ubuntu Q&Ahttps://askubuntu.com/questions/643952/pcie-error-in-dmesg-log
780Ti X99 하드 잠금 - PCIE 오류 - NVIDIA 개발자 포럼 https://devtalk.nvidia.com/default/topic/779994/linux/780ti-x99-hard-lock-pcie-errors/
답변1
무슨 일이 일어나고 있는지 완전히 설명할 수는 없지만 최소한 몇 가지 세부 정보는 제공할 수 있습니다.
예를 들어 설명된 대로여기, CPU는 다음과 같은 방식으로 PCIe 버스 컨트롤러와 통신합니다.트랜잭션 계층 패킷(TLP). 하드웨어는 오류 발생을 감지하고 Linux 커널은 이를 메시지로 보고합니다.
커널 옵션은 pci=nommconf
커널 2.6부터 Linux에서 사용할 수 있는 메모리 매핑 PCI 구성 공간을 비활성화합니다. 대략적으로 말하면, 모든 PCI 장치에는 장치를 설명하는 영역이 있습니다(보시다시피 lspci -vv
). 해당 영역에 액세스하는 원래 방법은 I/O 포트를 통하는 것이며, PCIe를 사용하면 더 쉽게 액세스할 수 있도록 이 공간을 메모리에 매핑할 수 있습니다.
이는 이 특별한 경우에무엇PCIe 컨트롤러가 이 방법을 사용하여 특정 장치의 구성 공간에 액세스하면 오류가 발생합니다. 이는 장치의 하드웨어 버그, 마더보드의 PCIe 루트 컨트롤러의 하드웨어 버그, 둘 사이의 특정 상호 작용의 하드웨어 버그 등일 수 있습니다.
을 사용하면 pci=nommconf
모든 장치의 구성 공간이 원래 방식으로 액세스됩니다. 액세스 방법을 변경하면 이 문제를 해결할 수 있습니다. 따라서 원하는 경우 문제를 해결하고 억제할 수 있습니다.
답변2
동일한 오류가 발생합니다(8086:6f08 장치와 관련된 잘못된 TLP). 저는 X99 Deluxe II, Samsung 960 pro, Nvidia 1080 ti를 가지고 있습니다. 이러한 문제는 X99 칩셋 및 Samsung Pro와 같은 M.2 장치와 관련된 것으로 보입니다.
X99 Deluxe II 마더보드는 PCIE16_3 슬롯과 M.2/U.2 간에 대역폭을 공유합니다. @Nic의 의견에 따라 BIOS에서 온보드 장치 구성 | U.2_2 대역폭을 자동에서 U.2_2로 변경했습니다. 이것은 내 문제를 해결했습니다.
답변3
커널 명령줄 옵션을 추가하면 pci=nommconf
문제가 해결되었습니다. 그래서 문제는 메인보드에 있는 것 같아요. 그 일이 일어났어모두내 컴퓨터에는 X99 마더보드가 있습니다. Z170 시스템이나 제가 가지고 있는 다른 하드웨어에서는 이런 일이 발생하지 않습니다.
답변4
x99-E의 Bios에서 PCIE16_3 슬롯 구성을 기본 M.2 장치 지원 자동 모드 대신 x8 모드로 정적으로 설정하도록 변경했습니다. PCIe 1x~16x 확장 보드를 통해 연결된 2개의 1070GTX 카드가 이제 TLP 오류 없이 제대로 작동합니다.
포트 16_3을 먼저 사용하지 않고 테스트를 위해 해당 슬롯으로 이동했지만 BIOS를 변경하기 전에 여전히 문제가 있었습니다. 또한 광부 구성에서 모든 카드의 bsleep 설정을 30으로 변경했습니다.
변경하기 전에는 커널 로그에 오류가 가득했습니다. 또한 변경 전후에 시스템을 다시 시작해 보았습니다. 꽤 끈질긴 것 같습니다.