|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
文章目录) Q( }( p2 S! h% x
1.1 在Linux内核中添加wifi驱动
* N( u1 n( d$ _ Z1.2 配置Linux内核# x( u X& R C: q2 l6 Y
1.3 Rtl8723 wifi模块驱动测试
S' a- ?" H6 C 9 U3 A6 v T8 Z& J
在迅为i.MX6UL终结者开发板上使用的是usb接口的RTL8723 wifi模块,原理图如图 1所示:
4 f* V( b; r9 I![]()
; [7 A d s4 M9 ^, R6 h; c可以看到RTL8723模块的接口非常简单,只有DP1和DM1连接到usb HUB芯片上,就可以完成通信电路。RTL8723是realtek公司的wifi芯片,已经提供了wifi驱动源码,就不需要我们自己去编写了,只需要将提供的wifi驱动源码添加到Linux内核中进行编译就可以了。5 R4 t& I8 x( S% N; _! y5 H1 i) E
1.1 在Linux内核中添加wifi驱动
( w% Z3 ?' C* M$ ]' ?* T5 B! `; G首先获取wifi驱动源码,放到Linux内核drivers/net/wireless目录下,如图 1.1.1所示:! S! _# g2 A6 ~/ Y5 r
. o5 o* W- j$ p1 J# P% i8 M
rtl8723BU目录下内容如图 1.1.2所示:
" h/ C& h/ n# z - t4 j: F6 _0 \6 E+ K7 N) E
其中Kconfig文件是rtl8723驱动的配置文件,这样可以通过 Linux 内核图形化配置界面来选择是否编译 WIFI 驱动,Kconfig 文件内容如下所示:
& a9 t9 Q: s: K1 a. R![]()
7 U, k$ S, ?: x; ^5 y当添加完rtl8723 wifi驱动时,需要修改上一级的Kconfig和Makefile。
9 M1 p# N! M8 s# K修改drivers/net/wireless/Kconfig,添加如下内容:. a, _" h- N( {8 _- e
source “drivers/net/wireless/rtl8723BU/Kconfig”/ @. x a8 q- [* v$ L' c4 v
添加完成后如图 1.1.3所示:/ t) p5 B$ u' J0 E# d V
% ~& X4 o7 ]3 z- F
3 J8 s, O/ e8 D2 r% C
添加完成后,在Linux内核的驱动配置界面上才会出现rtl8723的配置选项。
' P8 z+ b$ n( c9 L3 \/ E! ^8 @8 N修改drivers/net/wireless/Makefile文件,添加如下内容:, v7 q+ @: c8 Y- O& c3 K
obj-$(CONFIG_RTL8723BU) += rtl8723BU/
4 P. w& Q; ^9 j$ H5 N修改后如图 1.1.4所示:' _1 @0 c ?/ F) ]
% I6 v! w/ N0 @/ j+ L* F
3 r% k4 u& S) H
1.2 配置Linux内核* M0 b+ O" c0 A0 f5 ] j) m$ j z
添加好rtl8723 wifi驱动并修改完配置文件后,需要在Linux内核中在进行配置。
0 W3 N0 V- y1 W6 N! e1、配置支持USB设备! O4 j- K. [7 m: r! ]: @! j
Linux内核配置路径如下:% A8 r3 K% S% m! m8 Z" Y
& M/ {; ]. z# [9 z 0 M5 K E2 V+ q& Q! d" c
配置完成如下图 1.2.1所示:
# s( Y8 z- I# d4 D 4 o' l X, Q y; y- ?, P2 S# e
2、配置支持wifi设备% n; d% ^! e0 r p& X
Linux内核配置路径如下:* t' h+ s3 `8 x6 C
: U9 L) u5 |; l' e* n
4 `9 E2 e5 z6 Q6 y4 P9 U9 H0 r+ o5 e9 {
配置完成如图 1.2.2所示:3 L, K3 ?7 K" o& w1 p
3 a+ c% S/ `8 H) @4 h
3、配置支持IEEE 802.11
. F6 }. e c+ L |: TLinux内核配置路径如下:6 r5 `) T8 d& Q7 i# \
3 G7 E6 k. n# l) F6 U' s9 Y2 L$ l. p
![]()
4 Y. g( i( l2 ]1 Z9 I配置完成如图 1.2.3所示:3 b( H& D2 {! G5 l+ n" d, J
![]()
- \' o9 L, r" i4、配置rtl8723 wifi驱动
; J2 n- k& Q; ]6 a& |, R, y5 ~* BLinux内核配置路径如下:& ]4 H( C1 `) r- Y' z; L3 @
0 C$ K: I" u% ?8 Q+ \ . L9 R: \" K ~! h D6 m
配置结果如图 1.2.4所示:' e4 l* q& B) M. p2 _$ z& }7 e4 Y3 v% t
![]()
/ O/ K1 s! U b) ~4 p3 L1 w, r直接将rtl8723 wifi模块的驱动编译到内核中去。
' p" c$ ?( J0 P. {( l) b5 \+ \以上Linux内核配置完成后,重新编译内核生成zImage,使用新的zImage启动开发板。% w% o% K- f9 o+ w
1.3 Rtl8723 wifi模块驱动测试% l) @2 b( ]! h# A
使用新的zImage镜像启动开发板,系统启动过程中会有如图 1.3.1信息打印:$ p. l( G: ?9 u( B" A
~" s) r1 Y9 b- p1 r) I 8 ~+ O- U" Y# c$ h4 M! ]
上图说明在Linux系统启动过程中使用了rtl8723 wifi模块的驱动程序。当启动完成驱动后使用“ifconfig -a”命令查看wlan网卡是否存在,结果如图 1.3.2所示:
! K. ]& L( m5 g; z m![]()
4 u/ u+ \- }9 J2 w5 ?福利链接:B站搜(北京迅为)入门视频教程免费学习
8 B- X1 I+ d# }2 ALinux学习方法-框架学习法; 嵌入式学习之QT进阶篇; 新增嵌入式学习之Linux驱动篇;
" C: X9 \ k* Y" [' t2 ` |
|