IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 树莓派使用 comfast 无线网卡 -> 正文阅读

[C++知识库]树莓派使用 comfast 无线网卡

# 前缘

在这里插入图片描述

去年在淘宝上买了一个无线网卡,由于是给办公室电脑用,系统是 Windows 10 ,就买了个便宜的,只支持 Windows 和 MAC 。

期间也尝试过插在蜗牛星际上(Ubuntu Server 18.04),只看到多了一个 usb 设备,并不能产生无线网络接口,问淘宝卖家,给了一个驱动链接

CF-811AC驱动下载地址:http://www.comfast.cn/index.php?m=content&c=index&a=show&catid=30&id=335

下载下来也没编过,结果就没在 Linux上用上。

# 再续

最近在研究 Wi-Fi ,又把它掏了出来,看看能不能在 Linux 上用起来。
在这里插入图片描述
直接插在树莓派上,情况还是和之前在蜗牛星际上一样,只显示多了一个 usb 设备,并没有无线网络接口产生。

网上搜到了这篇教程 《Linux安装comfast 811AC usb网卡驱动》 ,就跟着上面的步骤下载编译。

由于树莓派里面没有装内核头文件,所以编译报错,解决办法,安装内核头文件

sudo apt install raspberrypi-kernel-headers

注意,ARM 架构的话要执行 README.md 里的三句指令

sudo cp /lib/modules/$(uname -r)/build/arch/arm/Makefile /lib/modules/$(uname -r)/build/arch/arm/Makefile.$(date +%Y%m%d%H%M)
sudo sed -i 's/-msoft-float//' /lib/modules/$(uname -r)/build/arch/arm/Makefile
sudo ln -s /lib/modules/$(uname -r)/build/arch/arm /lib/modules/$(uname -r)/build/arch/armv7l

继续编译,又报错

/home/pi/project/c/DRIVERS/rtl8821CU/core/rtw_debug.c: In function ‘dump_drv_version’:
/home/pi/project/c/DRIVERS/rtl8821CU/core/rtw_debug.c:45:62: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
  RTW_PRINT_SEL(sel, "build time: %s %s\n", __DATE__, __TIME__);
                                                              ^
/home/pi/project/c/DRIVERS/rtl8821CU/core/rtw_debug.c:45:62: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
/home/pi/project/c/DRIVERS/rtl8821CU/core/rtw_debug.c:45:62: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
/home/pi/project/c/DRIVERS/rtl8821CU/core/rtw_debug.c:45:62: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:304: /home/pi/project/c/DRIVERS/rtl8821CU/core/rtw_debug.o] Error 1
make[1]: *** [Makefile:1522: _module_/home/pi/project/c/DRIVERS/rtl8821CU] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.19.97-v7+'
make: *** [Makefile:2217: modules] Error 2

提示没有 __TIME____DATE__ 宏,grep查看一下哪些地方使用了这些宏

pi@raspberrypi:~/project/c/DRIVERS/rtl8821CU $ grep -rn "__DATE__"
core/rtw_debug.c:45:	RTW_PRINT_SEL(sel, "build time: %s %s\n", __DATE__, __TIME__);

本来想给它手动改个时间日期填上,发现只有一句,并且感觉不是什么重要的语句,就直接注释掉了

void dump_drv_version(void *sel)
{
        RTW_PRINT_SEL(sel, "%s %s\n", DRV_NAME, DRIVERVERSION);
        //RTW_PRINT_SEL(sel, "build time: %s %s\n", __DATE__, __TIME__);
}

编译通过,安装到内核

pi@raspberrypi:~/project/c/DRIVERS/rtl8821CU$ sudo modprobe 8821cu

查看驱动是否安装成功

pi@raspberrypi:~/project/c/DRIVERS/rtl8821CU$ lsmod
Module                  Size  Used by
8821cu               2404352  0
r8188eu               438272  0
lib80211               16384  1 r8188eu
nls_ascii              16384  1
btsdio                 20480  0
bluetooth             557056  1 btsdio
ecdh_generic           16384  1 bluetooth
ecc                    36864  1 ecdh_generic
brcmfmac              385024  0
brcmutil               24576  1 brcmfmac
bcm2835_v4l2           45056  0
bcm2835_mmal_vchiq     40960  1 bcm2835_v4l2
vc_sm_cma              45056  1 bcm2835_mmal_vchiq
v4l2_common            16384  1 bcm2835_v4l2
videobuf2_vmalloc      20480  1 bcm2835_v4l2
videobuf2_memops       20480  1 videobuf2_vmalloc
cfg80211              692224  3 r8188eu,brcmfmac,8821cu
videobuf2_v4l2         28672  1 bcm2835_v4l2

出现了 8821cu 说明驱动模块载入内核成功。

接着,拔插无线网卡,看到无线网卡已经被成功驱动,并且可以正常使用了,wlan0 是树莓派自带的无线网卡,wlan1 就是 comfast 无线网卡。

pi@raspberrypi:~/project/c/DRIVERS/rtl8821CU $ ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.116  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::c294:4582:7476:70d5  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:8a:bc:f4  txqueuelen 1000  (Ethernet)
        RX packets 1122  bytes 123550 (120.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 849  bytes 280450 (273.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 172  bytes 14084 (13.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 172  bytes 14084 (13.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.211  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::7186:984c:b898:8ef3  prefixlen 64  scopeid 0x20<link>
        ether de:88:c4:e0:37:89  txqueuelen 1000  (Ethernet)
        RX packets 330  bytes 42876 (41.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 225  bytes 31375 (30.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.178  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::5ca7:f148:acc7:565a  prefixlen 64  scopeid 0x20<link>
        ether 6e:b8:f3:2a:7b:76  txqueuelen 1000  (Ethernet)
        RX packets 462  bytes 76567 (74.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 245  bytes 34741 (33.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-20 15:36:17  更:2021-09-20 15:38:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 13:12:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计