kali linux查看网卡_CentOS7.6安装无线网卡驱动|Linux如何安装网卡驱动|Linux如何让配置网卡...

此前提到,Thinkpad E490安装CentOS7.6遇到内核崩溃的问题,解决之后,安装CentOS7.6操作系统成功。

安装时发现,系统能够检测到有线网卡,但无法检测到无线网卡,说明CentOS7.6对此无线网卡的支持不足,缺失对应驱动。

此前安装的Windows10,Kali2019.2等操作系统都可以使用无线网卡。使用Kali过程中,无线还算稳定,去看了下Kali的内核版本为linux kernel 4.19.37,而当前CentOS7.6的内核版本为linux kernel 3.10.957。想想如从Kali对应版本的源码中提取对应网卡驱动源码来编译应该是可以的,但CentOS内核版本较低,又怕有些API无法兼容,或许要改些源码才能支持。

查看ThinkPad E490的硬件配置,无线网卡采用的是Realtek8822be。根据相关信息到搜索引擎查了些材料,大多是讲Ubuntu系统如何解决的,对CentOS的很少。对于Ubuntu,也是提到linux kernel 4.14开始内核直接有支持Realtek8822be无线网卡驱动。至于linux kernel 3.x,在github也有一些源码可以解决,但提到好多不稳定因素(如:系统重启了,又无线连接无线;无线常有断流现象;又有说要先进入Windows系统,再重启进入CentOS,无线网卡才能找扫描到无线连接列表。。。。)。

笔者抱着试一试的心态,先是到github找到rtlwifi-next项目,看到最近更新是17年的,预料到应该是没法稳定了。更新下载源码编译安装试了下,无线是可以用,但。。。网上说的问题都有(看来还是要另寻方案)。

0c91dd7b1d2af1fdc96a032b1719a1cf.png

6ab2beb5edbeff383921291f37287d3a.png

新的方案,首选是对标Kali的内核版本,于是上http://www.kernel.org查看最新的版本,找到linux kernel 4.19.67,下载来分析下。

e9b3ffcc8a4ac3d121853143de6e2c7b.png

分析之后,发现rtl8822be是在driversstagingrtlwifi目录下,于是复制rtlwifi目录出来,移植CentOS7.6系统中。

071e5432f6b8f0f2bbd81bfc14fd962a.png

在CentOS7.6系统中,进行编译之前,先对Makefile补充了一些内容(如下图所示,加到原Makefile顶部)

b8964d2d4543900fe7e48997c1c1abe9.png

加到原Makefile底部(如下图所示)

303dbd2ebeb2c7ebd4cdec22b05932a4.png

编译时,需要root权限,系统要安装有当前内核版本的模块、头文件等。尝试执行make,结果发现有几个小问题,需要修改。

首先在base.h文件中增加一个定义(如下图所示)

a7106612d62af5dc622119e2029eb03d.png

其次core.c文件中,ktime_get_real_seconds()函数无法识别,改成另外方案替代。

struct timeval ts;

......

do_gettimeofday(&ts);

用ts.tv_sec替代ktime_get_real_seconds()。

rtl_op_suspend()、rtl_op_resume()二个函数都要修改。。

12e5d5b340d99ea52c8dabccce43b324.png

改好后,再进行make 编译,已经成功(如下图所示)。

242a3aeb245a28b6a01b706682816e99.png

ee1bf94308caf13698dfde1b9c53f147.png

接着执行make install安装(如下图所示)。

ac164708c67245b14283edb5e03560ec.png

执行modprobe r8822be,动态加载模块(如下图所示)。

526f8ae2b05e3e302c6477c0b810b42f.png

执行lsmod | grep r8822be,查看(如下图所示)。

b14e5f7bea2f094abd412024938b3996.png

执行modinfo r8822be,查看模块相关信息(如下图所示)。

872ecf612b25714a328c6837b4b109c3.png

安装完后,可以使用无线网卡了!接下来几天体验了下,比较稳定了,问题倒也还有,只是不常现。Realtek8822be无线网卡驱动还是有一些未完成的工作,在分析这些代码过程中,看到多多处代码注释有TODO字眼,离稳定版还有一些距离的。这里贴出TODO列表(如下图所示),有兴趣的朋友可加入一起完成噢~~

e0d62eecd5e8f2a9de3c8ae1d9e9e72e.png

本文只是描述在CentOS7.6系统中如何解决Realtek8822be无线网卡驱动安装的问题。如您是在其他发行版linux系统中遇到类似问题、或者是其他不同厂家的电脑有类似问题亦可参考此文,如有不懂之处,可互相交流解决。

注:本文为Toyo Lau原创,未经许可不得在任何平台转载,侵权必究。如需转载,可关注公众号,在后台留言,与作者联系,取得许可才能转载~​

6ab2beb5edbeff383921291f37287d3a.png

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

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

相关文章

python本地编译器_Python学习札记(0)——Python开发环境搭载及推荐几款Python编译器...

1、进入网址:http://www.python.org/download/#id102、选择版本:其中有两个Python版本,一个为3.0以上版本,一个为2.7版本,主要区别有一些特定的软件只支持2.7版本其中的两个windows版本为:Python 3.3.3 Win…

如何将mysql的数据库渲染到页面_vue.js实现数据库的JSON数据输出渲染到html页面功能示例...

