В чем причина ошибки «eth0: Transmit timeout» в dmesg?

В чем причина ошибки «eth0: Transmit timeout» в dmesg?

В системе 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

Однако на идентичной системе с идентичной картой Ethernet и идентичным Linux и идентичным ядром такой ошибки не видно. Как узнать причину этого сообщения об ошибке?

Спекуляция: Может быть, это проблемы с брандмауэром, а затем система Linux пытается что-то скопировать на другую систему? Есть ли еще какие-то проблемы, связанные с сетью?

решение1

Я не видел этого сообщения об ошибке очень давно. У вас старое оборудование/программное обеспечение?

В любом случае, трюк, чтобы заставить это работать, заключается в отключении acpi, Advanced Configuration and Power Interface. Пожалуйста, не путайте это с apic, Advanced Programmable Interrupt Controller.

Способ сделать это — изменить строку

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

в

 GRUB_CMDLINE_LINUX_DEFAULT="acpi=off ro quiet splash"

в (на моей системе Ubuntu) /etc/default/grub. В Gentoo я не знаю, но уверен, что вы можете найти что-то строго эквивалентное.

Связанный контент