概述
文章目录
- 目的
- 基础说明
- 驱动添加与调整
- 配置使能相关功能
- 编译与测试
- 总结
目的
通过无线访问网络现在来说已经是一种比较常用且重要的功能了,这篇文章将介绍在NUC980中向内核添加USB无线网卡驱动(基于RTL8188EUS)。
这篇文章中内容均在下面的开发板上进行测试:
《新唐NUC980使用记录:自制开发板(基于NUC980DK61YC)》
这篇文章主要是在下面文章基础上进行的:
《新唐NUC980使用记录:访问以太网(LAN8720A) & 启用SSH》
基础说明
本文中涉及的目录与文件结构组织如下:
把下载到的驱动源码放到内核源码目录中,稍作调整即可使用了。
驱动添加与调整
无线网卡驱动下载
这里使用的USB无线网卡是 COMFAST 的 CF-WU810N(所用芯片方案为 RTL8188EUS ) ,它的Liunx下的驱动程序源码可以从其官网的下面地址下载:
http://www.comfast.com.cn/index.php?m=content&c=index&a=show&catid=30&id=220
这里也提供下备用下载地址:
链接:https://pan.baidu.com/s/1McTm5iYCZzHqDlJ74oGQ5A
提取码:p17d
解压驱动源码
cd ~/nuc980-sdk/
# 移动下载的驱动包到当前文件夹
mv ~/Downloads/RTL8188EUS_linux_v5.3.9_28540.20180806.zip ./
# 解压驱动包
unzip RTL8188EUS_linux_v5.3.9_28540.20180806.zip
# 解压驱动源码到当前目录
tar xzf RTL8188EUS_linux_v5.3.9_28540.20180806/driver/rtl8188EUS_linux_v5.3.9_28540.20180627.tar.gz
# 驱动源码文件夹名称比较长,改短些
mv rtl8188EUS_linux_v5.3.9_28540.20180627/ rtl8188EUS
移动驱动源码到内核中
mv rtl8188EUS/ NUC980-linux-4.4.y/drivers/net/wireless/realtek/
内核配置与编译中添加RTL8188EUS
进入内核源码目录:
cd NUC980-linux-4.4.y/
编辑内核中的Kconfig文件:
gedit drivers/net/wireless/Kconfig
在其中添加下面一行,用来引用 rtl8188eus
目录下的 Kconfig
文件,这样就可以在 menuconfig
界面中配置该芯片驱动了:
source "drivers/net/wireless/realtek/rtl8188eus/Kconfig"
编辑内核中的Makefile文件:
gedit drivers/net/wireless/realtek/Makefile
在其中添加下面一行,这样编译时会进入 rtl8188eus
目录下:
obj-$(CONFIG_RTL8EU) += rtl8188eus/
# 需要注意的是rtl8188eus目录下Kconfig文件里定义的变量为RTL8188EU,没有S
调整RTL8188EUS驱动调试信息输出
RTL8188EUS驱动默认在运行时会打印调试信息,可以根据需求保留或调整:
gedit drivers/net/wireless/realtek/rtl8188eus/Makefile
默认的调试信息比较多,这里先关闭调试信息:
########################## Debug ###########################
CONFIG_RTW_DEBUG = y
# default log level is _DRV_INFO_ = 4,
# please refer to "How_to_set_driver_debug_log_level.doc" to set the available level.
CONFIG_RTW_LOG_LEVEL = 0
# 文档中介绍可以使 CONFIG_RTW_DEBUG=n 或 CONFIG_RTW_LOG_LEVEL=0 来关闭调试信息
# 但我使用前者时编译会报错,所以使用后面的方式来关闭调试信息
配置使能相关功能
进行功能配置:
make menuconfig
基本网络功能:
无线网络功能:
RTL8188EUS芯片支持:
另外因为是USB网卡,所以还需要启动USB功能,默认情况下这部分已经是开启了的,可以参考《NUC980 Linux 4.4 BSP User Manual》文档,主要需要配置的是下面几项:
Device Drivers --->
[*] USB support --->
<*> Support for Host-side USB
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD (USB 1.1) support
编译与测试
上面配置中选择将驱动编译到内核中,下面进行内核编译,编译结束后将内核拷贝到开发板boot分区:
export PATH=$PATH:/home/nx/nuc980-sdk/arm_linux_4.8/bin
make uImage
# 在开发板中挂载启动分区
# mount /dev/mmcblk0p1 /mnt/
# 在虚拟机中拷贝编译生成的内核到开发板
# scp ../image/980uimage root@192.168.31.142:/mnt/
将无线网卡插入开发板USB1,然后重启开发板,可以使用 ifconfig -a
看到wlan0端口,说明驱动加载成功,并成功识别到了网卡:
可以使用 ifconfig wlan0 up
来启用无线网卡,网卡启动完毕后直接使用 ifconfig
就可以看到wlan0端口了,并且我这里使用的USB无线网卡会有指示灯亮起:
总结
到目前为止已经实现了在NUC980中向内核添加USB无线网卡驱动(基于RTL8188EUS)功能,并且还测试了启动无线网卡,可以看到无线网卡可以正确工作了。
接下来我们根据使用需求去连接已有的无线接入点访问网络,或是建立无线接入点供其它设备接入。这两块内容会在之后分别写文章进行介绍。
最后
以上就是冷傲枫叶为你收集整理的新唐NUC980使用记录:向内核添加USB无线网卡驱动(基于RTL8188EUS)目的基础说明驱动添加与调整配置使能相关功能编译与测试总结的全部内容,希望文章能够帮你解决新唐NUC980使用记录:向内核添加USB无线网卡驱动(基于RTL8188EUS)目的基础说明驱动添加与调整配置使能相关功能编译与测试总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复