r8168网卡在同方超翔z8307机器V10版本无法上网问题
一、基础环境
硬件环境 | 软件环境 | 第三方软件 |
---|---|---|
超翔z8307 | 麒麟V10 | 无 |
龙芯 | ![]() | |
网卡为RTL8168 |
二、问题描述
清华同方超翔z8307机器,龙芯mips芯片,网卡为RTL8168,之前安装的中标v7系统没有此问题后续升级到kylin V10系统出现如下问题
联网之后ping www.baidu.com 提示如下,360浏览器访问百度一直转圈。使用手机usb共享网络测试没有问题,猜测是不是板载网卡或者驱动,或者兼容性出现问题。
ping ip地址提示,No buffer space available
。
使用dmesg信息查看,提示MAX READ REQUEST SIZE should not greater than the slot max capability
三、解决方案
3.1 方法一:修改r8168驱动
-
下载r8168源码,进入源码目录,修改r8168.h文件
-
将
RxCfgDMAShift = 8
值改为 7
-
执行
./autorun.sh
3.2 方法二:修改r8169驱动
-
从对应版本内核中扣出r8169驱动,当前kylin V10的内核版本是4.4.131,下载内核源码。
-
修改r8169.c文件
#define MAX_READ_REQUEST_SHIFT 12改为
#define MAX_READ_REQUEST_SHIFT 10 -
编译
kylin@kylin-PC:~/下载/linux-4.4.131/drivers/net/ethernet/realtek$
make -C /usr/src/linux-headers-5.4.18-19-generic/ M=`pwd` modules
- 生成的将r8169.ko复制替换