I217-V在openwrt下大流量断网问题

背景

最近跟着up司波图在玩一个AIO(All In One)服务器,也就是将软路由,NAS系统以及影音系统都集成到一个物理系统中,我用的是之前买的一个M73的小主机,里面的mini-PCIE插槽扩展了一个螃蟹RTL8111的千兆网卡,主机自带的是Intel的I217-V千兆网卡。

经过一天的使用下来发现每次大流量下载或上传时,openwrt都会断一下,开始还以为是openwrt系统的问题,后来经过一番资料搜索,发现是pve下面的这张Intel网卡有问题,查看了pve系统的日志,发现了如下:

1
pve kernel: e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:

这和搜索到的情况一样,于是就确定是这张Intel网卡的问题。

原因

造成该问题的原因是Intel网卡固件的bug

解决方法

在pve虚拟机下关掉网卡的offload功能

1
ethtool -K <网卡编号> tx off rx off >/tmp/e1000e.log

为了方便,不需要每次重启虚拟机之后都手动来关掉,这里设置了一个自启动脚本,原理是pve虚拟机每次启动的呃时候都会扫描/etc/profile.d下面的.sh文件,所以办法很简单,在改文件夹下面新建一个e1000e.sh的文件

1
vim /etc/profile.d/e1000e.sh

然后填入上面的命令即可

参考链接:

解决在x86平台装openwrt旁路由大流量断网问题(intel网卡驱动bug问题)

openWRT在M93p上出现的Detected Hardware Unit Hang