本文实例讲述了vue.js实现数据库的JSON数据输出渲染到html页面功能。分享给大家供大家参考,具体如下:1、首先通过json.php把数据库给输出为json格式的数据[{"id":1,"resname":"百度","resimg":"http://www…

java模块_Java 9 揭秘(2. 模块化系统)

文 by / 林本托Tips做一个终身学习的人。在此章节中,主要介绍以下内容:在JDK 9之前Java源代码用于编写,打包和部署的方式以及该方法的潜在问题JDK 9中有哪些模块如何声明模块及其依赖关系如何封装模块什么是模块路径什么是可观察的模块如何打…

java swing滚动面板_java swing 之 JScrollPane(滚动面板)的使用

/*** java swing 之JScrollPane面板* 在设置界面时,可能会遇到在一个较小的容器窗体中显示一个较大部分的内容,这时可以使用* JScrollPane面板,JscrollPane面板是带滚动条的面板,也是一种容器,但是常用于布置单个* 控件…

java reader_Java之字符输入流,Reader类的简单介绍

各位小伙伴们大家好,在之前的文章中,小编介绍了Java之文件复制的简单介绍,多是一些关于字节的知识,这次小编要介绍的是字符输入流Reader类,具体如下:java.io.Reader:字符输入流,是字符输入流的最…

java object 转byte_Java将对象Object转换成Byte字节数组

Java将对象Object转换成Byte字节数组的代码如下:/*** from www.ityuan.com* Description: Java将对象Object转换成Byte字节数组*/public class ObjectToByteTester implements Serializable {private static final long serialVersionUID 932872837809539736L;publ…

java redis brpop_Redis实战 | 5种Redis数据类型详解

我们知道Redis是目前非常主流的KV数据库,它因高性能的读写能力而著称,其实还有另外一个优势,就是Redis提供了更加丰富的数据类型,这使得Redis有着更加广泛的使用场景。那Redis提供给用户的有哪些数据类型呢?主要有&…

java二分查找递归_java学习之—递归实现二分查找法

/*** 递归实现二分查找法* Create by Administrator* 2018/6/21 0021* 上午 11:25**/class OrdArray{private long[] a;private int nElems;public OrdArray(int max){this.a new long[max];this.nElems 0;}public int size(){return nElems;}public long find(long searchKe…

java 抽象类对象_Java基础___面向对象__抽象类

抽象类在面向对象的概念中,所以的对象都是通过类来描绘的,但是反过来,并不是多余类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类除了不能实例化对象之外&#…

java 对象克隆_JAVA对象克隆

1> 为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。2> 在派生类中覆盖基类的clone(),并声明为public。3> 在派生类的clone()方法中,调用super.clone()。4> 在派生类中实现Cloneable接口。4> 没有抽象方法的接口叫…

产生随机数java_java产生随机数的几种方式

一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。二.在java.util这个包里面提供…

java 线程 单例_多线程单例模式

多线程单例模式原文:https://blog.csdn.net/u011726005/article/details/823565381. 饿汉模式使用饿汉模式实现单例是十分简单的,并且有效避免了线程安全问题,因为将该单例对象定义为static变量,程序启动即将其构造完成了。代码实…

java 中文 编译_java编译带中文是显示乱码的错误

FirstJava.java:3: 错误: 编码GBK的不可映射字符System.out.println("娆㈣繋瀛︿範Java绋嬪簭锛?")锛?^FirstJava.java:3: 错误: 编码GBK的不可映射字符System.out.println("娆㈣繋瀛︿範Java绋嬪簭锛?")锛?^FirstJava.java:4: 错误: 编码GBK的不可映射…

java 中间件 pdf_Java中间件技术及其应用开发 PDF扫描版[51MB]

Java中间件技术及其应用开发 内容提要:本书使用丰富的案例介绍了使用Java技术进行中间件编程的方法及技巧,包括JSP、JavaServlet、JDBC数据库开发、使用JavaMail开发邮件应用程序、RMI(远程方法调用)、EnterpriseJavaBeans开发、使用CORBA以及JavaIDL进行…

java千万用户实现实时排名_想知道谁是你的最佳用户?基于Redis实现排行榜周期榜与最近N期榜...

本文由云社区发表前言业务已基于Redis实现了一个高可用的排行榜服务,长期以来相安无事。有一天,产品说:我要一个按周排名的排行榜,以反映本周内用户的活跃情况。于是周榜(按周重置更新的榜单)诞生了。为了满足产品多变的需求&…

java循环左一_左旋转字符串(Java)-循环Index方式

左旋转字符串(Java)-循环Index方式题目要求​ 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S”…

java jna jni_JNA, Java Native开发利器

下面的文章由转载而来,java与c的调用基本思路是这样子,但是结合我的使用经验,在使用jna和jnative的时候需要考虑到jdk的版本,jnative跟jdk1.4的结合可能会有点问题,因为我之前选的是jnative,而我们的jdk版本…

java枚举类型高级用法_枚举及其高级用法

Enum源码:Enum.java/** Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.*/packagejava.lang;importjava.io.Serializable;importjava.io.IOException;importja…

java 解析http返回的xml_Java解析调用webservice服务的返回XML串详解

本文由Markdown语法编辑器编辑完成。1. 需求分析;已知当在调用某一webservice的服务时,如果调用成功,会接受到该服务的返回XML串。后端在获取了该XML原始串时,需要进行解析,将其解析为JSON格式,以便于发送到…

java车次信息_从火车站车次公示栏来学Java读写锁

Java多线程并发之读写锁本文主要内容:读写锁的理论;通过生活中例子来理解读写锁;读写锁的代码演示;读写锁总结。通过理论(总结)-例子-代码-然后再次总结,这四个步骤来让大家对读写锁的深刻理解。本篇是《凯哥(凯哥Java…