10Gb/s以太网:切换至Broadcom SFP+模块
摘要
一篇个人博客文章详细介绍了如何将发热严重的基于Marvell的10GBASE-T SFP+模块更换为更凉爽的基于Broadcom的10Gtek模块,以解决家庭10Gb/s以太网设置中的过热和网络抖动问题。
暂无内容
查看缓存全文
缓存时间: 2026/06/16 23:36
# 10Gb/s 以太网:更换为博通 SFP+ 模块
来源:https://www.gilesthomas.com/2026/06/10g-ethernet-switching-to-broadcom-sfp-plus
存档
分类
博客链接
发布于 2026年6月16日 (https://www.gilesthomas.com/2026/06/) 栏目:技术记录 (https://www.gilesthomas.com/til), 数码产品 (https://www.gilesthomas.com/gadgets)
今年四月 (https://www.gilesthomas.com/2026/04/10g-ethernet-what-i-did),我把家里的局域网升级到了 10Gb/s。墙内布线是 CAT-6 或同类线缆,所以我只能使用 10GBASE-T。现在,我用的路由器和书房里的交换机都通过 SFP+ 接口提供 10Gb/s 连接;这意味着它们需要 10GBASE-T 的 SFP+ 模块才能连接。
这类模块以发热严重著称——有时甚至热到无法正常工作。路由器 `reggie` 里的模块看起来运行正常(参见上文链接中的图表),但书房交换机 `nigel` 里的那个模块温度高达 93°C,令人担忧。我试着给它贴上了一些迷你散热片 (https://www.gilesthomas.com/2026/05/10g-ethernet-sfpplus-mini-heatsinks),似乎有点效果。但天气越来越热,最终模块还是过热了。我在书房里断开了互联网连接,查看指标后看到了这个:
Nigel 的 10GBASE-T SFP+ 模块发生抖动
可以看到它在“抖动”:温度升高到模块为了保护自己而关机的水平——大概是 95°C——然后当它恢复后,又会重新开启,温度再次上升,如此循环。
我可以通过打开书房的空调来临时解决这个问题。但通常我只在人在的时候才开空调,为了保持网络正常运行而让空调 24/7 全天候开着,感觉并不是一个好办法。
是时候换一个更节能的 SFP+ 模块了。
我最初那篇关于 10Gb/s 的文章在 Hacker News (https://news.ycombinator.com/item?id=47947944) 上引发了大量讨论,用户 `xxpor` (https://news.ycombinator.com/item?id=47966634) 提到 10GBASE-T SFP+ 模块有两代:使用 Marvell 芯片的旧款和使用 Broadcom 芯片的新款。ServeTheHome 论坛 (https://forums.servethehome.com/index.php?threads/10gb-ethernet-linux-router-thermals.54950/post-502969) 上的用户 `blunden` 也指出了同样的问题。基于 Marvell 的模块以发热著称,他们俩都建议找基于 Broadcom 的模块。
我确认了 `nigel` 中使用的 MikroTik S+RJ10 (https://mikrotik.com/product/s_rj10) 确实是 Marvell 芯片的,所以解决办法很简单:换一个更好的。于是我去亚马逊上买了一个 10Gtek ASF-10G-T80-INT (https://www.amazon.es/-/pt/dp/B0BVVYSSZ5?th=1)。查看了 10Gtek 关于该模块的官方页面 (https://store.10gtek.com/10gbase-t-10g-sfp-80m-copper-rj-45-cat-6a-cat-7-transceiver-intel-compatible-module/p-8150) 后,确认它使用了正确的芯片类型(虽然表述有点混乱):
> 10Gtek 的 ASF-10G-T80 是最新版本的铜缆收发器,其最大特点是超低功耗和更长的传输距离(1.6W @ 10Gbps 30m,2.0W @ 10Gbps 80m)。ASF-10G-T80 是一款 10GBase 多速率铜缆 RJ45 SFP+ 收发器,采用 BROADCOM BCM84891 PHY 芯片设计,符合 IEEE 802.3an/az 和 SFP+ MSA 标准,支持在 CAT.6a 或 CAT.7 网线上最远 80 米的传输距离。
一两天后,货到了。它装在一个相当漂亮的小金属盒子里:
10Gtek 包装照片 1
10Gtek 包装照片 2
10Gtek 包装照片 3
安装花了一点时间,因为我发现拆下现有的 MikroTik 模块有点棘手;Willie Howe 在 YouTube 上的视频 (https://m.youtube.com/watch?v=ux221oWWJuY&t=7s&pp=2AEHkAIB) 很好地展示了如何解锁锁扣,但我还是摆弄了好一会儿才把它取出来。不过,最终还是搞定了,新模块装了进去。
我插回所有网线,打开交换机,(在经历了稍微有点紧张的等待启动后)网络恢复了运行!
那么,温度有没有改善呢?我查看了监控,结果:
Nigel 的 10GBASE-T SFP+ 模块:没有报告温度
嗯,什么都没显示出来。
但这倒也说得通。我绘制这些图表的方式是:交换机通过 SNMP 暴露这些数值,然后我路由器 `reggie` 上的 Telegraf (https://www.influxdata.com/time-series-platform/telegraf/) 守护进程读取这些数值并发送到 InfluxDB (https://www.influxdata.com/products/influxdb/);最后 Grafana (https://grafana.com/oss/grafana/) 负责绘制图表。
我一直在用之前确定的交换机提供模块温度的 SNMP OID(如果你感兴趣的话,是 `.1.3.6.1.4.1.14988.1.1.19.1.1.6.3`)来读取模块温度,但新模块可能暴露在不同的 OID 上。是时候登录交换机看看了。
```
[admin@Nigel] > /interface ethernet monitor sfp-sfpplus1 once
name: sfp-sfpplus1
status: link-ok
auto-negotiation: done
rate: 10Gbps
full-duplex: yes
tx-flow-control: yes
rx-flow-control: yes
supported: 10M-baseT-half
10M-baseT-full
100M-baseT-half
100M-baseT-full
1G-baseT-half
1G-baseT-full
1G-baseX
2.5G-baseT
2.5G-baseX
5G-baseT
10G-baseT
10G-baseSR-LR
10G-baseCR
sfp-supported: 1G-baseX
10G-baseSR-LR
advertising: 1G-baseX
10G-baseSR-LR
link-partner-advertising:
sfp-module-present: yes
sfp-rx-loss: no
sfp-tx-fault: no
sfp-type: SFP/SFP+/SFP28/SFP56
sfp-connector-type: LC
sfp-encoding: 64B/66B
sfp-link-length-om1: 30m
sfp-link-length-om2: 80m
sfp-link-length-om3: 300m
sfp-vendor-name: Intel Corp
sfp-vendor-part-number: FTLX8571D3BCV-IT
sfp-vendor-revision: A
sfp-vendor-serial: IN101Q14436
sfp-manufacturing-date: 26-01-31
sfp-wavelength: 850nm
eeprom-checksum: good
eeprom: 0000: 03 04 07 10 00 00 00 00 00 00 00 06 67 00 00 00 ........ ....g...
0010: 08 03 00 1e 49 6e 74 65 6c 20 43 6f 72 70 20 20 ....Inte l Corp
0020: 20 20 20 20 00 00 1b 21 46 54 4c 58 38 35 37 31 ...! FTLX8571
0030: 44 33 42 43 56 2d 49 54 41 20 20 20 03 52 00 85 D3BCV-IT A .R..
0040: 00 1a 00 00 49 4e 31 30 31 51 31 34 34 33 36 20 ....IN10 1Q14436
0050: 20 20 20 20 32 36 30 31 33 31 20 20 00 f0 03 96 2601 31 ....
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........
```
它显示这是一个 Intel 模块;这本身并不奇怪——交换机和 SFP+ 模块之间经常存在兼容性问题,所以有时模块会被配置成“谎报”制造商——我在亚马逊上专门买了“Intel 兼容”的 `ASF-10G-T80-INT`,因为找不到声称自己是 MikroTik 兼容的型号。研究表明它应该能正常工作,事实也确实如此。
但真正奇怪的是这些:
```
sfp-connector-type: LC
sfp-wavelength: 850nm
sfp-link-length-om1: 30m
sfp-link-length-om2: 80m
sfp-link-length-om3: 300m
sfp-vendor-part-number: FTLX8571D3BCV-IT
```
它不仅冒充 Intel 模块——还声称自己是一个光纤模块 (https://edgeoptic.com/products/intel/ftlx8571d3bcv-it)!也许如果我找到了“MikroTik 兼容”的选项会更好——不过,它可能也会一样冒充 MikroTik 的光纤模块。
不管怎样,它能用——所以没问题。但也有一些坏消息。如果交换机能够读取新模块的温度,那么你可能会在输出中看到 `sfp-temperature` 字段。所以,遗憾的是,我认为我无法监控新模块的温度了。
那么,怎么判断它是否起作用了呢?嗯,一个方法就是看看之后网络是否还会出现抖动。实际上,我在两周多前就完成了更换,从我使用情况和其他监控来看(尽管上周又热了一周),一切正常。
但另一个有趣的指标是模块更换前后两周内 `nigel` 的 CPU 温度:
Nigel CPU 温度
可以看到,6 月 1 日晚些时候我更换模块后,温度明显下降,之后一直低了大约 5°C。当然,新模块有很多不同之处——除了使用不同的芯片组和误导人的 EEPROM 外,它的热耦合特性也可能不同——它可能将更多或更少的热量散发到 SFP+ 插槽,进而传递给交换机的 CPU。所以这不能证明什么,但结合链路稳定性的改善,我认为这是一次胜利。
那么,这是一次关于 SFP+ 模块世界的有趣小探索——尤其是那些稍微有点“不靠谱”的模块 :-) 让我们看看随着里斯本炎热的夏季到来,这个模块能否经受住考验。
相似文章
新型10 GbE USB适配器:更凉、更小、更便宜
对基于RTL8159芯片的新型、更小、更便宜的10 GbE USB适配器的评测,强调不同USB标准下的性能差异,并推荐使用USB 3.2 Gen 2x2端口以获得全速。
我的2025年高端Linux PC 🐧
一篇关于在2025年组装高端Linux PC的详细博客文章,包括组件选择、设置以及故障排除有问题的Intel CPU。
乐购因博通“滥用行为”将4万个服务器工作负载从VMware迁移
乐购正在将4万个服务器工作负载从VMware迁移,理由是博通的滥用行为和过高的涨价,同时定价法律纠纷仍在继续。
NVIDIA Spectrum-X——开放、AI原生的以太网架构——为千亿级AI设定标准,现已集成MRC
NVIDIA Spectrum-X以太网架构搭配多路径可靠连接(MRC)为千亿级AI网络设立新标准,提升大规模AI训练的吞吐量、负载均衡和弹性,OpenAI、微软和甲骨文已率先应用。
我意外地用一条隐藏的PCIe 2.0 x4插槽削弱了4x RTX 3090 LLM设备的性能,修复后使Mistral 128B的性能翻倍。
用户发现,Threadripper 工作站主板上一处隐藏的 PCIe 2.0 x4 电气限制导致四块 RTX 3090 中的一块性能受限,从而影响了多 GPU 大语言模型推理性能。通过调整插槽布局并切换至张量分裂模式,Mistral 128B 的吞吐量从约 11 tok/s 翻倍至约 24.7 tok/s。