https://www.hcaijin.com/kernel-upgrade-fix-rtl8821ce/

查看无线驱动信息

通过ip l可以看到只有有线网卡

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000link/ether 8c:16:45:3f:68:0d brd ff:ff:ff:ff:ff:ff

查看无线网卡驱动,找到相应的驱动去下载就好了

lspci | grep -i 'newwork'Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter

下载无线驱动源码

git clone https://github.com/endlessm/linux

由于这个项目特别的大,这里只需要下载drivers/net/wireless/rtl8821ce

编译

修改Makefile

这里需要修改Makefile中TopDIR变量的值为当前路径,否则会提示错误退出

cd drivers/net/wireless/rtl8821ce
sed -i 's/export TopDIR ?=/export TopDIR ?= $(shell pwd)/g' Makefile

执行make

在最新的内核版本(4.16.9-1-ARCH)下编译失败,提示如下:

graz@graz ~/Source/driver_net_wireless/rtl8821ce % make
/usr/bin/make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.16.9-1-ARCH/build M=/home/graz/Source/driver_net_wireless/rtl8821ce  modules
make[1]: Entering directory '/usr/lib/modules/4.16.9-1-ARCH/build'CC [M]  /home/graz/Source/driver_net_wireless/rtl8821ce/core/rtw_cmd.o
In file included from ./include/linux/list.h:9,from ./include/linux/module.h:9,from /home/graz/Source/driver_net_wireless/rtl8821ce/include/basic_types.h:81,from /home/graz/Source/driver_net_wireless/rtl8821ce/include/drv_types.h:31,from /home/graz/Source/driver_net_wireless/rtl8821ce/core/rtw_cmd.c:22:
./include/linux/kernel.h:6:10: fatal error: stdarg.h: No such file or directory#include <stdarg.h>^~~~~~~~~~
compilation terminated.

通过locate stdarg.h找到头文件 “/usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include/stdarg.h”

ln -s /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include/stdarg.h include/

软链接创建好后,就可以执行make编译成功

安装

sudo make install
modprobe 8821ce

最后,没有报错的话,通过ip l 就可以找到这个无线网卡了

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000link/ether 8c:16:45:3f:68:0d brd ff:ff:ff:ff:ff:ff
3: wlp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000link/ether 70:c9:4e:d8:6d:01 brd ff:ff:ff:ff:ff:ff

Arch Linux 内核更新 修复无线模块rtl8821ce编译失败的问题相关推荐

  1. 红帽linux内核修复,红帽Linux 7和CentOS 7的新Linux内核更新修复两个错误

    红帽安全团队发布了一个新的Linux内核更新,该更新解决了所有受支持的Red Hat Enterprise Linux 7系统的Linux 3.10内核软件包中的两个重要错误. 新的Linux内核更新 ...

  2. 真真切切的100%新手向---安装Arch Linux(更新时间 2018/07-26)

    Arch Linux安装教程 连续安装十几次失败后终于成功的心得... 目录 Arch Linux安装教程 1.下载Arch Linux镜像并制作U盘启动工具 2. 将下载的镜像写入U盘 3. 开始安 ...

  3. Linux内核学习--内存管理模块

    Linux内核学习--内存管理模块 首先,Linux内核主要由五个部分组成,他们分别是:进程调度模块.内存管理模块.文件系统模块.进程间通信模块和网络接口模块. 本部分所讲的内存是内存管理模块,其主要 ...

  4. 解析Linux内核的基本的模块管理与时间管理操作---超时处理【转】

    转自:http://www.jb51.net/article/79960.htm 这篇文章主要介绍了Linux内核的基本的模块管理与时间管理操作,包括模块加载卸载函数的使用和定时器的用法等知识,需要的 ...

  5. linux 内核学习11-内核模块参数

    linux 内核学习11-内核模块参数 内核模块作为一个可拓展的动态模块,为Linux内核提供灵活性,所以需要依据不同的场景来传递不同的参数,实现不同的功能 1. 准备工作 #define modul ...

  6. Canonical为所有支持的Ubuntu LTS系统发布了新的Linux内核更新

    导读 Canonical近日为所有支持的Ubuntu LTS系统发布了新的Linux内核更新,以解决总共19个安全漏洞. 新的Ubuntu内核更新仅适用于长期支持的Ubuntu系统,包括Ubuntu ...

  7. Maven多模块项目编译失败:程序包xxx不存在

    Maven多模块项目编译失败:程序包xxx不存在 项目结构如下: parent(父类工程) | - - - - - common(通用工具类子工程) | - - - - - projectA(spri ...

  8. linux内核centos6.9,CentOS6.9手动编译并更新Kernel内核版本

    Kernel是Linux操作系统的核心部分.它由操作系统中用于管理存储器.文件.外设和系统资源的那些部分组成.Kernel是操作系统的核心,掌控着所有硬件设备的控制权. 内核就是系统上面的一个文件,这 ...

  9. linux 内核 netfilter 网络过滤模块 (2)-conntrack

    连接跟踪(conntrack)用来跟踪和记录一个连接的状态,它为经过协议栈的数据包记录状态,这为防火墙检测连接状态提供了参考,同时在数据包需要做NAT时也为转换工作提供便利. 本文基于Linux内核2 ...

最新文章

  1. android 程序运行不了,当应用程序在后台运行或不运行时,Android – 推送通知工作不正确...
  2. LUA Learning Note 4: 数据结构
  3. mysql转化为GaussDB,GaussDB(openGauss)宣布开源,性能超越 MySQL 与 PostgreSQL
  4. [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP
  5. MYSQL 入门全套
  6. 一个柱状图里两种数据_分享一些数据分析常用的统计图图表
  7. web前端大作业:游戏动漫网页设计(HTML+CSS+JavaScript)
  8. 宽度学习(BLS)网络的研究和应用
  9. matlab实现信号与系统中卷积的计算的两种方法
  10. 第六届信息类研究生学术论坛参赛有感
  11. 3966: 购物(sum)
  12. QT从入门到入土(三)——信号和槽机制
  13. 电脑桌面不见了怎么办?只能调出任务管理器!
  14. 为什么移动在国外显示无服务器,开通了国际漫游怎么还是无服务
  15. Ubuntu 16.04 4k屏高分辨率卡顿问题
  16. 基于MATLAB的智能交通信号灯控制系统的实现
  17. 发现(1)之如何申请CSDN博客专栏
  18. 菜谱系统小成阶段,Python Web 领域终于攻占一个小山头
  19. Cesium实现雷达扫描效果
  20. 【图像融合】基于多尺度奇异值分解的图像融合附matlab代码

热门文章

  1. html5 gqsfgw cn,spider.html
  2. Vue项目全面解析vuecil3/vuecil4的vue.config.js等常用配置
  3. Windows Server 2012 R2 管理员密码忘记如何修改密码
  4. 【Go】高效截取字符串
  5. 杭州AI开发者Meetup报名开启!
  6. JS-绑定事件3种方法
  7. iview中动态实现menu三级菜单,多级菜单
  8. C# dataGrid控件与dataGridView控件数据框绑方式
  9. 使用docker搭建redis集群
  10. SQL基础系列(二)——单表查询