在联想GeekPro 2022上安装了ubuntu18.04系统,GeekPro 2022上的有线网卡和无线网卡都是realtek的,其中无线无线网卡的型号为RTL8852BE。安装好系统后,发现并没有有线无线网络图标,无法上网。原因是两个网卡驱动与当前的网卡不匹配,需要重新手动代码编译安装。安装步骤如下:
安装显卡驱动
显卡驱动的安装方法可参考链接: https://zhuanlan.zhihu.com/p/59618999 的方法一。这里一定要先安装显卡驱动,显卡的安装过程中,会删除已经安装好的网卡驱动,这样的话,还要再重新安装一次网卡驱动,所以最好第一步就先安装网卡驱动,网卡驱动需要的网络连接,连接方法在 安装有线网卡驱动目录的1.1和1.2。
查看网卡型号
1.使用命令
lspci | grep -i Ethernet
结果如下
2.查看网卡驱动
lspci -vvv
显示网卡驱动并不是需要的r8125
3.去realtek下载 r8125 的驱动
链接: 驱动下载
下载下面这个
安装有线网卡驱动
1.下载编译需要的工具
首先目前的主机是没有网络的,首先解决网络的问题
1.1 使用手机的usb网络共享,把手机的网络共享给现在的ubuntu
1.2 使用usb转网口的转接头(我使用的这个,身边刚好有一个)
需要下载编译工具包build_essential
sudo apt-get install build_essential
2.安装
解压并进入目录,运行
sudo ./autorun.sh
理论上来说,这样做是会失败的。按照下面的步骤来一个一个解决问题
安装有线网卡将会遇到的问题
这里参考了链接: https://blog.csdn.net/tanmx219/article/details/122754753
主要是:
1.openssl证书问题
首先下载可通过sudo apt-get install安装
之后
cd /lib/modules/$(uname -r)/build/certs
sudo tee x509.genkey > /dev/null << 'EOF'
[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts
[ req_distinguished_name ]
CN = Modules
[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
EOF
sudo openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem
2.System.map问题
ls -l /boot/System.map*
按照结果创建正确的连接即可,我本地只需要创建一条连接即可,类似于下面这种形式
sudo ln -s /boot/System.map-5.4.0-96-generic /lib/modules/5.4.0-96-generic/build/System.map
3.modeprobe 没有权限的问题
解决这个问题最简单的方式,重启进入bios,关闭security boot即可,但是这个security boot这个选项要永久关闭才行,不然开启之后,安装的网卡驱动也是无法使用的。
4.再次执行
sudo ./autorun.sh
有线网卡驱动安装完毕
安装无线网卡驱动
无线网卡型号是RTL8852BE,目前只有windows平台下有官方驱动,linux目前似乎只有几个开源项目。其中链接: https://github.com/lwfinger/rtw89/tree/main这个仓库给星的最多,不幸的是,目前已经修改了接口,对ubuntu平台不支持了,下载代码编译失败了。不过有另外两个仓库链接: https://github.com/lwfinger/rtw8852be和链接: https://github.com/HRex39/rtl8852be有相应的驱动可以使用,这两个差不多,据说是使用的华硕的wifi驱动,我采用后者。
安装方式十分简单,在git的README.md中有完整的安装方法