Centos 7下TP-LINK tg 3269e/RTL8168网络唤醒与安装网卡驱动中出现的错误

Centos 7下TP-LINK tg 3269e/RTL8168网络唤醒与安装网卡驱动中出现的错误

参考文章:centos7.8降级网卡驱动r8168
以下内容都是回忆内容,折腾了好几天驱动已装好就不复现了,写下这贴是给后来人避坑
起因是家里旧电脑装了centos后网络唤醒就用不了,各种排查下发现驱动有问题。
首先需要注意的是3269e这款网卡有两个版本1.0不支持linux,2.0才可以在linux下使用
使用ethtool -i 网卡名 发现driver是r8169
去tp官网下载驱动,也可以去螃蟹官网下
下载后丢到linux上解压,里面有个autorun.sh,先确定一下是否装了gcc和make,接着./autorun.sh发现有错误:
错误1 :xx目录不存在,这多半是kernel-devel未安装

yum install kernel-devel

再次执行autorun.sh
错误2:error: redefinition of ‘ether_addr_copy’等字样

vim +53 src/r8168.h //这里的+53是行号可以快速定位光标,这里写上error前的行号就行

将#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)
// 改为
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
接着再次执行autorun.sh
错误3:error: unknown field ‘ndo_change_mtu’等字样

vim +26768  src/r8168_n.c

将ndo_change_mtu 改成 ndo_change_mtu_rh74
再次执行autorun.sh
错误4:error: ‘struct net_device’ has no member named ‘last_rx’等字样

vim +29487 src/r8168_n.c

注释//dev->last_rx = jiffies;
再次执行autorun.sh
会有一堆warning 不用管,最后有Completed.就行
这时候再次执行ethtool -i 网卡名就会发现driver变成了r8168,不要急着重启,重启后网卡又会变成r8169,继续下一步

mv /lib/modules/3.10.0-1127.el7.x86_64/kernel/drivers/net/ethernet/realtek/r8169.ko.xz{,_bak}

注意:这里3.10.0-1127.el7.x86_64可能和你的版本不一样,改成自己的即可

cp src/r8168.ko /lib/modules/3.10.0-1127.el7.x86_64/kernel/drivers/net/ethernet/realtek/
depmod -a  //刷新内核依赖
modprobe  r8168  //加载内核驱动r8168.ko
cp /boot/initramfs-3.10.0-1127.el7.x86_64.img{,_bak}
dracut -f /boot/initramfs-3.10.0-1127.el7.x86_64.img $(uname -r)

这里我直接用dracut --force也行
reboot后ethtool -i 网卡名 驱动还是r8168,安装成功

打开网络唤醒,vi/etc/sysconfig/network-scripts/ifcfg-网卡名 onboot改为yes
在加上ETHTOOL_OPTS=“wol g”

Completed!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装 Realtek RTL810xE 有线网卡驱动和配置有线网络连接的步骤如下: 1. 打开终端,使用以下命令检查系统是否已经安装了 Realtek RTL810xE 有线网卡驱动: ``` lsmod | grep r8169 ``` 如果输出了一行类似 `r8169 90112 0` 的信息,则说明已经安装了该驱动。 2. 如果系统没有安装该驱动,可以使用以下命令安装: ``` sudo yum install kmod-r8169 ``` 3. 安装完成后,使用以下命令重启网卡: ``` sudo systemctl restart network ``` 4. 然后使用以下命令检查网络是否正常连接: ``` ping www.baidu.com ``` 如果能够正常 ping 通,则说明网络连接成功。 5. 如果网络连接不成功,则可以使用以下命令查看网卡状态: ``` ifconfig ``` 找到对应的网卡名称,例如 `eth0`,然后使用以下命令启用网卡: ``` sudo ifconfig eth0 up ``` 6. 启用网卡后,再次使用以下命令检查网络是否正常连接: ``` ping www.baidu.com ``` 如果还是无法连接,则可能需要检查网络配置是否正确。可以使用以下命令编辑网络配置文件: ``` sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 ``` 将以下内容添加到文件末尾: ``` BOOTPROTO=dhcp ONBOOT=yes ``` 保存并退出文件,然后使用以下命令重启网络服务: ``` sudo systemctl restart network ``` 再次使用以下命令检查网络是否正常连接: ``` ping www.baidu.com ``` 如果还是无法连接,则可能需要检查其他网络配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值