Realtek RTL8111 PCIe LAN 在linux开发环境下mac addr(efuse)烧录及读取

通常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

4. rmmod r8168, 卸载当前的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空间有限不可擦写,烧录参数需确认无误后再进行烧录)

 

技术文档

类型标题档案
硬件linuxpg

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论

tianguo

tianguo

1 个月前
谢谢楼主,写的非常好!非常感谢!