新装的Linux没法有线联网,查了一下是网卡型号和驱动不匹配的原因。(如果是没有驱动,可以查看网卡型号,然后跳到下载驱动那里看)网上驱动不匹配的解决方法基本都是联网的终端命令,但是驱动不匹配没网,因此写一篇不需要联网的方法。
条件:一台可以联网的电脑(用来下载驱动)、Ubuntu电脑、u盘(传驱动)、Ubuntu系统盘(里面有dkms、gcc等)
1、查看网卡型号
# 查看网卡型号
lspci | grep net
备注:网卡型号为 RTL8125
2、查看网卡驱动
lspci -k
在我这里,驱动版本是r8169,而显卡是8125,因此是显卡和驱动不匹配
首先要卸载之前的r8169驱动,不然重启还是默认r8169
3、卸载原有的r8169的驱动
3.1查看原始r8169驱动文件所在的位置
# 查看驱动位置
modinfo r8169 | grep filename
删除或者移动r8169.ko,卸载驱动(很多次才成功)
sudo rm -rf <找到的path>/r8169.ko
mv r8169.ko r8169.ko.backup
# 卸载驱动
sudo rmmod r8169
# 查看是否卸载成功
sudo lsmod | grep r8169
卸载后看一下是否卸载成功,如果kernel modules里没有r8169就成功了
lspci -k
4、找一台有网的电脑下载螃蟹卡的驱动下载对应系统网卡的驱动版本(r8125)
选择Linux的r8125下载,后面的version是版本号也要记住,我下载的是r8125 v9.011.01下载后通过u盘拷到Ubuntu电脑由于是新装的ubuntu,可能没有dkms,可以从ubuntu的安装u盘中找到他们并安装(dkms依赖gcc、make等需要把他们一起安装)
可以参考这篇文章:离线安装dkms
将下载好的驱动解压(注意驱动号和版本号,要替换成自己下载的,后面也是)
将下载好的驱动解压(注意驱动号和版本号,要替换成自己下载的,后面也是)
sudo tar xvf r8125-9.010.01.tar.bz2 -C /usr/src
进入到/usr/src/配置dkms
cd /usr/src/r8125-9.010.01
touch dkms.conf
输入:
PACKAGE_NAME=Realtek_r8125
PACKAGE_VERSION=9.010.01
DEST_MODULE_LOCATION=/updates/dkms
BUILT_MODULE_NAME=r8125
BUILT_MODULE_LOCATION=src/
MAKE="'make' -C src/ all"
CLEAN="'make' -C src/ clean"
AUTOINSTALL="yes"
编译dkms并挂载r8125
sudo dkms add -m r8125 -v 9.010.01
sudo dkms build -m r8125 -v 9.010.01
sudo dkms install -m r8125 -v 9.010.01
sudo depmod -a
sudo modprobe r8125
问题:
如果最开始没有卸载r8169,可能会出现:modprobe: ERROR: could not insert ‘r8125’: Exec format error
解决:
先按照上文的方法卸掉r8169
把r8125卸载,从来一遍挂载编译
sudo dkms remove r8125/9.010.01 --all
cd /usr/src/r8125-9.010.01
sudo dkms add -m r8125 -v 9.010.01
sudo dkms build -m r8125 -v 9.010.01
sudo dkms install -m r8125 -v 9.010.01
sudo depmod -a
sudo modprobe r8125
这样就大功告成了,这个时候你回到桌面右上角看,就会有 有线网络图标 了
7、到了这里,如果开始安装的时候没有去配置网卡信息,正常来说是可以使用的了。
但是,由于我是新安装的系统,缺少gcc make dkms等packages,所以可能需要离线安装一下。下面是安装过程。
Ubuntu-离线安装基本依赖(gcc、make、dkms等)
由于ubuntu系统刚刚安装完毕,还未配置网卡,无法实现网络在线安装依赖,所以需要离线安装相关的依赖,然后再配置相关的无线网卡!网上的教程很多都是需要自己单独下载文件,然后按照顺序进行安装,这样比较麻烦,所以本文直接利用自己当初的启动U盘,找到需要的依赖直接进行安装即可!
查看U盘对应的设备名称
sudo fdisk -l
# 以下就是需要挂载的U盘
Disk /dev/sdc: 14.9 GiB, 15938355200 bytes, 31129600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xcad4ebeaDevice Boot Start End Sectors Size Id Type
# 系统给U盘分配的设备文件名
/dev/sdc4 * 256 31129599 31129344 14.9G c W95 FAT32 (LBA)
挂载U盘
sudo mkdir /mnt/usb
sudo mount -t vfat -o iocharset=utf8 /dev/sdc4 /mnt/usb/
查看U盘内的文件
cd /mnt/usb/ && ls
1
boot EFI md5sum.txt preseed ubuntu
casper install pics README.diskdefines
dists isolinux pool 'System Volume Information'
所有的基本依赖文件都在pool/main下!
gcc离线安装
cd pool/main/ && find -name gcc*
1
查询的结果如下,gcc相关的文件都在g目录下
./g/gcc-7
./g/gcc-7/gcc-7_7.4.0-1ubuntu1~18.04.1_amd64.deb
./g/gcc-8
./g/gcc-defaults
./g/gcc-defaults/gcc_7.4.0-1ubuntu2.3_amd64.deb
注意:直接安装gcc对应的deb文件会提示缺少相关的依赖,因此需要先安装其需要的依赖!以下的安装顺序可能会有偏差,可根据实际情况作出调整!
/g/gcc-8中所有的lib文件:
sudo dpkg -i lib*.deb
1
pool/main/l/linux/下的deb文件:
sudo dpkg -i linux-libc-dev_4.15.0-76.86_amd64.deb
1
/g/glibc中所有的lib文件:
sudo dpkg -i lib*.deb
1
/g/gcc-7文件夹中的文件:
sudo dpkg -i lib*.deb
sudo dpkg -i g*.deb
/g/gcc-8文件夹中的文件:
sudo dpkg -i lib*.deb
1
make离线安装
cd /mnt/usb/pool/main/m/make-dfsg
sudo dpkg -i make_4.1-9.1ubuntu1_amd64.deb
dkms离线安装
cd /mnt/usb/pool/main/d/dkms
sudo dpkg -i dkms_2.3-3ubuntu9.7_all.deb
还要去下载一个gcc的安装包。
.下载gcc7.5整合依赖包
依赖实在是太多太繁琐了,我直接整理一波好吧
百度云地址:
链接:https://pan.baidu.com/s/1sHYZMW2-B3A84yD0erFpAA?pwd=lh3f
提取码:lh3f
这个安装完后就可以使用了。