2.5G网卡调试记录

news2024/11/24 2:06:22

2.5G网卡调试记录

下载驱动

去https://www.realtek.com/zh-tw/downloads这个网站下载2.5G USB网卡对应的驱动

编译驱动

Makefile中需要进入到内核目录/lib/modules/4.19.232/build中进行内核编译,但是我们的build文件链接已经失效了,并且源文件也删除了
在这里插入图片描述
所以我们只好去重新下载一个内核代码了
使用如下命令:sudo apt-get install linux-headers-$(uname -r)
但是我们的内核版本太老了,已经无法在仓库中找到了,所以我在仓库中找到了一个说是通用的内核版本
在这里插入图片描述
然后发现不可以。。。编译的版本不能和使用的内核版本不同:
在这里插入图片描述

关于Makefile的理解参考:https://www.cnblogs.com/downey-blog/p/10486907.html

后来发现上面的方法完全是在绕圈子,直接去https://www.t-firefly.com/wiki网站下载对应的headers的deb文件,然后直接安装就行了,这样就可以解决没有build文件夹的问题

接下来解决找不到python的问题:
在这里插入图片描述
我的理解是我们使用的是python3,所以找不到“python”,所以我们可以找到我们python3的位置,为它创建一个链接:

whereis python3

在这里插入图片描述
然后为它创建链接:

sudo ln -s /usr/bin/python3 /usr/bin/python

解决了pyhton的问题后又遇到了scripts/basic/fixdep: Exec format error的问题,解决思路参考:
https://blog.csdn.net/weixin_40293570/article/details/107657238
其实就是需要重新进行make scripts编译

编译好了驱动模块以后,发生了一个很奇怪的问题:没有办法正确安装模块:
在这里插入图片描述

然后内核打印信息为:
在这里插入图片描述
但是这里没有安装驱动

解决压缩格式错误:invalid compressed data–format violated的方法
https://www.codeprj.com/blog/6936831.html

2023.1.30更新:
今天尝试了把驱动编译进内核的方法

编译驱动到内核后还是解决驱动不了网卡,以下是插上网卡后的内核输出:
在这里插入图片描述
发现使用的驱动还是cdc_ncms

==================================================================================================
刚才发现之前一直使用动态方式加载驱动模块不成功的原因是r8152已经静态地加载到内核中了,之前我们用lsmod看不到,但是使用命令:ls /sys/module 可以看到所有的驱动,在这里面就能找到r8152。

现在的情况是插上网卡之后根本看不到网卡信息了,换到我的虚拟机上试了一下,发现还是可以看到网卡信息的,但是还是使用的cdc_ncm驱动,没有把网卡正确驱动起来。

我在我自己的虚拟机上使用动态的方式加载了r8152的驱动模块,并且把rules文件放到了/etc/udev/rules.d/文件夹下,然后就发现也没发看到网卡的信息了

然后重新在网上查看相关文档,https://juejin.cn/post/7036981702769508389

发现执行了;
depmod -a
update-initramfs -u
modprobe r8152
sudo systemctl status systemd-modules-load.service
这几个命令以后,网卡就能正常使用了
内核打印信息:
在这里插入图片描述
解析一下上面的命令:
depmod:这个是生成模块之间依赖性的映射文件,这个文件供给modprobe使用
那modprobe和insmod有什么区别呢?参考这个文章:https://blog.csdn.net/Jerry_1126/article/details/55001820
简单来说就是modprobe能解决依赖性的问题,但是insmod无法解决。
所以说上面的问题很可能是因为我之前使用insmod,没有考虑依赖问题所导致的

=======================================================================================================
我在虚拟机上编译SDK得到内核映像,并且烧录到开发板中,内核中驱动的位置应该是在/lib/modules/ 内核版本 /kernel/ 这个文件夹中,但是我们的内核中并没有这个文件夹
在这里插入图片描述
插入一条知识:如何通过命令行连接wifi:https://cloud.tencent.com/developer/article/1494772

