You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SFP28与SFP兼容性及Broadcom 57454网卡驱动问题咨询

SFP28与SFP兼容性及Broadcom 57454网卡驱动问题咨询

首先明确说:SFP28是支持向下兼容SFP/SFP+的,因为SFP28的设计本身就涵盖了1G、10G、25G这些速率,和SFP的1G速率完全匹配,物理层面的兼容性是没问题的。你的问题大概率不是兼容性本身导致的,而是配置、模块或者驱动固件的细节问题,我帮你梳理下具体的排查方向:

一、链路与交换机配置排查

  • 检查Unifi交换机端口设置
    • 确认端口是否开启了自动协商,有没有被强制固定为某个速率(比如误设成10G但你的SFP模块是1G),速率协商不匹配很容易出现链路显示active但丢包的情况。
    • 核对VLAN配置:有没有把这个端口划分到错误的VLAN?如果DHCP服务器在另一个VLAN,而端口没做相应配置,包自然传不过来。
    • 排查安全限制:Unifi有没有开启端口隔离、MAC地址过滤之类的功能,导致服务器的包被拦截?
  • 光模块兼容性验证
    有些Unifi交换机对非UBNT官方认证的SFP模块会有隐性兼容性问题,虽然能识别链路,但会出现丢包或者单向通信的情况。你可以试试换一个UBNT认证的模块,或者确认当前模块是否支持双向1G速率。
  • 确认链路协商结果
    在服务器上用命令查看实际协商的速率和双工模式:
    • FreeBSD下运行 ifconfig <你的网卡名>,看输出里的media字段,比如是不是1000baseSX full-duplex, link up
    • Ubuntu下运行 ip link show <你的网卡名>,看link/ether下面的速率信息,确认和交换机端口的配置一致。

二、驱动与系统层面排查

关于Broadcom 57454的驱动:

  • FreeBSD方面
    你在loader.conf里加的if_bnxt_load="YES"是正确的,if_bnxt就是FreeBSD中支持Broadcom NetXtreme-E系列(包括57454)的驱动。可以做这些验证:
    1. 确认驱动是否成功加载:运行 kldstat | grep if_bnxt,如果有输出说明驱动已经加载;再用 pciconf -lv | grep -B 2 -A 10 "Broadcom 57454",看是否能正确识别到网卡硬件信息。
    2. 检查固件支持:部分57454网卡需要额外的固件支持,你可以试试安装FreeBSD的固件包:pkg install bnxt-firmware,安装完成后重启网卡或者服务器再测试。
    3. 抓包定位问题:在服务器上运行 tcpdump -i <你的网卡名> port 67,看是否有DHCPDiscover包发出;如果能看到发出的包,那问题可能在交换机或者DHCP服务器端;如果看不到发出的包,那大概率是网卡驱动或者配置的问题。
  • Ubuntu方面
    Ubuntu 18.04的内核版本较低,默认的bnxt_en驱动可能对57454的支持不够完善,你可以尝试升级内核到5.4以上的版本;而Ubuntu 22.10的内核应该已经自带较新的bnxt_en驱动,同样可以用lsmod | grep bnxt_en确认驱动加载情况,也可以用tcpdump抓包看DHCP包的收发状态。

总结

SFP28向下兼容SFP是没问题的,建议你先从链路协商结果、交换机配置、光模块兼容性这些容易排查的点入手,再去验证驱动和固件是否正常,应该能快速定位问题所在。

备注:内容来源于stack exchange,提问作者AAB

火山引擎 最新活动