![Broadcom Corporation NetLink BCM57785 千兆以太网 PCIe 驱动程序 tg3 无法安装?](https://linux22.com/image/815853/Broadcom%20Corporation%20NetLink%20BCM57785%20%E5%8D%83%E5%85%86%E4%BB%A5%E5%A4%AA%E7%BD%91%20PCIe%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%20tg3%20%E6%97%A0%E6%B3%95%E5%AE%89%E8%A3%85%EF%BC%9F.png)
aries@aries-laptop:~$ sudo ifconfig eth0 up eth0:获取接口标志时出错:没有这样的设备 aries@aries-laptop:~$ lspci -nn 00:00.0 主机桥 [0600]:Advanced Micro Devices [AMD] 设备 [1022:1705] 00:01.0 VGA 兼容控制器 [0300]: ATI Technologies Inc 设备 [1002:9641] 00:01.1 音频设备 [0403]: ATI Technologies Inc 设备 [1002:1714] 00:04.0 PCI 桥 [0604]: Advanced Micro Devices [AMD] 设备 [1022:1709] 00:06.0 PCI 桥 [0604]: Advanced Micro Devices [AMD] 设备 [1022:170b] 00:11.0 SATA 控制器 [0106]: Advanced Micro Devices [AMD] 设备 [1022:7800] (rev 40) 00:12.0 USB 控制器 [0c03]: Advanced Micro Devices [AMD] 设备 [1022:7807] (rev 11) 00:12.2 USB 控制器 [0c03]: Advanced Micro Devices [AMD] 设备 [1022:7808] (rev 11) 00:13.0 USB 控制器 [0c03]: Advanced Micro Devices [AMD] 设备 [1022:7807] (rev 11) 00:13.2 USB 控制器 [0c03]: Advanced Micro Devices [AMD] 设备 [1022:7808] (rev 11) 00:14.0 SMBus [0c05]: 高级微设备 [AMD] 设备 [1022:780b] (rev 13) 00:14.2 音频设备 [0403]: Advanced Micro Devices [AMD] 设备 [1022:780d] (rev 01) 00:14.3 ISA 桥 [0601]: Advanced Micro Devices [AMD] 设备 [1022:780e] (rev 11) 00:14.4 PCI 桥 [0604]: Advanced Micro Devices [AMD] 设备 [1022:780f] (rev 40) 00:16.0 USB 控制器 [0c03]: Advanced Micro Devices [AMD] 设备 [1022:7807] (rev 11) 00:16.2 USB 控制器 [0c03]: Advanced Micro Devices [AMD] 设备 [1022:7808] (rev 11) 00:18.0 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1700] (rev 43) 00:18.1 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1701] 00:18.2 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1702] 00:18.3 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1703] 00:18.4 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1704] 00:18.5 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1718] 00:18.6 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1716] 00:18.7 主机桥 [0600]: Advanced Micro Devices [AMD] 设备 [1022:1719] 01:00.0 以太网控制器 [0200]: Broadcom Corporation NetLink BCM57785 千兆以太网 PCIe [14e4:16b5] (rev 10) 01:00.1 SD 主机控制器 [0805]: Broadcom Corporation 设备 [14e4:16bc] (rev 10) 01:00.2 系统外围设备 [0880]: Broadcom Corporation 设备 [14e4:16be] (rev 10) 01:00.3 系统外围设备 [0880]: Broadcom 公司设备 [14e4:16bf] (rev 10) 02:00.0 网络控制器 [0280]: Broadcom Corporation 设备 [14e4:4358]
答案1
在 Launchpad 中报告错误https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1005699,请参阅第 24 项以了解修复方法。讨论内容涉及内核中的 tigon3 (broadcom) 驱动程序问题。3.0.24 及以下树存在此错误,但由于 Ubuntu 现在支持 3.0.25-40 内核,因此该错误已修复。第 20 项详细介绍了如何通过从开发内核 3.4、3.3 和 3.2 开始研究发现此问题,以及如何发现 tg3_stop_block_error 的含义。这是 TSO 的问题。TSO 代表 TCP 分段卸载。
Ubuntu 12.04(非 LTS)附带的内核版本早于 3.0.25。
在 3.0.25 之前的内核中发生的事情解释如下马特·卡尔森这里
在最早支持 TSO 的设备上,TSO 是通过固件实现的。但是 TSO 不能与 ASF 管理固件共存。tg3 驱动程序通过调用 tg3_get_eeprom_hw_cfg() 来确定是否启用了 ASF,该函数会检查 NIC 内存的特定位。提交 dabc5c670d3f86d15ee4f42ab38ec5bd2682487d,标题为“tg3:移动 TSO_CAPABLE 分配”,意外地将确定 TSO 功能的代码移到了调用 tg3_get_eeprom_hw_cfg() 之前。因此,驱动程序在获得做出决定所需的所有数据之前就试图确定 TSO 功能。此补丁通过在调用 tg3_get_eeprom_hw_cfg() 后重新访问和重新评估决定来修复该问题。
sudo apt-get dist-upgrade 应该可以解决问题,因为它将安装一个较新的内核,其中包括解决此问题所需的驱动程序。