通常RTL8111在Windows下只要安装了RTK官方驱动前提下再配合pg tool就可以执行完成烧录预设的efuse参数,但也有部分用户反馈在Linux下无法完成efuse的读写,提示“Cannot find the major number”&“No Support Card Found”,这是因为Linuxpg和winpg做法是不同,Linuxpg要先rmmod系统自带的r8169/ r8168驱动,再使用pg自带pgdrv.ko或者重编pgdrv.ko,用户通常可能会忽略这一点,以下分享我在Ubuntu的pg烧录及读取操作经验给到有需要的小伙伴
OS环境:
Ubuntu 20.04.1 LTS
X64
操作步骤:
1. 需要root权限
2. 准备好linuxpg tool并解压,建议用最新版本
3. lsmod检查当前driver版本是r8168/r8169
5. lsmod确认是否已经成功卸载driver r8168
6. insmod pgdrv.ko 若是自带的pgdrv.ko insmod失败,则需要删除自带的pgdrv.ko后再执行sudo ./pgload.sh,自己编pgdrv.ko
7. lsmod查看ko是否插入成功,如下lsmod已经看到插入成功
8. 最后按照平台架构选择执行
9. 我的PC为x86架构,所以执行./rtnicpg-x86_64 /efuse /r读取成功,识别到RTL8168G,并不会出现“Cannot find the major number”&“No Support Card Found”
10. 同理,若是要烧录的话,先vi编辑cfg进行所需参数的设定并保存,如mac addr,led cfg等参数设定
11. 再执行./rtnicpg-x86_64 /efuse /w即可烧录完成(注意:efuse空间有限不可擦写,烧录参数需确认无误后再进行烧录)
评论
tianguo
1 个月前