黑屏,AMD GPU 和服务器主板出现 PCIe 错误

黑屏,AMD GPU 和服务器主板出现 PCIe 错误

我们小组有一个工作站,配有 KNPA-U16 主板和 AMD RX560 GPU,大多数时候都可以正常工作。操作系统是 Kubuntu 20.04,内核版本为 5.8.0-59。

现在,当我们一段时间不使用工作站,然后尝试在它前面访问它时,问题就出现了。行为如下:屏幕显示一小段时间(在 ~0-10 秒之间变化),然后变黑。正如所说,时间会有所不同,我曾经甚至能够在屏幕变黑之前登录。在那次事件之后,再也无法唤醒它了。不过它可以通过 ssh 访问。

内核日志显示以下内容:

09:27:51 PC3 kernel: [165861.461855] {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 4  
09:27:51 PC3 kernel: [165861.461858] {1}[Hardware Error]: event severity: info  
09:27:51 PC3 kernel: [165861.461860] {1}[Hardware Error]:  Error 0, type: fatal  
09:27:51 PC3 kernel: [165861.461861] {1}[Hardware Error]:  fru_text: PcieError  
09:27:51 PC3 kernel: [165861.461862] {1}[Hardware Error]:   section_type: PCIe error  
09:27:51 PC3 kernel: [165861.461863] {1}[Hardware Error]:   port_type: 4, root port  
09:27:51 PC3 kernel: [165861.461864] {1}[Hardware Error]:   version: 0.2  
09:27:51 PC3 kernel: [165861.461866] {1}[Hardware Error]:   command: 0x0407, status: 0x0010  
09:27:51 PC3 kernel: [165861.461867] {1}[Hardware Error]:   device_id: 0000:20:03.1  
09:27:51 PC3 kernel: [165861.461868] {1}[Hardware Error]:   slot: 7  
09:27:51 PC3 kernel: [165861.461868] {1}[Hardware Error]:   secondary_bus: 0x23  
09:27:51 PC3 kernel: [165861.461869] {1}[Hardware Error]:   vendor_id: 0x1022, device_id: 0x1453  
09:27:51 PC3 kernel: [165861.461870] {1}[Hardware Error]:   class_code: 060400  
09:27:51 PC3 kernel: [165861.461871] {1}[Hardware Error]:   bridge: secondary_status: 0x2000, control: 0x001a  
09:27:51 PC3 kernel: [165861.461872] {1}[Hardware Error]:   aer_uncor_status: 0x00000000, aer_uncor_mask: 0x04500000  
09:27:51 PC3 kernel: [165861.461873] {1}[Hardware Error]:   aer_uncor_severity: 0x004e2030  
09:27:51 PC3 kernel: [165861.461874] {1}[Hardware Error]:   TLP Header: 00000000 00000000 00000000 00000000  
09:27:51 PC3 kernel: [165861.461933] pcieport 0000:20:03.1: AER: aer_status: 0x00000000, aer_mask: 0x04500000  
09:27:51 PC3 kernel: [165861.461939] pcieport 0000:20:03.1: AER: aer_layer=Transaction Layer, aer_agent=Receiver ID  
09:27:51 PC3 kernel: [165861.461941] pcieport 0000:20:03.1: AER: aer_uncor_severity: 0x004e2030  
09:27:51 PC3 kernel: [165861.461945] amdgpu 0000:23:00.0: AER: can't recover (no error_detected callback)  
09:27:51 PC3 kernel: [165861.461947] snd_hda_intel 0000:23:00.1: AER: can't recover (no error_detected callback)  
09:27:52 PC3 kernel: [165862.485806] pcieport 0000:20:03.1: AER: Root Port link has been reset  
09:27:52 PC3 kernel: [165862.485854] pcieport 0000:20:03.1: AER: device recovery successful   
09:28:02 PC3 kernel: [165866.837702] [drm:amdgpu_dm_commit_planes.constprop.0 [amdgpu]] *ERROR* Waiting for fences timed out!  
09:28:02 PC3 kernel: [165872.219438] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=841906, emitted seq=841908  
09:28:02 PC3 kernel: [165872.219526] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process sddm-greeter pid 88965 thread sddm-greet:cs0 pid 88969  
09:28:02 PC3 kernel: [165872.219534] amdgpu 0000:23:00.0: amdgpu: GPU reset begin!  
09:28:02 PC3 kernel: [165872.219865] amdgpu:   
09:28:02 PC3 kernel: [165872.219865]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219870] amdgpu:   
09:28:02 PC3 kernel: [165872.219870]  failed to send message 281 ret is 65535   
09:28:02 PC3 kernel: [165872.219879] amdgpu:   
09:28:02 PC3 kernel: [165872.219879]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219883] amdgpu:   
09:28:02 PC3 kernel: [165872.219883]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219887] amdgpu:   
09:28:02 PC3 kernel: [165872.219887]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219890] amdgpu:   
09:28:02 PC3 kernel: [165872.219890]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219894] amdgpu:   
09:28:02 PC3 kernel: [165872.219894]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219897] amdgpu:   
09:28:02 PC3 kernel: [165872.219897]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219901] amdgpu:   
09:28:02 PC3 kernel: [165872.219901]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219905] amdgpu:   
09:28:02 PC3 kernel: [165872.219905]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219909] amdgpu:   
09:28:02 PC3 kernel: [165872.219909]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219912] amdgpu:   
09:28:02 PC3 kernel: [165872.219912]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219916] amdgpu:   
09:28:02 PC3 kernel: [165872.219916]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219919] amdgpu:   
09:28:02 PC3 kernel: [165872.219919]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219923] amdgpu:   
09:28:02 PC3 kernel: [165872.219923]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219926] amdgpu:   
09:28:02 PC3 kernel: [165872.219926]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219930] amdgpu:   
09:28:02 PC3 kernel: [165872.219930]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219933] amdgpu:   
09:28:02 PC3 kernel: [165872.219933]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219937] amdgpu:   
09:28:02 PC3 kernel: [165872.219937]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219940] amdgpu:   
09:28:02 PC3 kernel: [165872.219940]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219944] amdgpu:   
09:28:02 PC3 kernel: [165872.219944]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219947] amdgpu:   
09:28:02 PC3 kernel: [165872.219947]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219951] amdgpu:   
09:28:02 PC3 kernel: [165872.219951]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219954] amdgpu:   
09:28:02 PC3 kernel: [165872.219954]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219958] amdgpu: 
09:28:02 PC3 kernel: [165872.219958]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219961] amdgpu:   
09:28:02 PC3 kernel: [165872.219961]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219965] amdgpu:   
09:28:02 PC3 kernel: [165872.219965]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219968] amdgpu:   
09:28:02 PC3 kernel: [165872.219968]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219972] amdgpu:   
09:28:02 PC3 kernel: [165872.219972]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219975] amdgpu:   
09:28:02 PC3 kernel: [165872.219975]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219978] amdgpu:   
09:28:02 PC3 kernel: [165872.219978]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219981] amdgpu:   
09:28:02 PC3 kernel: [165872.219981]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219985] amdgpu:   
09:28:02 PC3 kernel: [165872.219985]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219988] amdgpu:   
09:28:02 PC3 kernel: [165872.219988]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.219992] amdgpu:   
09:28:02 PC3 kernel: [165872.219992]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.219995] amdgpu:   
09:28:02 PC3 kernel: [165872.219995]  failed to send message 261 ret is 65535   
09:28:02 PC3 kernel: [165872.220169] amdgpu:   
09:28:02 PC3 kernel: [165872.220169]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.220173] amdgpu:   
09:28:02 PC3 kernel: [165872.220173]  failed to send message 306 ret is 65535   
09:28:02 PC3 kernel: [165872.220175] amdgpu:   
09:28:02 PC3 kernel: [165872.220175]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.220179] amdgpu:   
09:28:02 PC3 kernel: [165872.220179]  failed to send message 5e ret is 65535   
09:28:02 PC3 kernel: [165872.220183] amdgpu:   
09:28:02 PC3 kernel: [165872.220183]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.220186] amdgpu:   
09:28:02 PC3 kernel: [165872.220186]  failed to send message 145 ret is 65535   
09:28:02 PC3 kernel: [165872.220190] amdgpu:   
09:28:02 PC3 kernel: [165872.220190]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.220195] amdgpu:   
09:28:02 PC3 kernel: [165872.220195]  failed to send message 146 ret is 65535   
09:28:02 PC3 kernel: [165872.220200] amdgpu:   
09:28:02 PC3 kernel: [165872.220200]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.220203] amdgpu:   
09:28:02 PC3 kernel: [165872.220203]  failed to send message 148 ret is 65535   
09:28:02 PC3 kernel: [165872.220207] amdgpu:   
09:28:02 PC3 kernel: [165872.220207]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.220210] amdgpu:   
09:28:02 PC3 kernel: [165872.220210]  failed to send message 145 ret is 65535   
09:28:02 PC3 kernel: [165872.220215] amdgpu:   
09:28:02 PC3 kernel: [165872.220215]  last message was failed ret is 65535  
09:28:02 PC3 kernel: [165872.220219] amdgpu:   
09:28:02 PC3 kernel: [165872.220219]  failed to send message 146 ret is 65535   
09:28:22 PC3 kernel: [165892.248439] [drm:atom_op_jump [amdgpu]] *ERROR* atombios stuck in loop for more than 20secs aborting  
09:28:22 PC3 kernel: [165892.248505] [drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing D8DE (len 824, WS 0, PS 0) @ 0xDA5E  
09:28:22 PC3 kernel: [165892.248569] [drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing D798 (len 326, WS 0, PS 0) @ 0xD888  
09:28:22 PC3 kernel: [165892.248664] [drm:dce110_link_encoder_disable_output [amdgpu]] *ERROR* dce110_link_encoder_disable_output: Failed to execute VBIOS command table!  

我们已经遇到这个问题很长时间了(约 1 年,在 SMBIOS 事件日志中可见),并尝试了一些方法:

  • 将显卡从 PCIe 插槽中取出并重新插入
  • 安装新内核
  • 安装 amdgpu 专有驱动程序
  • 关闭 Kubuntu 中的所有睡眠设置,我们可以找到
  • 使用 pcie_aspm=off
  • 使用不同的屏幕(DVI/显示端口)
  • 更改一些与 PCIe 相关的 BIOS 设置

然而,我们所做的似乎什么都没改变。这个问题之所以如此难以解决,是因为它只有在电脑一段时间不使用时才会出现。所以测试任何东西都很麻烦。

有人知道错误可能是什么或者我们可以根据日志从哪里开始查找吗?


更新我们在另一台装有 Windows 的 PC 上测试了显卡,它运行良好。之后我们在同一台 PC 上安装了 Win 10,它也运行正常。所以它似乎是 GPU + 主板 + KDE neon 的组合。Linux 似乎允许某种与主板不太相配的节能状态。然而,我们搜索了很多,没有找到任何我们没有关闭的休眠选项。

相关内容