黑群晖918+ DSM7.0.1手动安装RTL8125BG网卡及驱动

文章讲述了作者在SynologyNAS上遇到RTL8125BG网卡识别问题,通过编译驱动解决的过程,包括环境配置、Chroot环境部署、驱动下载与编译,以及最终的解决方法,如手动加载驱动和创建桥接节点以实现网络连接稳定性。
摘要由CSDN通过智能技术生成

前言

由于之前使用redpill的引导,不能自动识别RTL8125BG网卡,当时卖家老板说arpl引导可以直连,由于不想从新换引导,所以尝试自己编译驱动解决

购买RTL8125BG网卡

在某宝可以买到,大概30到40左右。

驱动编译

驱动相关资料

  • 大佬提供的RTL8125BG驱动源码: https://github.com/tabrezm/r8125-synology
    里面有Readme,参考Readme 进行编译。
  • arm编译系统

确定黑群晖的platform

nas:~$ uname -a
Linux nas 4.4.180+ #42218 SMP Mon Jan 16 18:00:01 CST 2023 x86_64 GNU/Linux synology_apollolake_918+

我这个平台是apollolake

开始按照Readme 编译

配置环境,下载编译工具脚本

$ apt-get update
$ apt-get install git python3 python3-pip
$ mkdir -p /toolkit  
$ cd /toolkit
$ git clone https://github.com/SynologyOpenSource/pkgscripts-ng.git  #如果无法下载,确定环境是否设置了代理或者网关是否正确

部署chroot环境配置

$ cd /toolkit/pkgscripts-ng
#确定你的DSM系统大版本号,切换到源码对应分支,我的是7.0.1,所以选的7.0
$ git checkout DSM7.0
#-p后面加上你对应平台名
$ ./EnvDeploy -v 7.0 -p `your platforms name`
$ cp /etc/ssl/certs/ca-certificates.crt /toolkit/build_env/ds.avoton-7.0/etc/ssl/certs/ca-certificates.crt # replace 'ds.avoton-7.0' with your platform and version

其中EnvDeploy脚本会从群晖服务器下载相关编译环境文件和依赖文件,如果无法从脚本下载,可以手动下载,
1.通过修改/toolkit/pkgscripts-ng/include/pkgdeploy.py->__download函数直接return
2.把手动下载的文件放到/toolkit/toolkit_tarballs下

https://global.synologydownload.com/download/ToolChain/toolkit/7.0/base/base_env-7.0.txz
https://cndl.synology.cn/download/ToolChain/toolkit/7.0/apollolake/ds.apollolake-7.0.dev.txz
https://cndl.synology.cn/download/ToolChain/toolkit/7.0/apollolake/ds.apollolake-7.0.env.txz

下载完文件,会更新相关环境并解压文件到

/toolkit/build_env

ps:如果报软连接pkgscripts-ng
失败,可能是进去chroot环境失败。

进去chroot环境系统,并下载驱动代码

注意是chroot环境系统下,不是本机环境下,如果进去失败,请网上查看原因

$ chroot /toolkit/build_env/ds.apollolake-7.0
$ mkdir -p /usr/src
$ cd /usr/src  
$ git clone https://github.com/tabrezm/r8125-synology.git
$ cd r8125-synology/src
修改对应编译的DSM大版本
$ vi MAKEFILE 
	BASEDIR := /usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.0

开始编译

$ make

copy r8125.ko到DSM

$ sudo -i
$ cp r8215.ko /lib/modules
$ insmod /lib/modules/r8125.ko
$ lspci -v | grep r8125  #查看驱动是否加载成功
	Kernel driver in use: r8125
$ ip link set up eth4 # replace 'eth4' with your interface

添加自动加载

$ ln -s /bin/kmod /sbin/depmod
$ depmod -a # warnings are safe to ignore

这里我设置后提示错误

nas:~# depmod -a
depmod: WARNING: could not open /lib/modules//modules.order: No such file or directorydepmod: WARNING: could not open /lib/modules//modules.builtin: No such file or directory

并且重启后,驱动无法自动加载,网卡不会自动获取ip,设置静态ip可以用,但是重启后就会出问题,上不了网。

最后解决办法:

vi /etc/rc.local
insmod /lib/modules/r8125.ko  #加载驱动
ifconfig eth1 up #启用eth1
ovs-vsctl add-br ovs_eth1  #创建新的桥接节点
ovs-vsctl add-port ovs_eth1 eth1 #桥接到eth1
ifconfig ovs_eth1 up  #启动桥接网卡

这样设置后,重启生效

##相关命令

lspci -v | grep r8125  #查询网卡是否加载
ls -ld /sys/class/net/*/device/driver  #查询网卡对应的驱动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值