执行发行版升级后服务器收到错误:tg3_stop_block超时

我在HP Server Blade ProLiant BL25p G1上运行ubuntu

做完发行版升级到oneiric im geting dpammed whit终端上的这些消息。

终端登录

如果我用sudo转换eth0接口ifconfig eth0 downi可以写我写的东西。

这就是我的dmesg的结尾

在此处输入图像描述

如果我在恢复模式下启动,我会收到此消息

在此处输入图像描述

如果我重新启动旧内核中的mashine它工作正常,任何suggjestion我如何解决这个问题?

好吧,不是说明显的,但看起来像一个内核bug。 在launchpad,bugzilla,arch中有类似的报告…

Ubuntu(最新) https://bugs.launchpad.net/ubuntu/+source/linux/+bug/545334

它似乎拿出了各种网卡,我没有找到解决方案。

Arch上可能是最有用的错误报告

https://bugs.archlinux.org/task/19369

没有解决方案,但各种发行版的各种错误报告的清单。

我建议你用kernel.org提交bug报告

http://bugzilla.kernel.org/

对于kernel.org指南,请参阅:

http://www.kernel.org/doc/man-pages/reporting_code_bugs.html

http://www.kernel.org/pub/linux/docs/lkml/reporting-bugs.html

在此期间继续使用旧内核,看看下一个内核是否修复了这个bug。

在Launchpad Bug报告https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1005699中 ,有关修复的信息,请参阅第24项。 讨论讨论了内核中的tigon3驱动程序问题。 3.0.24及以下的树有这个错误但是由于Ubuntu现在支持3.0.25-40内核,因此修复了该错误。 项目#20讨论了如何通过从开发内核3.4,3.3和3.2回溯以及如何发现tg3_stop_block_error意味着什么来发现此问题的细节。 这是TSO的一个问题。 TSO代表TCP分段卸载。

Matt Carlson在这里解释了3.0.25内核中发生的事情

在最早的TSO设备上,TSO是通过固件完成的。 但TSO不能与ASF管理固件共存。 tg3驱动程序通过调用tg3_get_eeprom_hw_cfg()来确定是否启用了ASF,后者检查NIC内存的特定位。 提交标题为“tg3:移动TSO_CAPABLE赋值”的dabc5c670d3f86d15ee4f42ab38ec5bd2682487d,意外地移动了比调用tg3_get_eeprom_hw_cfg()之前确定TSOfunction的代码。 因此,驱动程序在拥有完成决策所需的所有数据之前,正在尝试确定TSOfunction。 此补丁通过在调用tg3_get_eeprom_hw_cfg()之后重新访问并重新评估决策来解决问题。

sudo apt-get dist-upgrade应该可以解决问题。