1月1日最新源码编译的openwrt x86固件无法驱动绿联2.5G usb网卡(rtl8156)和比亚兹2.5G usb网卡(8156b),具体表现为lsusb可以看到设备,但是没有生成eth设备。
Bus 001 Device 002: ID 0781:5571 SanDisk Corp. Cruzer Fit Bus 002 Device 003: ID 0bda:8156 Realtek Semiconductor Corp. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
看上半年的issue有聊到因为和千兆的网卡有些冲突暂时关闭了,半年下来8156b的usb网卡性价比越来越高,京东自营已经跌到百元上下,完全可以替代千兆网卡了,是否可以考虑使用螃蟹10月中旬的新8152驱动替换老的8152驱动或给出互斥的两个可选项呢?
通过patch方式用螃蟹官方驱动替换内核自带驱动成功驱动8156b,大概思路如下
tar -xvf linux-5.4.85.tar.xz cp linux-5.4.85_new tar -xvf linux-5.4.85.tar.xz tar -zxvf r8152.53.56-2.14.0.tar cp -a r8152.53.56-2.14.0/r8152-2.14.0/50-usb-realtek-net.rules linux-5.4.85_new/drivers/net/usb/ cp -a r8152.53.56-2.14.0/r8152-2.14.0/compatibility.h linux-5.4.85_new/drivers/net/usb/ cp -a r8152.53.56-2.14.0/r8152-2.14.0/r8152.c linux-5.4.85_new/drivers/net/usb/ diff -uparN linux-5.4.85/* linux-5.4.85_new/* >988-r8152-2.14.0.patch cp 988-r8152-2.14.0.patch ../lean/R20/lede/target/linux/generic/pending-5.4/ cd ../lean/R20/lede/ make
方式比较low,有更优雅实现方式的勿忘告知。。。
参考: https://forum.openwrt.org/t/2-5g-usb-ethernet-kmod-usb-net-rtl8152/72154/57