
简介这份驱动资源包面向使用博通BCM5709、BCM5716、BCM5722系列网卡的企业服务器、工作站及网络运维人员解决系统安装或升级后网卡无法识别、驱动不匹配等问题涵盖千兆、双端口千兆及万兆控制器的对应驱动程序。包体共306个文件压缩包约179.6MB包含exe安装程序、sys设备驱动、inf配置信息、txt说明文档以及bin固件等类型兼顾Windows与Linux等常见系统的安装需要。目前已有2164人学习下载常用于数据中心、企业网络环境下的驱动批量部署与故障修复。拿到后可依据系统版本与网卡型号选择对应驱动参考内置说明完成安装其中还提供mst、cab、rpm等安装包和辅助工具便于不同平台下的部署与验证帮助快速恢复稳定、高速的网络连接。1. 老服务器再就业的“最后一公里”这包博通网卡驱动到底装什么博通 BCM5709、BCM5716、BCM5722 这三颗千兆网卡芯片可能是所有“老服务器再就业”项目里最让人又爱又恨的部件Dell R710、HP DL380 G6、联想 ThinkServer 的板载网卡几乎都是它们跑 Windows Server 或者 Linux 做虚拟化都够用。可一旦系统装好发现网卡没驱动你就会撞上 Broadcom 官网登录不进去、注册账号收不到验证码的糟心事手里这包“博通 broadcom BCM570957165722 网卡驱动程序.zip”就成了最后的救命稻草。这篇笔记我按“先认卡、再选驱动、装完调参、最后验证”的顺序把这包 zip 从解压到固件刷写的完整流程讲一遍顺手把最容易翻车的几个坑也列出来。2. 先认卡再选驱动BCM5709/5716/5722 的区分与 zip 包目录对应很多人拿到 zip 的第一动作是解压双击 setup.exe结果把老 XP 驱动装到了 Server 2019 上这种翻车我见过至少三次。先花两分钟认卡比后面折腾驱动省一小时。2.1 为什么三颗芯片不能“一锅端”PCI 设备 ID 与硬件差异BCM5709、BCM5716、BCM5722 其实是三代产品。5709 是带多队列的服务器卡常见双口或四口版本PCIe x4支持 MSI-X适合虚拟化宿主机5716 主打双口故障转移很多品牌服务器的板载双口网卡就是它5722 是单口入门级PCIe x1 或 x2工作站和低端服务器里很常见。驱动下载页面说的“支持 NetXtreme 1.0”指的都是同一个 tg3/b57nd 驱动家族但真正决定驱动选择的是 PCI 设备 ID不是芯片名字。Linux 下一条命令就能确认lspci -nn | grep -i broadcom预期会看到类似这样的输出01:00.0 Ethernet controller [0200]: Broadcom Inc. and subsidiaries NetXtreme BCM5709 Gigabit Ethernet [14e4:163a]这里的14e4:163a就是“Vendor ID:Device ID”14e4是博通163a/163b/163c分别对应 5709、5716、5722。Windows 下不需要装第三方工具在设备管理器里找到带黄色感叹号的“以太网控制器”右键→属性→详细信息→硬件 ID同样能看到PCI\VEN_14E4DEV_163A这样的字符串。记下这个 ID后面选 inf 就靠它而不是靠猜芯片型号。三款芯片的关键差异我用一张表总结芯片型号PCI 设备 ID常见形态典型特性BCM570914e4:163a服务器板载双口/四口支持 MSI-X 多队列、硬件 TSO/LRO 卸载BCM571614e4:163b服务器板载双口双口冗余、故障转移BCM572214e4:163c工作站/入门服务器单口单队列为主功耗低表格里的设备 ID 是识别硬件的锚点。有些 OEM 定制卡会把子系统 ID 改成厂商自己的编号但 VEN/DEV 这两个主 ID 不会变所以哪怕设备显示“Dell 定制网卡”你按14e4:163a去找驱动依然有效。2.2 解压 zip 后怎么找对目录和 inf大多数为 BCM57xx 系列打包的驱动 zip里面会按平台分目录常见的有NDIS5/、NDIS6/、NDIS62/、Win7/、Win2012/、DosTools/这类命名。NDIS5 对应 Windows XP / Server 2003NDIS6 对应 Vista / Server 2008NDIS62 对应 Win7 / Server 2008 R2Win10 / Server 2016 以上要用 NDIS6.30 或 NDIS6.40 的驱动。老一些的 zip 包里可能只有 NDIS5 和 NDIS6想装到新系统上就得额外找对应的新版驱动硬装旧版大概率出问题。判断某个 inf 是否认这块卡最靠谱的方法是直接在 inf 文件里搜设备 ID。假设包里有b57nd60x.inf在 Windows 的 cmd 里findstr VEN_14E4DEV_163A D:\drv\bcm57\b57nd60x.inf如果没有任何输出说明这个 inf 不包含 5709换目录里另一个 inf 再看。搜索时建议把163A/163B/163C都搜一遍因为同一个 inf 通常同时声明支持这三块卡。找不到匹配项就不用浪费时间了要么换包要么走厂商 OEM 驱动库。这里有个容易被忽略的点zip 里的Setup.exe不一定只会装网卡驱动有些包会连带装 Broadcom Advanced Control SuiteBACS全家桶。BACS 在旧系统上做 VLAN 和 Teaming 很方便但在新系统上兼容性很差经常装完反而把网络配置搞乱。所以我更习惯跳过 setup.exe直接用 pnputil 或者设备管理器手动喂 inf系统要什么就给什么。2.3 Linux 侧其实不用选驱动但要选固件Linux 这边省心得多BCM5709/5716/5722 全部由内核自带的tg3驱动自动匹配不需要像 Windows 那样手动选 inf。但这不代表零配置tg3 在加载时要读取网卡的固件文件如果系统安装时没带linux-firmware包或者固件目录里缺文件网卡就会“有设备、没链路”甚至dmesg里直接报缺失固件。这个问题在精简安装的 Debian 和 CentOS 上非常常见我见过不止一次“明明系统里能 lspci 看到网卡但 ip link 怎么都没有 eth0”的案例最后都是补装固件包解决的。所以拿到这包 zip 后别急着在 Linux 里找对应文件夹先把lsmod | grep tg3和dmesg | grep tg3看一眼确认驱动和固件状态再决定要不要处理。这一步放在第 4 章细说这里先记住一句话不给 tg3 喂固件网卡就摆烂。3. 在 Windows Server 上离线装网卡驱动pnputil 静默导入与三个必调属性老服务器机房管理员的典型场景是系统都装好了网卡没驱动机器上不了外网。这时候手边这个 zip 的用法跟普通双击安装不一样你得用本地 PnP 工具把它导入系统驱动库再让系统认卡。3.1 用 pnputil 把驱动“喂”进系统驱动库先把 zip 解压到一个固定目录注意路径不要有空格和中文老驱动对路径空格的处理不太稳定容易在安装中途报文件找不到。然后以管理员身份打开 cmdcd /d D:\drv\bcm57 pnputil /add-driver b57nd60x.inf /install如果 zip 里子目录非常多想一次性递归扫描可以加上/subdirspnputil /add-driver D:\drv\bcm57\*.inf /subdirs /installpnputil 参数作用使用建议/add-driver把 inf 及其驱动文件加入系统驱动库必须项/install对匹配的设备立即安装驱动需要新设备生效时使用/subdirs递归扫描子目录中的全部 inf目录结构复杂的包建议加/reboot安装完成后重启不常用重启可以在业务窗口做这条命令背后的逻辑是把 inf 复制到C:\Windows\System32\DriverStore\FileRepository在服务里注册驱动再把对应的 sys 文件拷到系统目录最后通知即插即用管理器枚举设备。比起设备管理器的“更新驱动”向导pnputil 更适合批量重装场景也更容易看到具体错误信息。我曾经在一台 Server 2016 上手动点设备管理器装了半天装不上换 pnputil 一条命令就认了网卡区别就在于系统有没有把驱动真正放进 DriverStore。常见失败是装完网卡出现了但显示“此设备无法启动代码 10”。这个大概率是 inf 选对了但 sys 文件选错平台比如在 64 位系统上强制指定了 x86 目录里的驱动。解决方法是回到解压目录找到x64或Win2012这类明确标注的目录重新 pnputil 一次。3.2 设备管理器手动指定 inf 的三个注意点如果 pnputil 不顺手或者你想看着界面一步步来GUI 法也可以但要注意三个细节。先解压 zip 并记住目录位置然后在设备管理器里找到带感叹号的以太网控制器右键“更新驱动程序”选“浏览我的电脑以查找驱动程序”再选“让我从计算机上的可用驱动程序列表中选取”。第一一定勾选“显示兼容硬件”让系统按设备 ID 过滤否则列表里会塞满所有网络设备的驱动你手动选到 XP 驱动的概率极高。第二如果列表是空的说明当前 inf 里没有匹配你这个设备 ID 的条目换目录里另一个 inf 重来死磕没有意义。第三如果服务器有带外管理口比如 iLO 或 iDRAC建议先把远程 KVM 会话打开再操作因为装驱动过程中网卡会短暂断开远程 SSH 很容易直接掉线。3.3 驱动装完先做两件事关节能、开巨型帧很多老网卡默认开启“允许计算机关闭此设备以节约电源”在不稳定的供电机房环境里会随机断网现象就是“IP 还在但其他机器 ping 不通”。用 PowerShell 把电源管理关掉Set-NetAdapterPowerManagement -Name 以太网 -AllowComputerToTurnOffDevice Disabled Set-NetAdapterAdvancedProperty -Name 以太网 -DisplayName Flow Control -DisplayValue Rx Tx Enabled Set-NetAdapterAdvancedProperty -Name 以太网 -DisplayName Jumbo Packet -DisplayValue 9014这三条命令分别对应“关闭节能断电”“开启流控”“开启巨型帧”。要注意巨型帧不是无脑开交换机的对应端口也得开 9000否则全链路 MTU 不一致表现为大文件拷贝没问题但 ping 带大包直接不通。如果你只是跑常规业务1514默认值就好内网 NAS 备份场景开 9014 能明显降低 CPU 占用。驱动装好后建议顺手确认一下高级属性的队列设置属性名推荐值说明Jumbo Packet9014 或 4088需交换机端口同步开启Flow ControlRx Tx Enabled大流量下减少丢包RSS Queues4 或 8多核系统提升收包并发Wake on Magic PacketDisabled服务器上建议关闭避免误唤醒BCM5709 在 Server 2012 以上版本可以开启多队接收缩放RSS对多核负载有明显帮助BCM5722 一般只有两个队列设太高不生效。如果机器上有多块网卡要做链路聚合优先用系统原生的 NIC Teaming而不是老的 BACSNew-NetLbfoTeam -Name Team1 -Members 以太网,以太网 2 -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic老 BACS 在 Win10 和 Server 2016 以上的兼容性差能不用就不用。4. 在 Linux 下把 tg3 网卡跑满固件检查、模块参数与 ethtool 实测Linux 这边比 Windows 省心BCM5709/5716/5722 由内核自带的 tg3 驱动统一接管不需要手动装 inf。但如果你直接装一个精简版系统大概率会遇到网卡不亮或者只有 100Mbps 的问题这个锅通常不是驱动而是缺固件和节能参数没关。4.1 先看驱动是否真的加载了装完系统后第一件事看驱动和固件状态lsmod | grep tg3 dmesg | grep tg3 | tail -20 ethtool -i eth0ethtool -i的输出重点看两个字段driver: tg3说明内核驱动已加载firmware-version有值说明固件正常。如果dmesg里出现类似Direct firmware load for tigon/tg3_tso.bin failed的报错就是内核找不到网卡固件链路状态会时好时坏。解决办法是安装发行版官方固件包# Debian / Ubuntu apt update apt install linux-firmware -y # RHEL / CentOS dnf install linux-firmware -y装完重启或者手动重新加载驱动modprobe -r tg3 modprobe tg3注意modprobe -r会断开当前网卡连接远程操作机器要小心把自己关在门外。固件文件其实很小通常被放在/lib/firmware/tigon/下文件名以tg3_tso.bin、tg3_tso5.bin为主。不要从网上找来路不明的固件单独放入直接装发行版固件包最稳内核与固件版本之间是配套的。4.2 关掉节能tg3 模块参数与 EEE/ASPM老 tg3 驱动有个经典毛病默认开启 Smart Power Down 智能断电机制机器温度低时网卡自己进入低功耗状态表现就是长时间空闲后第一发 ping 要等几秒甚至干脆掉链路。杀招是显式关闭cat /etc/modprobe.d/tg3.conf EOF options tg3 tg3_smart_power_down0 EOF update-initramfs -u不是所有内核版本都有这个参数先查一下modinfo -p tg3如果模块参数列表里没有tg3_smart_power_down就不用写这个配置文件改为关闭 EEE节能以太网和 ASPM 链路节能ethtool --set-eee eth0 eee off # 另一个角度是进 BIOS把 PCIe 电源策略改成 Performance这些参数属于“按需关闭”关掉后会多一点点功耗但能换来链路稳定。对于一台 7×24 小时跑的服务器稳定比省那几瓦重要得多。4.3 ethtool 调三件套Ring Buffer、中断合并与 TSO 开关老网卡驱动默认的 Ring Buffer 一般是 128 或 256突发流量一上来rx_dropped就开始涨。先看当前值ethtool -g eth0把收发缓冲提到 1024ethtool -G eth0 rx 1024 tx 1024Ring Buffer 是网卡 DMA 的环形缓存调大后抗突发能力更强代价是延迟略增。虚拟化宿主机建议 1024普通桌面或轻业务 512 足够不用贪大。中断合并是影响带宽和延迟的另一组旋钮ethtool -c eth0 ethtool -C eth0 rx-usecs 64 tx-usecs 64rx-usecs表示网卡攒多少微秒才触发一次中断。调小会让延迟降低但 CPU 中断频率上升调大则吞吐更稳延迟变高。老服务器默认参数时好时坏64 微秒是温和的起点要低延迟再压到 16 微秒但要观察 CPU 占用会不会涨太多。最后是 TSO/GRO/GSO 的开关ethtool -K eth0 tso on gso on gro on1Gbps 网卡开 TSO 能把大包分片卸载到网卡显著省 CPU。但如果你用 tcpdump 抓包发现发送 1MB 数据全是 64KB 大包不用惊讶这是 TSO 在正常工作不是驱动 bug。反过来如果你在做延迟敏感的业务或者排查奇怪丢包可以先临时关掉 TSO 试试对比效果。常用 ethtool 指令我做了张速查表命令作用常用取值ethtool -i eth0查看驱动与固件版本driver/firmwareethtool -g eth0查看 Ring Buffer 当前值记录旧值再修改ethtool -G eth0 rx 1024 tx 1024调大 DMA 环形缓存512/1024ethtool -c eth0查看中断合并参数参考 rx-usecsethtool -C eth0 rx-usecs 64设置中断合并16-128 微秒ethtool -K eth0 tso off开关硬件卸载排错时临时关闭ethtool -l eth0查看队列数Combined 最大值ethtool -L eth0 combined 4设置多队列按 CPU 核数设BCM5709 因为支持 MSI-X一般可以开到 4 到 8 个队列5722 通常只有一个 Combined 队列设了也不生效先跑ethtool -l eth0确认再动手。systemd 的.network文件里原生只能声明式设置 MTU 和 WakeOnLanRing Buffer 这类参数没法配置所以我是把 ethtool 命令直接写进/etc/rc.local或者做成一个 systemd oneshot 服务保证重启后参数还在。5. 避坑与排查老博通网卡翻车的五个高发场景这章是我最想写的部分。老网卡驱动安装本身不难难的是各种来源的包、各种系统的策略和旧硬件的固件问题交织在一起。以下五个场景都来自真实踩坑每条按“现象 → 原因 → 解决”展开。5.1 官网注册验证码收不到换邮箱、等同步、走 OEM 库现象想上 Broadcom 官网下载驱动结果 support 页面跳来跳去注册账号后邮箱一直收不到验证码页面上反复提示“broadcom 无法登录”项目卡在第一天。原因Broadcom 账号体系经历过多次迁移老账号数据和新建门户数据库是分阶段合并的触发邮件的延迟可能长达十几分钟企业邮箱的 SPF/DMARC 策略会直接丢弃这类激活邮件尤其是公司域名邮箱还有些账号在旧系统里已经存在但没激活过新门户不会重复发激活链接。解决换个人邮箱注册Gmail、Outlook 这类大厂邮箱成功率高很多已经注册但收不到验证码的先查垃圾箱再等 15 分钟点“重新发送”如果公司有合法采购合同就走企业账号入口别拿个人邮箱去撞。如果只是想装驱动优先去服务器品牌Dell、HP、Lenovo的 OEM 驱动库按型号下载对应版本的驱动OEM 定制版通常和板卡更匹配也不用注册 Broadcom 账号。你手上这个 zip 如果来自内网共享或同事备份先核对包里的 ReadMe 和版本号别急着双击 Setup.exe来源不明的驱动包要先杀毒并确认数字签名。5.2 黄色感叹号“代码 31 / 56”驱动选错或没签名现象Windows 更新驱动后网卡在设备管理器显示黄色感叹号属性里报“设备无法启动代码 10”或“指定了不存在的设备代码 31”。原因最常见的是手滑把 XP 时代专用的 NDIS5 驱动指给了 Win10也可能是 zip 里的驱动没有 WHQL 签名Win10 / Server 2016 以上直接拒绝加载。解决回到“更新驱动 → 让我从计算机上的可用驱动程序列表中选取 → 显示兼容硬件”选当前系统下的正确 inf。如果列表为空说明这个 inf 不包含当前设备 ID换一个 inf 文件。签名问题可以用临时方案应急重启时进高级启动菜单选“禁用驱动程序强制签名”这次引导有效重启后失效生产服务器不要长期依赖这种状态。真正要根治还是得从 OEM 驱动库拿对应系统的已签名驱动包。未签名的驱动在 Windows 更新后也可能被系统自动清理掉装完不要太得意。5.3 Linux 下千兆协商成百兆速度卡在 94Mbps现象tg3 驱动加载正常dmesg干净但网卡自协商到 100Mbps内网拷文件速度只有 11MB/s怎么调 iperf3 都上不去。原因物理层问题排在第一位。网线八芯只通了四芯或者水晶头压接虚接其次是交换机端口被限速到 100M最后才是驱动节能策略在协商时偷懒。解决先手动强制千兆双工ethtool -s eth0 speed 1000 duplex full autoneg on如果强制后链路直接 down说明线或对端端口不支持千兆换线、换交换机端口如果强制后正常再把对端交换机端口也改成强制 1000/full避免两侧自动协商结果不一致。还要顺手关掉 EEE 和 ASPM 再测一轮我用ethtool --set-eee eth0 eee off解决过一台机器“协商正常但速度上不去”的怪问题。注意强制修改链路参数会影响线上业务先选业务低峰再动。5.4 想让老卡跑 ESXi 7/8注入 tg3 vIB 前的确认现象给老服务器装 ESXi 7.0安装界面存储都正常就是网络适配器列表为空无法继续安装。原因定制 ISO 里没有打包 tg3 驱动VIB或者主板 BIOS 里板载网卡的启动选项被设成了 Disabled。解决先在 BIOS 里确认网卡开启、且引导顺序里能看到 PXE 选项再用 PowerCLI 把 tg3 社区或 OEM 提供的离线 bundle 注入安装镜像或者对已装好的 ESXi 用命令行补esxcli software vib install -d /tmp/offline-bundle.zip -f需要先切换维护模式。BCM5709 这类老卡早就不在 VMware HCL 列表里了即便 vIB 能装上、网卡能认出来也只建议用于实验室和测试环境生产关键负载还是换一块在 HCL 列表内的网卡更稳妥不要为了省一块网卡钱去赌虚拟化平台的兼容边界。5.5 固件工具翻车纯 DOS 才能刷刷一半断电就是砖头现象用 zip 里带的 DOS 工具刷新网卡 EEPROM屏幕上 “Erase/Program” 正跑着停电或者误重启之后系统再也认不到这张网卡带外管理里也看不到 NIC。原因DOS 工具必须在纯 DOS 环境下执行。UEFI 引导或内存盘不稳定都可能让写入中断EEPROM 写一半校验失败后网卡固件引导区直接损坏。解决用 Rufus 把 U 盘做成 FreeDOS FAT16 启动盘不要放太多无关文件进 DOS 后先记录当前固件版本执行刷新工具时严格按提示确认整个擦写过程绝对不要断电或按键。刷新前如果 BIOS 里有网卡 ROM 开关先留一份原固件备份。这里只提醒一句话固件没坏就别手痒去刷。6. 驱动装好后先做三件事用计数和双向带宽验证把参数固化下来驱动装完不等于结束我一般会按顺序做三件事确认参数真的生效并且重启后不会丢。先看统计计数。Linux 下ethtool -S eth0 | grep -E tx_dropped|rx_dropped|rx_error|tx_error正常情况下这些值应该是 0 或者长期不变。如果rx_dropped持续增长回到第 4 章的 Ring Buffer 调参去解决。Windows 下对应命令是Get-NetAdapterStatistics -Name 以太网 | Select ReceivedDiscards, OutboundDiscards丢弃计数快速增长第一个要查的是巨型帧有没有全链路一致。再看双向带宽。服务器上先起 iperf3iperf3 -s -p 5201 -i 1客户端打流iperf3 -c 192.168.1.10 -p 5201 -t 60 -P 4 -i 5测完反过来跑一遍因为老网卡的收发路径可能不对称。1Gbps 有线链路TCP 正常能到 930 到 950Mbps 左右如果卡在 500Mbps 上不去基本可以锁定是协商或 Ring Buffer 问题。最后把参数固化。Linux 下手动 ethtool 设置重启就丢写进/etc/rc.local最直观ethtool -G eth0 rx 1024 tx 1024 ethtool -C eth0 rx-usecs 64 tx-usecs 64Windows 下高级属性本身在注册表驱动键里持久化但电源管理开关建议用开机脚本再跑一次防止组策略把它改回去。我自己的习惯是每装完一台老服务器把 zip 的文件名、解压后的 inf 名、用的 ethtool 参数、系统版本、固件版本一起记进运维表顺便算好 zip 原文件的 SHA256。这样半年后网卡再出问题不用再走一遍“官网登录不上、驱动包找不到”的流程。希望帮到你。本文还有配套的精品资源点击获取