Intel® X722 10GBase-T以太网控制器在Ubuntu Server 18.04与22.04下无法建立以太网连接的问题求助
各位大佬好,我最近碰到一个头疼的网络问题,想请教下大家:
我们用的是Supermicro的4U服务器,先后装了Ubuntu Server 22.04和18.04两个版本,尝试通过以太网线缆连接互联网,但一直失败。线缆本身没问题——已经在笔记本上测试过连通性了。插服务器上的两个LAN口时,LED会缓慢闪烁绿灯(大概5秒一次),但就是连不上网。
下面是我已经排查过的操作和结果:
1. 查看网络接口状态
运行ip a命令,输出显示两个网口eno1和eno2都处于<NO-CARRIER,BROADCAST,MULTICAST,UP>状态,也就是物理链路没检测到载波。手动关闭再重启这两个接口也没有改善:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 3c:ec:ef:0f:7a:28 brd ff:ff:ff:ff:ff:ff 3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 3c:ec:ef:0f:7a:29 brd ff:ff:ff:ff:ff:ff
2. 检查网卡参数与链路状态
用ethtool eno1查看网卡配置,发现Auto-negotiation是关闭状态,而且明确显示Link detected: no,速度和双工模式都显示为未知。尝试用sudo ethtool -s eno1 speed 100 duplex full强制设置速度和双工,结果报错Cannot set new settings: Invalid argument,无法修改参数:
Settings for eno1: Supported ports: [ ] Supported link modes: 1000baseT/Full 1000baseKX/Full 10000baseT/Full 10000baseKR/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 1000baseT/Full 1000baseKX/Full 10000baseT/Full 10000baseKR/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: Unknown! Duplex: Unknown! (255) Port: Other PHYAD: 0 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Current message level: 0x00000007 (7) drv probe link Link detected: no
3. 确认网卡驱动状态
检查网卡驱动,运行modinfo i40e的输出显示Intel XL710的驱动已经正确加载,版本为2.1.14-k,依赖项也正常:
filename: /lib/modules/4.15.0-156-generic/kernel/drivers/net/ethernet/intel/i40e/i40e.ko version: 2.1.14-k license: GPL description: Intel(R) Ethernet Connection XL710 Network Driver author: Intel Corporation, <e1000-devel@lists.sourceforge.net> srcversion: 304E7F43D32C80652A1A2A9 alias: pci:v00008086d0000158Bsv*sd*bc*sc*i* alias: pci:v00008086d0000158Asv*sd*bc*sc*i* alias: pci:v00008086d00001588sv*sd*bc*sc*i* alias: pci:v00008086d00001587sv*sd*bc*sc*i* alias: pci:v00008086d000037D3sv*sd*bc*sc*i* alias: pci:v00008086d000037D2sv*sd*bc*sc*i* alias: pci:v00008086d000037D1sv*sd*bc*sc*i* alias: pci:v00008086d000037D0sv*sd*bc*sc*i* alias: pci:v00008086d000037CFsv*sd*bc*sc*i* alias: pci:v00008086d000037CEsv*sd*bc*sc*i* alias: pci:v00008086d00001589sv*sd*bc*sc*i* alias: pci:v00008086d00001586sv*sd*bc*sc*i* alias: pci:v00008086d00001585sv*sd*bc*sc*i* alias: pci:v00008086d00001584sv*sd*bc*sc*i* alias: pci:v00008086d00001583sv*sd*bc*sc*i* alias: pci:v00008086d00001581sv*sd*bc*sc*i* alias: pci:v00008086d00001580sv*sd*bc*sc*i* alias: pci:v00008086d00001574sv*sd*bc*sc*i* alias: pci:v00008086d00001572sv*sd*bc*sc*i* depends: ptp retpoline: Y intree: Y name: i40e vermagic: 4.15.0-156-generic SMP mod_unload modversions signat: PKCS#7 signer: sig_key: sig_hashalgo: md4 parm: debug:Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX) (uint)
4. DHCP连接尝试
运行dhclient -v eno1尝试获取IP,结果显示没有收到任何DHCP OFFER,这也和链路未连通的状态一致。
另外,我查过类似的案例,有用户用同款X722网卡在Ubuntu Server 20.04下也遇到过类似的DHCP连接问题,我们的情况和该案例里的场景非常相似——都是使用DHCP分配IP,而且因为环境限制,没法随便把服务器挪到别的房间测试,也不太方便直接设置静态IP。
现在实在没头绪了,有没有大佬能给点排查方向或者解决方案?万分感谢!
备注:内容来源于stack exchange,提问作者Alexander Tkachenko

