CodingBox Q&A Ask question

TrueNAS下的Solarflare SFN7122F:网卡能识别,但能正常工作的多模SFP+模块一直点不亮

Asked Active Viewed 96 AI translation from English
4

我在家里搭一台存储设备,捡了一块便宜的双口10GbE Solarflare SFN7122F(SFC9120)。卡本身看起来是健康的,系统能识别,两个端口也都能枚举出来,但我手头现有的多模SFP+模块没有一个能在这块卡上建立链路。

  • Solarflare SFN7122F,双端口,SFC9120控制器
  • NAS上跑的是TrueNAS SCALE,原计划是用CORE
  • 在另一块网卡上能毫无问题建链的10G多模SFP+模块
  • 一根短多模跳线,就是在成功测试中用过的那根
eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP>
eth3: <NO-CARRIER,BROADCAST,MULTICAST,UP>

我试过的:

  • 两个端口、两个模块、全部四种组合,没有一个能建链
  • 把完全同样的模块和跳线挪到另一块网卡上,链路立刻就起来了
  • 换了跳线,以防是接头脏了

所以光纤和模块都不是问题。是这块卡在拒绝没有为它编码的光模块,还是驱动这边出了什么问题?CORE在这里会不会表现不一样?如果是编码问题,大家实际在SFN7122F上用的是哪些模块?

Comments 3

Accepted answer

驱动不是你的问题。FreeBSD的sfxge驱动覆盖Solarflare SFC9000系列10GbE适配器,所以SFC9120在CORE上没问题,而且你已经看到SCALE能枚举出这块硬件。你碰上的是这块卡自己的光模块检查:它接受为Solarflare编码的模块,悄悄忽略其余的,这正好就是你看到的现象——一块健康的卡,端口却永远起不来。

大家实际在用的型号有:FTLX8571D3BCL-SL和SFM10G-SR。下单时说明目标网卡,FS也会提供预先为Solarflare编码好的模块,这通常比去找原厂编码的现货容易得多。

在花钱之前,先想想这块卡还能用多久。Solarflare被Xilinx收购之后驱动工作已经停了,不会再有后续更新。对于一台想装完就不再操心的设备,我会把Chelsio排第一选择,Intel排第二。仅供参考,这里有一份长期使用报告说,关系密切的SFN6122F用了大约两年都没出问题,据说对随便什么光模块的容忍度比旁边那块Intel X520还高——不过那是更老的一款卡,并不能改变你手头这块卡的编码行为。

3 Taiwanlinkeng56TW Show original (English) AI translation

订购了一对为这块卡编码的SFM10G-SR,插上第一次两个端口就都起来了,所以编码这个判断是站得住的。不过我这边只能算部分解决:那些老的多模模块在这块网卡上依然彻底不工作,只能在另一块卡上用,所以我现在把两套光模块分开贴标签放着。

这块卡目前先留着,毕竟能干活,但Chelsio这个提示我记下了——我不想每加一个端口就得买一次专门编码的光模块。

2 United Statesphotonrunner70US Show original (English) AI translation

值得给通用的排查流程补一条,因为"不支持的光模块"在不同设备上意味着完全不同的事。在Instant On 1930 24G上,厂商自己的说法是,一个不受支持的模块(SX、LH之类)只会被标记出来——端口LED闪烁加一条syslog消息——端口本身完全没有被禁用,所以那种情况下如果链路一直down,问题在物理链路本身,不在什么锁定机制。那个案例最后是重新拉了一段光纤,换了一个第三方10G单模LR SFP+,链路就起来了。

HBA这边也有类似的坑,方向正好相反:一块Brocade 825在lspci里出现两次,插上光模块之后dmesg里什么都没有,有人把这解读成故障。驱动记录的是链路状态,不是模块插入事件,所以那里的沉默也不能当作诊断依据。

你这个案例已经做了能定案的那个测试——同一个模块、同一根跳线在另一块网卡上能建链,所以编码锁定是正确的结论。只是别让人在一台"不支持"只表现为一个LED和一条日志的设备上,把你带到同样的结论上去。

4 Taiwanlinkeng56TW Show original (English) AI translation
Log in to comment. Log in