编译进入内核的方法我试了还是不行,接下来我准备把官方的统一镜像烧写到开发板后直接在开发板子上编译:

但是出现了一个非常奇怪的问题,开发板的gcc一直报错找不到文件夹:

在这里插入图片描述
解决:原来是gcc出了问题,重新下载就好了

编译成功后还是安装不了,遂放弃动态加载的方式

=======================================================================================================

之前编译完内核后内核中没有modules文件的原因是我们没有把统一固件烧到开发板上
之前整体编译无法通过的原因是没有拷贝文件系统

最终解决:
原来之前动态安装不上,包括之前编译进内核依旧无法使用的原因是在内核中驱动文件夹下/net/usb中有r8152的驱动了,所以是两个驱动冲突了,所以导致又安不上又用不了QAQ,最终解决这个问题咯,以后遇到驱动安装不上的情况要考虑是不是出现了驱动冲突。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣sql简单篇练习(八)

力扣sql简单篇练习(八) 1 修复表中的名字 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 考察的是字符串函数的用法 SELECT user_id,concat(upper(left(name,1)),lower(substr(name,2))) name FROM Users ORDER BY user_id asc1.3 运行截图 2 订单…

Qt TCP (小型聊天窗口)

实现的具体功能为: 服务器端需要主动监听,可以主动断开连接,可以发送信息给客户端客户端需要输入主机,端口号,需要主动连接,可以主动断开连接,可以发送信息给服务器端服务器端和客户端都能看到聊…

【C++算法图解专栏】一篇文章带你掌握差分算法

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📣专栏定位:为 0 基础刚入门数据结构与算法的小伙伴提供详细的讲解,也欢迎大佬们一起交流~ 📚专栏地址:https://blog.csdn.net/Newin…

hadoop.fs.FileSystem.get导致OOM的原因和解决方案

问题描述 在调用HDFS获取文件系统的get接口时,指定用户可能会导致OOM问题,示例代码如下: FileSystem fileSystem FileSystem.get(uri, conf, "hadoopuser");问题溯源 该方法源码: 在有缓存的情况下将从Cache中取&a…

Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景

概述 本文续自:Android 11 的状态栏的隐藏 PS 本文虽然同属于SystemUI, 但目前并 没有 打算整理成专橍或撰写一个系列的想法. 仅仅为了记录一些过程, 留下那些容易被遗忘的点滴. 开始下拉时状态栏图标被隐藏 状态橍的图标在用户开始触摸(ACTION_DOWN)后, 会开始展开, 显示扩展…

答题小程序题目批量导入模板以及题库文本格式规范

近期又接到了一个知识竞赛的需求,在开发答题小程序的过程中,遇到了不少难题,但是都一一克服了。凭借多年的答题小程序开发经验,我总结了一下题目批量导入题库文本格式规范。一、答题小程序题目批量导入模板小程序【答题小博士】二…

《数字经济全景白皮书》后疫情时代数字化驱动增长洞察之赛道篇

易观分析:《数字经济全景白皮书》浓缩了易观分析对于数字经济各行业经验和数据的积累,并结合数字时代企业的实际业务和未来面临的挑战,以及数字技术的创新突破等因素,最终从数字经济发展大势以及各领域案例入手,帮助企…

面试之 Python 框架 Flask、Django、DRF

Django、flask、tornado 框架的比较 ★★★★★ Django:大而全的框架。它的内部组件比较多,如 ORM、Admin、中间件、Form、ModelForm、Session、缓存、信号、CSRF等,功能也都很完善。 flask:微型框架,内部组件就比较少…

JavaScript中的事件对象、事件对象的属性

一、什么是事件对象​ 1)、 事件对象 就是保存着事件相关信息的对象。当事件发生时,会自动产生事件对象(不需要new),事件对象中包含着:事件源(发生事件的dom元素),点击是…

