OpenWRT23.05_装上_2.5G_USB3网卡_测速太慢
转载注明来源: 本文链接 来自osnosn的博客,写于 2024-04-29.
现象
- Openwrt-23.05.3 裸装在机器 N3160 机器上。有 4核。
原机有两个网卡,一个是板载,一个是mimiPCIE。都是千兆。
使用没发现问题,两张网卡都能跑满千兆。 - 升级2.5G网卡。把miniPCIE的网卡(rtl8111千兆)拔掉,换上螃蟹的rtl8125b 2.5G网卡。
再插一个USB3.0的 usb转rtl8152b,2.5G网卡。 - usb转rtl8125b 在openwrt下用的是 kmod-usb-net-rtl8152 驱动。
- 分别对两个 2.5G 网卡测速。
发现,miniPCIE的2.5G网卡,能跑到2.39Gbps左右。算是正常。
USB的2.5G网卡,只能跑到500-600Mbps。很不正常。
排查
- openwrt中,检查各种配置,没发现问题。
- 关掉 openwrt中,各种服务,包括且不限于,防火墙,SQM-QOS,DDNS,... 测速还是600Mbps左右。
- 检查网卡,也在双工状态下。
- 在反复测速时,随手开了一个终端,运行了 htop。
意外的发现 CPU0 占用100%,另外 3个核心占用很小。
原来,usb网卡确实占用 CPU非常的高。
而这台 N3160单核性能不太够。导致网卡速度上不去。 - 上网一通搜索。发现可以安装 irqbalance 解决只占一个CPU核心的问题。
- 安装
opkg install irqbalance
, 再测速,还是不行。
重启openwrt系统,再测,速度有2.3Gbps。usb的2.5G网卡速度终于正常了。
看来,irqbalance需要 重启openwrt系统才生效。 - 对usb的 2.5G网卡测速,htop显示 4个核心的平均负载是 20-40%
再排查
- 用了几天,速度还是不行。怀疑2.5G网卡驱动有问题。
- 考虑用dkms装小螃蟹官版编译。
- 建立openwrt的sdk 编译环境。
- 从 LEAN的源码中,找到 8125b 和 8152b 的驱动目录。
包含 Makefile 和 patches 目录。
放入 sdk 环境编译。 - 生成的kmod,安装替换掉原版的驱动。
- 拆除 irqbanlance。
- 目前使用正常。测速时,多个cpu都工作,不会只占用一个CPU。
----end----
转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/18166483.html
来自 osnosn的博客 https://www.cnblogs.com/osnosn/ .