一、先定位 r8127 驱动 ko 文件路径
1、查找驱动源文件位置
执行后看filename:字段,就是 ko 真实路径,一般格式: /lib/modules/[内核版本]/extra/r8127.ko
2、快速示例查找命令
find /lib/modules -name "r8127.ko"
输出路径 = 驱动文件真实位置
二、复制驱动到 U 盘(sda/sde 外接 U 盘)
mkdir -p /mnt/usbmount /dev/sda1 /mnt/usb
用fdisk -l确认 U 盘分区名,不是 sda1 就替换成实际盘符
- 拷贝 ko 文件(把下面路径替换成 find 查到的真实路径)
cp /lib/modules/5.xx.x/extra/r8127.ko /mnt/usb/
三、补充说明
lsmod里 r8127 后面数字 = 驱动占用内存大小,0 代表没有应用挂载、可直接卸载 / 拷贝;
tar -zcvf r8127_driver.tar.gz /lib/modules/(uname -r)/extracp /r8127/r8127.ko /lib/modules/(uname -r) -name r8127.ko
拷贝这台原生 ko 到故障机,即可直接加载。
三、附带提示
Could not chdir to home directory /home/ugreen: No such file or directoryrootfs 损坏导致用户家目录丢失,不影响驱动安装操作。


逐条拆解操作 & 逻辑
1、本机内核确认
Linux DXP4900-0A32 6.12.30+
当前机器内核 6.12.30+,和r8127.ko编译内核版本完全匹配,可以正常加载。
2、操作分步说明
① 驱动源文件在 /root/r8127/r8127.ko
/root目录存在r8127驱动文件夹。
② 把 r8127.ko 复制到系统标准驱动目录
cp -r /root/r8127/r8127.ko /lib/modules/6.12.30+/kernel/extra/
/lib/modules/6.12.30+/kernel/extra/:系统额外驱动存放目录,内核开机自动检索这个路径的 ko。
③ 更新内核驱动依赖索引
作用:更新modules.dep驱动依赖列表,让系统识别新增的 r8127 驱动。
④ 设置开机自动加载驱动
echo "r8127" >> /etc/modules-load.d/modules.conf
写入配置:系统开机自动modprobe r8127加载网卡,不用每次手动 insmod。
⑤ reboot 重启生效
重启后验证命令(开机后输入)
✅ 出现 r8127 模块 + eth 网口 = 永久安装成功。
补充关键点
- 之前驱动丢失根源:故障机内核 6.18.15 和 6.12.30 + 驱动版本不兼容 + rootfs 损坏
- 当前这台 6.12.30 + 机器操作全正确,驱动永久固化,重启不会丢
Linux find 命令完整用法(批量查找文件 / 日志 / 库)
find命令用法:find /lib/modules -name "r8127.ko"
基础语法
find [搜索起始目录] [匹配条件] [执行动作]
一、基础查找(按名称搜索,最常用)
1. 精确匹配文件名
# 在/根目录找pt_linux_x64程序find / -name "pt_linux_x64"# 当前目录找Cinebench.exefind . -name "Cinebench.exe"# /PerformanceTest目录找所有zip压缩包find /PerformanceTest -name "*.zip"
2. 忽略大小写 -iname
# 不区分大小写找cinebench相关文件find ~ -iname "*cinebench*"
二、按文件类型过滤 -type
参数:
示例:
# 只查找文件夹find /root -type d -name "PerformanceTest"# 只找后缀.so库文件find /usr/lib -type f -name "*.so"# 查找所有.sh脚本文件find . -type f -name "*.sh"
三、按文件大小查找 -size
单位:c字节、kKB、MMB、GGB
# 查找大于1G的文件find /mnt -size +1G# 查找小于100MB的log日志find /var/log -size -100M# 等于10KB的文件find . -size 10k
四、按时间筛选(日志 / 临时文件清理)
1. 访问时间 -atime
# 7天内访问过的文件find /root -atime -7# 超过30天没访问的文件find /tmp -atime +30
2. 修改时间 -mtime(文件内容改动)
# 24小时内修改过的文件find . -mtime -1
3. 分钟级 -mmin
# 10分钟内新建/修改的文件find . -mmin -10
五、按权限 / 用户查找
# 查找777权限文件find / -type f -perm 777# 查找root用户创建的文件find /home -user root
六、搭配执行动作(核心实用功能)
1. -ls:列出文件详细信息(类似 ls -l)
find /PerformanceTest -name "*.deb" -ls
2. -delete:批量删除匹配文件(谨慎使用!)
# 删除所有.log临时日志find . -name "*.log" -delete# 删除tmp下7天未访问文件find /tmp -atime +7 -delete
3. -exec 对查找结果执行自定义命令
格式:-exec 命令 {} \;{} = 匹配到的文件路径占位符
# 找到deb包,批量安装find /PerformanceTest/lib -name "*.deb" -exec dpkg -i {} \;# 找到exe文件,赋予执行权限find . -name "*.exe" -exec chmod +x {} \;# 查找so库,打印依赖lddfind . -name "*.so" -exec ldd {} \;
4. -ok:带确认的 exec(删除前弹窗确认,安全)
find . -name "*.tmp" -ok rm {} \;
七、常用组合实战(适配你 NAS 测试场景)
场景 1:查找所有崩溃日志 BugReport.txt
find /root -name "BugReport.txt" -ls
场景 2:批量清理测试临时文件
find /PerformanceTest -name "*.tmp" -delete
场景 3:查找缺失依赖,批量查看 so 库
find /usr/lib /lib -name "libncurses*.so" -ls
场景 4:查找所有 sysbench、pt_linux 测试程序
find / -type f -name "sysbench" -o -name "pt_linux_x64"
场景 5:过滤排除目录(不搜索 /sys/proc 系统目录)
find / -path /sys -prune -o -path /proc -prune -o -name "cinebench*" -print
八、补充参数
-maxdepth n
# 只搜索当前目录一级,不进子文件夹find . -maxdepth 1 -name "*.zip"
-o
# 找zip或deb文件find . -name "*.zip" -o -name "*.deb"
-and
# 大于100M且是压缩包find /mnt -size +100M -and -name "*.zip"
Linux 查看网卡驱动全套命令(Debian/Ubuntu NAS 适用,按实用优先级排序)
前置:先查看本机网卡名称
先执行这条,获取所有网卡设备名(eth0/enp2s0/enxxxxx)
输出示例:eth0、enp0s31f6 就是网卡名,下面命令替换成你的网卡名称即可。
方法 1:ethtool(最推荐,直接输出驱动名 + 版本 + 固件)
1. 先安装工具(Debian 默认不带)
2. 查看单网卡完整驱动信息
# 替换eth0为你自己的网卡名ethtool -i eth0
输出字段说明:
driver: r8169 # 网卡驱动模块名version: 6.0.5.10 # 驱动版本号firmware-version: 03.01bus-info: 0000:01:00.0 # PCI硬件地址
方法 2:lspci -k(无需额外安装,查看 PCI 网卡 + 绑定驱动)
查看所有以太网硬件 + 对应驱动
lspci -k | grep -A 5 -i ethernet
输出解读:Kernel driver in use: xxx 就是当前正在使用的驱动
01:00.0 Ethernet controller: Realtek RTL8125 2.5GbE Kernel driver in use: r8169 Kernel modules: r8169
方法 3:lsmod 查看已加载的网卡驱动内核模块
列出系统所有已加载驱动,过滤网卡相关模块
lsmod | grep -E "r8169|e1000|igb|ice|tg3"
- r8169:瑞昱 Realtek 网卡(最常见 2.5G / 千兆)
方法 4:modinfo 查看驱动模块详细源码 / 作者 / 参数
拿到驱动名后(比如 r8169),查看完整驱动详情
能看到:版本、源码路径、支持硬件列表、驱动参数。
方法 5:lshw 一次性输出全部网卡完整硬件 + 驱动
安装
执行
会打印:网卡型号、厂商、驱动名、速率、MAC 地址全套信息。
方法 6:/sys 底层文件查看(纯内核原生,无需工具)
# 替换eth0为你的网卡ls -l /sys/class/net/eth0/device/driver
输出示例:driver -> ../../../bus/pci/drivers/r8169,末尾就是驱动名。
方法 7:dmesg 开机日志,查看驱动加载日志
dmesg | grep -i eth# 或者过滤驱动dmesg | grep r8169
可以看到开机时驱动初始化、协商速率、报错日志(排查网卡丢包 / 断线专用)。
实操完整流程(NAS 快速排查步骤)
- 查驱动名 + 版本:
ethtool -i eth0 - 看开机有无驱动报错:
dmesg | grep eth0
常见网卡驱动对应型号
表格
| |
|---|
| Realtek RTL8111/RTL8125 千兆 / 2.5G |
| |
| |
| |
| USB 外置网卡 |
Marvell(马威尔)网卡 Linux 驱动完整手册
一、Marvell 网卡主流驱动模块对应芯片(区分 PCI 独立网卡 / ARM 内置 SoC / 交换机)
1. PCIe Yukon 系列台式 / 服务器千兆网卡(最常见 x86 NAS 主板 Marvell 网卡)
驱动名:skge(Yukon-2 / 88E8053/8056/8058/8070 千兆 PCIe)
- 老内核 2.6 早期叫
sk98lin,新版内核统一合并为skge - 适用:PC 主板自带 Marvell 千兆、独立 Marvell PCIe 网卡
2. ARM 架构 NAS / 路由器内置 Marvell 以太网(你绿联 DXP 系列 ARM 设备常用)
mv643xx_eth:老款 Orion/Kirkwood ARM SoC(88F6281/88F6282 老 NAS)mvneta:Armada 370/38x/XP 新一代 ARM 内置 MAC(新款 Marvell ARM NAS 主流)mvpp2:Armada 375/7040 多口千兆 / 2.5G 内置网卡
3. Marvell 交换机芯片(多网口 NAS 内置 88E6xxx 交换芯片)
驱动:mv88e6xxx + DSA 子系统,管理多网口 VLAN、链路聚合
4. Marvell 万兆网卡
mvli2:Marvell 88X3120/88X3310 万兆电口axgbe:新款 Marvell 10G/25G 万兆光纤网卡
二、第一步:先查看本机 Marvell 网卡型号 + 当前驱动
1. 查看所有以太网控制器,筛选 Marvell 硬件
lspci | grep -i marvell# 同时打印绑定驱动lspci -k | grep -A5 -i marvell
输出示例(skge 驱动):
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller Kernel driver in use: skge Kernel modules: skge
2. ethtool 查看驱动版本、固件、总线信息(推荐)
# 先看网卡名 ip addrethtool -i eth0
输出关键字段:
driver: skgeversion: 1.14firmware-version: 1.0.1bus-info: 0000:01:00.0
3. 查看驱动模块详情(确认支持芯片)
modinfo skge# 替换skge为你查到的驱动名 mvneta / mvli2
4. 查看驱动是否加载成功
lsmod | grep -E "skge|mvneta|mvli2|mv643xx"
三、Debian/Ubuntu 安装 / 加载 Marvell 驱动
1. 内核自带开源驱动(绝大多数场景无需手动编译)
Linux 5.x/6.x 内核原生内置 skge、mvneta、mv88e6xxx,系统自动识别,缺少固件才会异常。 安装固件包:
apt updateapt install firmware-misc-nonfree -y
该包包含 Marvell 网卡 PHY 固件,解决网卡识别不到、协商速率异常。
2. 驱动手动加载 / 卸载
# 加载skge驱动modprobe skge# 卸载驱动rmmod skge
3. 开机自动加载驱动(驱动未自动绑定网卡时)
echo "skge" >> /etc/modulesupdate-initramfs -ureboot
四、Marvell 网卡常见故障排查
- 网卡识别不到、只有 lo 回环网卡
- 缺失固件:安装
firmware-misc-nonfree; - 内核未开启 Marvell 驱动模块,需重新编译内核开启
CONFIG_SKGE/CONFIG_MVNETA。
- 只能跑 100M,无法协商千兆
- 大量丢包、断流 调整驱动中断聚合参数:
ethtool -C eth0 rx-frames 32 tx-frames 32
- ARM mvneta 驱动满载降速 开启性能调频,关闭节能:
cpupower frequency-set -g performance
五、快速区分 x86 PC 与 ARM NAS 驱动
表格
六、实操完整排查流程
- 识别硬件:
lspci | grep -i marvell - 确认当前驱动:
lspci -k | grep -A5 marvell - 查看驱动版本 / 固件:
ethtool -i eth0 - 补全固件:
apt install firmware-misc-nonfree - 重启重新加载驱动:
update-initramfs -u && reboot
复制 atlantic 网卡驱动完整操作(你的 AQC113 万兆网卡)
一、先找到驱动文件路径
1. 查询驱动模块完整路径
输出里 filename: 就是驱动 .ko 文件真实路径,示例:
filename: /lib/modules/6.1.0-xx-amd64/kernel/drivers/net/ethernet/aquantia/atlantic/atlantic.ko
2. 快速提取路径(一键输出)
modinfo atlantic | grep filename | awk '{print (modinfo atlantic | awk '/filename/ {print (dirname 2}'))# 复制整个atlantic驱动文件夹到/root/drivercp -r (uname -r)/kernel/drivers/net/ethernet/aquantia/# 还原固件cp -r /root/driver/firmware/aquantia /lib/firmware/# 更新内核引导缓存update-initramfs -u# 加载驱动modprobe atlantic
五、补充常用操作
tar -zcvf atlantic_driver.tar.gz /root/driver
# 检查模块合法性modinfo /root/driver/atlantic/atlantic.ko
rmmod atlanticmodprobe atlantic