全网最详细的mybatis plus 条件构造器queryWrapper学习,比如and(),eq(),or(),like()等方法以及分页操作

文章目录1. 引言2. 结构关系3. 环境配置3.1 引入jar包3.2 创建数据源3.2 创建User实体类3.4 创建UserMapper类3.5 创建UserService类4. 操作演示5. 注意事项1. 引言 mybatis大家都有使用过,既面向对象又灵活可配。不友好的地方是,会随着使用出现大量xml…

一篇文章带你读懂AVL树

目录 AVL树节点的定义 AVL树的插入 AVL树的旋转 1. 新节点插入较高左子树的左侧---左左:右单旋 2.新节点插入较高右子树的右侧---右右:左单旋 3. 新节点插入较高左子树的右侧---左右:先左单旋再右单旋 4. 新节点插入较高右子树的左侧-…

人工智能自然语言处理—PageRank算法和TextRank算法详解

人工智能自然语言处理—PageRank算法和TextRank算法详解 一、PageRank算法 PageRank算法最初被用作互联网页面重要性的计算方法。它由佩奇和布林于1996年提出,并被用于谷歌搜索引擎的页面排名。事实上,PageRank可以在任何有向图上定义,然后…

公司企业如何设计微信小程序?

​很多公司企业在制作小程序的时候都会考虑一个事情,就是如何设计微信小程序。有些公司企业希望把小程序设计得非常炫酷、抓人眼球。那么问题是:公司企业微信小程序的设计是否做得越酷炫、越抓人眼球就越好呢? 答案:非也&#xf…

基于SIFT的图像Matlab拼接教程

前言图像拼接技术,将普通图像或视频图像进行无缝拼接,得到超宽视角甚至360度的全景图,这样就可以用普通数码相机实现场面宏大的景物拍摄。利用计算机进行匹配,将多幅具有重叠关系的图像拼合成为一幅具有更大视野范围的图像&#x…

(一)Spring源码解析:容器的基本实现

一、Spring的整体架构 Spring的整体架构图如下所示: 二、容器的基本实现 2.1> 核心类介绍 2.1.1> DefaultListableBeanFactory DefaultListableBeanFactory是整个bean加载的核心部分,是Spring注册及加载bean的默认实现。 XmlBeanFactory集成自…

【FLASH存储器系列十四】固态硬盘结构和FTL初探

固态硬盘是一种典型的nand flash产品应用。与传统硬盘相化,固态硬盘内部没有移动的机械磁头,而是由固态电子存储芯片(闪存芯片)阵列级联组成,下图给出了固态硬盘的内部组成。现阶段,几乎所有基于闪存的固态…

ASP.NET Core+Element+SQL Server开发校园图书管理系统(三)

随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NET Core也应运而生。本文主要基于ASP.NET CoreElementSql Server开发一个校园图书管理系统为例,简述基于MVC三层架构开发的常见知识点,前两篇文章简单介绍…

Nvidia深度学习环境安装

深度学习大型模型训练和部署,需要使用GPU,使用Pytorch、Tensorflow等深度学习框架之前需要安装驱动环境,本文系统环境:ubuntu22.04系统,四张3090显卡安装显卡驱动下载:选择显卡类型,下载驱动驱动下载路径&a…

Wireshark解析协议不匹配

Wireshark解析协议不匹配 1、问题 现有TLS/SSL over TCP的客户端、服务端相互通信,其中,服务端监听TCP端口6000。 使用tcpdump抓包6000端口,生成pcap文件6000.pcap: 使用Wireshark打开6000.pcap,显示如下&#xff1…

Hive(番外):Hive可视化工具IntelliJ IDEA

1 Hive CLI、Beeline CLI Hive自带的命令行客户端 优点:不需要额外安装 缺点:编写SQL环境恶劣,无有效提示,无语法高亮,误操作几率高 2 文本编辑器 Sublime、Emacs 、EditPlus、UltraEdit、Visual Studio Code等 有…