设备启动顺序导致OpenWrt找不到网卡错误

编程入门 行业动态 更新时间:2024-10-17 20:28:16

设备启动顺序导致OpenWrt<a href=https://www.elefans.com/category/jswz/34/1771416.html style=找不到网卡错误"/>

设备启动顺序导致OpenWrt找不到网卡错误

       先说结论,固态硬盘和U盘存在新旧不同版本OpenWrt,错误的启动顺序看上去像正常从U盘启动,但实际从固态硬盘启动了旧版本的系统内核,从U盘启动了新版本Openwrt的其他程序,二者不一致导致网卡等无法正确驱动。只有在机器存在多个不同版本OpenWrt固件时存在这个问题,启动时注意U盘启动顺序,或手动选择U盘启动。

一、问题现象

       起因是最近考虑升级x86软路由的OpenWrt版本,自己的机器系统存在固态硬盘里,而非U盘。升级方式就是重装,采用的方法是找一个U盘中写入OpenWrt镜像,然后从U盘启动后用dd命令写入镜像到机器的固态硬盘里。机器之前应该设置了U盘优先,所以重启后没有手动选择启动项,插入U盘后正常启动到了新版系统命令行,但ifconfig看不到网卡。

二、分析问题

       机器的网卡是Realtek RTL8168,之前一直运行稳定。用lspci -v命令查看可以看到正确的网卡信息,但未加载显示驱动。用dmesg | grep -i eth查看没有任何信息输出。期间走了一些弯路,一开始以为是镜像的驱动集成问题,又找了其他版本镜像问题依旧,这时候感觉应该不是镜像问题。

       回到原点,搜索了解dmesg的用途,知道dmesg命令会读取缓冲区中的信息,主要记录了包括内核初始化时的信息、系统调用的结果信息、设备的插拔信息等,所以网卡驱动的加载或者加载出错的信息在dmesg应该必须留痕,dmesg | grep -i eth找不到说明有问题。

       用笨方法一行行阅读dmesg返回信息,发现kmodloader: no module folders for kernel version 5.4.175这行比较醒目,想到之前搜索网卡驱动是kmod-r8168,这个kmodloader肯定是大大有关。搜索了解到kmodloader用于加载kmod,这时候才注意到5.4.175并非U盘中的新版本。反过来,注意dmesg信息第一行Linux version确实也是旧版本。kmodloader加载时到/lib/modules/目录中找是否有系统版本号命名目录,系统版本不匹配所以无法加载。

更多推荐

设备启动顺序导致OpenWrt找不到网卡错误

本文发布于:2023-12-05 21:38:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1665382.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:找不到   网卡   顺序   错误   设备

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!