最近家里升级了ASUS的AX86U路由器,新路由器上有个2.5G的网口,就幻想能够把家里的威联通453Bmini NAS的接到2.5G口,通过Wifi6来实现设备更高速的取文件。所以就无脑买了个2.5G的USB网卡。

然而,现实还是很残酷的,威联通自己的5G USB网卡卖600多,当然不支持这种160块的2.5G网卡了。

看了下网卡的芯片是螃蟹的RTL8156B,螃蟹官网提供了Linux的驱动,所以想着自己编译看看能不能用。网上找了QNAP的公布的Kernel源码。

QTS kernel: https://sourceforge.net/projects/qosgpl/
Realtek rtl8152-56 的linux 驱动:  https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software

453Bmini的Linux Kernel是4.14的,编译环境需要4.9的gcc,所有建议使用Ubuntu 16进行编译,可以直接用源装gcc-4.9.3。

apt install libelf-dev  make gcc-4.9
ln -s /usr/bin/gcc-4.9 /usr/bin/gcc

具体QNAP NAS的Kernel可以在这里查到: https://www.qnap.com.cn/en/release-notes/kernel

编译步骤不多:

  1. 先将QTS Kernel解压,将8156驱动包下所有文件放到 GPL_QTS/src/linux-4.14/drivers/net/usb/ 文件夹下
  2. 在GPL_QTS/src/linux-4.14路径下执行
make modules SUBDIRS=drivers/net/usb/

然后把GPL_QTS/src/linux-4.14/drivers/net/usb/下面编译生成的 usbnet.ko 和 r8152.ko文件提取出来放到NAS里。

插上网卡,连上网线,用ssh登录NAS,执行:

/sbin/rmmod r8152
/sbin/rmmod usbnet
/sbin/insmod /share/CACHEDEV1_DATA/文件夹/usbnet.ko
/sbin/insmod /share/CACHEDEV1_DATA/文件夹/r8152.ko

在网络设配器中可以看到:

路由器上看到的握手速率也是2.5Gbps了。

用一台装了AX200网卡的老破Intel NUC试了下,在无遮挡的情况,NUC和AX86U握手速率2.4G,从NAS下载文件在最高可达150MB/s左右,超过千兆有线网卡113MB/s的天花板了。也比用普通wifi 867M情况下70MB左右的速度快了不少。

NAS用Docker装的Iperf3,多线程测速在1.2Gbps左右:

可见usb网卡驱动已经生效了,但是速率没上2G,暂时不清楚是Wifi本身的损耗,还是啥别的原因。

最后附上我编译的驱动,理论上相同kernel的qnap NAS都可以试试看。 另外rtl8156和rtl8156b是相同的驱动。

BD盘: https://pan.baidu.com/s/15Tb_0MpLiKmoovdBpKYLgA 提取码: cygv

4 对 “威联通QNAP TS-453Bmini编译螃蟹8156 USB 2.5G网卡驱动”的想法;

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注