dmesg 中出現「eth0:傳輸逾時」錯誤的原因是什麼?

dmesg 中出現「eth0:傳輸逾時」錯誤的原因是什麼?

在 gentoo Linux 系統上,dmesg輸出會重複顯示如下內容:

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
eth0: Transmit timeout, status 0c 0005 c07f media 10.
eth0: Tx queue start entry 18  dirty entry 14.
eth0:  Tx descriptor 0 is 0008a5ea.
eth0:  Tx descriptor 1 is 0008a5ea.
eth0:  Tx descriptor 2 is 0008a5ea. (queue head)
eth0:  Tx descriptor 3 is 0008a5ea.
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

的輸出ethtool -S eth0

NIC statistics:
     early_rx: 0
     tx_buf_mapped: 0
     tx_timeouts: 137
     rx_lost_in_ring: 0

但是,在具有相同乙太網路卡、相同 Linux 和相同核心的相同系統上,不會出現此類錯誤。如何找出出現此錯誤訊息的原因?

投機:可能是一些防火牆問題,然後Linux系統正在嘗試將某些內容複製到不同的系統?還有其他與網路相關的問題嗎?

答案1

我已經很久沒有看到這個錯誤訊息了。您使用的是舊硬體/軟體嗎?

無論如何,讓它工作的技巧是禁用 acpi,即高級配置和電源介面。請不要將其與高級可編程中斷控制器 apic 混淆。

實現的方法就是改變線路

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

進入

 GRUB_CMDLINE_LINUX_DEFAULT="acpi=off ro quiet splash"

在(在我的 Ubuntu 系統上)/etc/default/grub.在 Gentoo 中,我不知道,但我相信你可能會找到完全等同的東西。

相關內容