realtek r8168 debian buster 附加卡上丢失连接

realtek r8168 debian buster 附加卡上丢失连接

我们想在联想 M720e 中使用 2 个双端口以太网卡。卡是 dexlan ref FG-ENW02C-1-UC04 / pcie 1x 双千兆端口。

我们安装 debian 10。我们更改 grub,这样我们就有了 ethX,而不是 enpXs0。第一张卡在 pcie x16 端口上,第二张卡在 pcie x1 端口上(主板上没有更多的 pcie 插槽),启动后,我们有

eth0 = 卡 1 端口 1

eth1 = 卡 1 端口 2

eth2 = 卡 2 端口 1

eth3 = 卡 2 端口 2

eth4 = 集成卡

所有卡均为 Realteck 以太网控制器:Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express 千兆以太网控制器 (rev 15)

我们在所有 eth 上配置 ip 地址。

我们在 debian 上安装 r8168-dmks firmware-realtek 并使用标准内核。(4.19.xx)

现在的问题是我们使用直接电缆连接到装有 Linux 的个人电脑。每次测试时更改其以太网卡上的 IP 地址。

测试 eth0、eth1 和 eth4 ping / ssh / scp 均正常,测试 eth2 和 eth3 ping 正常 / ssh 不正常,然后 ping 也不正常

所以要清楚:我们启动联想,我们在 eth3(或 eth2)上插入一根电缆,我们在 eth3(或 eth2)上 ping 通 IP 地址,ping 通,我们尝试从 Linux PC ssh 到联想,没有提示输入密码也不接受指纹,ctrl-C,尝试在 eth3(或 eth2)上 ping 通 IP 地址,不再 ping 通。

因此我们用 tcpdump 来查看发生了什么:

Linux电脑:10.98.127.45/24
联想电脑:10.98.127.10/24

在 Linux PC 上:ping 10.98.127.10(问题持续了 5 分钟以上,因此需要 arp 回复才能正常工作)

电脑上的 tcpdump

12:24:21.302314 ARP, Request who-has 10.98.127.10 tell 10.98.127.45, length 28
12:24:22.333931 ARP, Request who-has 10.98.127.10 tell 10.98.127.45, length 28
12:24:23.357882 ARP, Request who-has 10.98.127.10 tell 10.98.127.45, length 28

联想上的 tcpdump:

12:24:21.301014 ARP, Request who-has 10.98.127.10 tell 10.98.127.45, length 46
12:24:21.301026 ARP, Reply 10.98.127.10 is-at 00:13:3b:4a:d7:7a, length 28
12:24:22.332649 ARP, Request who-has 10.98.127.10 tell 10.98.127.45, length 46
12:24:22.332660 ARP, Reply 10.98.127.10 is-at 00:13:3b:4a:d7:7a, length 28
12:24:23.356628 ARP, Request who-has 10.98.127.10 tell 10.98.127.45, length 46
12:24:23.356639 ARP, Reply 10.98.127.10 is-at 00:13:3b:4a:d7:7a, length 28

所以我们认为这是联想电脑 eth3 上 TX 的问题

使 ping 工作(如果我们再次尝试 ssh,则 btu 停止工作)

在联想电脑上:

ip link set eth3 down ; ip link set eth3 up

我们尝试思考

  • 使用 debian backport 安装 r8168-dkms 、 firmware-realtek
  • 使用 debian backport 安装 5.8 内核
  • 拔下 x16 插槽上工作的 pcie 卡
  • 用另一张卡替换不工作的卡(我们有 10 多张这样的卡)
  • 在联想 bios 中停用集成网卡、vt-d、vt-x
  • 用 stretch 替换 buster (结果相同)

每次我们测试,每次都失败。

有人对此有什么想法吗?

我尽量做到完整,但可能忘记了我们所做的一些测试/更改。抱歉我的英语不好

尼古拉斯

相关内容