不久前,我在 Ubuntu 20.04 中评测了一款基于 Realtek RTL8156B 芯片USB 3.0 转 2.5 Gbps 的以太网适配器 。测评时,我对这款适配器的可靠性和性能并没有多印象的深刻 。当时也有很多朋友给了建议,例如更换网线、MTU 尺寸等 。
但更换网线并没有什么帮助,我看到评论有人提到可能是 cdc_ncm 驱动程序的问题,我还看到另一条评论说更新到 linux 内核 5.14有应该能正确地安装r8152 驱动程序 。所以我就这样做了,如下所示:
文章插图
前往“CNX Software中文站”官网,查看完整信息
将 Linux 5.13(Ubuntu 20.04 + HWE 附带)升级到了 Linux 5.14,但不幸的是该系统仍然继续使用了带有半双工链接的 cdc_ncm 驱动程序:
文章插图
前往“CNX Software中文站”官网,查看完整信息
后来我想,有可能必须要使用 udev 规则来防止加载 cdc_ncm 驱动程序了 。而 r8152 驱动程序中确实有50-usb-realtek-net.rules能够帮助做到这一点 。所以我就将文件复制到了/etc/udev/rules.d/文件夹中 。由于不想重新启动,所以我卸载了不需要的模块,然后重新启动了 udev 试一试:
文章插图
前往“CNX Software中文站”官网,查看完整信息
我们来看看结果怎么样,如下所示:
文章插图
前往“CNX Software中文站”官网,查看完整信息
很好!它现在可以使用 r8152 驱动程序了,并且我们还有一个全双工连接 。
我们再次来对所有测试的结果来进行一下比较 。
iperf2上传:
文章插图
前往“CNX Software中文站”官网,查看完整信息
下载:
文章插图
前往“CNX Software中文站”官网,查看完整信息
这样做之后,下载速度有所提高了,之前使用 cdc_ncm 驱动程序时速度是 600 Mbps,但仍然没有接近 2.3 Gbps 。
现在我们来体验下全双工:
文章插图
前往“CNX Software中文站”官网,查看完整信息
这其实还不算太糟糕了 。
iperf3上传:
文章插图
前往“CNX Software中文站”官网,查看完整信息
下载:
文章插图
前往“CNX Software中文站”官网,查看完整信息
和iperf2是差不多的 。其实 iperf3 多年来一直都不支持全双工,但它们这次的 3.7 版重新引入了该功能 。所以我们来试试看:
文章插图
前往“CNX Software中文站”官网,查看完整信息
哎呀!发生了什么呢?内核日志中似乎也有一些错误消息 。
文章插图
前往“CNX Software中文站”官网,查看完整信息
我其实不是唯一遇到这个问题的人了,所以我只能说这是 r8156 驱动程序 Github repo 中一个未解决问题 。以下是开发者的回答,仅供参考:
推荐阅读
- SpringAOP的切面执行顺序在Spring4和Spring5中有什么区别?
- 金盏花的功效
- 厌食症的表现
- 针灸的有什么作用
- 内分泌失调吃什么中药
- 喝中药能喝冰红茶,喝中药能喝的茶有哪些功效与作用吗
- 佛山婚俗介绍
- 中国有哪些非物质文化遗产
- 金骏眉怎么保存?
- 服中药期间能喝红茶吗,喝中药能喝的茶有哪些功效与作用吗