|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
文章目录$ ~+ u {1 ~( c* [2 }* ~/ y
1.1 在Linux内核中添加wifi驱动6 J: X; U. C: i
1.2 配置Linux内核
3 |& `2 B% h2 S% N3 K1 r1.3 Rtl8723 wifi模块驱动测试
) ]7 S, e$ V* _- ?0 `3 g![]()
- t" {1 L( G+ H, F7 W1 X) n在迅为i.MX6UL终结者开发板上使用的是usb接口的RTL8723 wifi模块,原理图如图 1所示:
: R( I/ Y9 } `: ?% j' v; z. v![]()
( \" C: M. q2 u, R: u7 @可以看到RTL8723模块的接口非常简单,只有DP1和DM1连接到usb HUB芯片上,就可以完成通信电路。RTL8723是realtek公司的wifi芯片,已经提供了wifi驱动源码,就不需要我们自己去编写了,只需要将提供的wifi驱动源码添加到Linux内核中进行编译就可以了。& ^1 L! ^, M2 t6 L
1.1 在Linux内核中添加wifi驱动2 ~1 ~& P3 v! l& l8 k% B/ H' C, v
首先获取wifi驱动源码,放到Linux内核drivers/net/wireless目录下,如图 1.1.1所示:
! b2 |" C- M8 n) s3 i![]()
$ O1 `4 c* @1 v. `2 mrtl8723BU目录下内容如图 1.1.2所示:
* J9 L) L9 t9 z" D# X+ C& v * U- R8 x5 ?; V8 i- ~1 B
其中Kconfig文件是rtl8723驱动的配置文件,这样可以通过 Linux 内核图形化配置界面来选择是否编译 WIFI 驱动,Kconfig 文件内容如下所示:$ D3 e& h/ @6 k4 x9 Q, a
![]()
1 @- ?0 g+ J' H7 I [% ~. v; }当添加完rtl8723 wifi驱动时,需要修改上一级的Kconfig和Makefile。1 I4 r1 ~, Z1 f2 O
修改drivers/net/wireless/Kconfig,添加如下内容:2 I% {$ J- ~4 O3 V. R9 m
source “drivers/net/wireless/rtl8723BU/Kconfig”( G% ~+ C+ k9 e& u b' s
添加完成后如图 1.1.3所示:5 [" l4 }0 v* y; i( [$ @
" c6 z# E. \/ r' }
) O8 \% D3 P( T" N3 B6 \) t0 b
添加完成后,在Linux内核的驱动配置界面上才会出现rtl8723的配置选项。
5 N B% c$ x, `& \8 e- R修改drivers/net/wireless/Makefile文件,添加如下内容:4 ?# ?& }3 R. j3 V: @
obj-$(CONFIG_RTL8723BU) += rtl8723BU// a4 T# M" n. F x. s/ H
修改后如图 1.1.4所示:
9 }& m5 u* W+ Q, E- M9 r8 ^
+ ?* v' z+ l; ^. |/ D; v3 l# l![]()
% d1 S" O% \2 m$ y5 b. w8 n1.2 配置Linux内核4 F; H3 V7 V2 S/ k4 P g; J: v
添加好rtl8723 wifi驱动并修改完配置文件后,需要在Linux内核中在进行配置。
: ^; }: M( Q# w8 G' H+ z( h1、配置支持USB设备; r" S1 L5 p; _& i2 b
Linux内核配置路径如下:
% N3 K& M+ D, W) \) K' X( ^% U8 w _: `# V+ G& c
![]()
6 k$ u8 g2 N2 K& o8 z: S配置完成如下图 1.2.1所示:
" d' f' O: D3 Z q# F/ k * z7 d) ^0 K& b
2、配置支持wifi设备
9 s, r% V; Y$ O. u: pLinux内核配置路径如下:
& u+ D; ~- ~) i) K+ m2 A$ b ~8 }' X$ _; w- O$ g, y
![]()
: z/ _2 f/ H7 [; }配置完成如图 1.2.2所示:
& b+ [/ P1 m' h" W! Q 8 A; z; W" g7 C: ]; O8 v. z
3、配置支持IEEE 802.11
7 V+ }# p2 ^3 m) BLinux内核配置路径如下:7 `* ^3 C3 h3 X1 g; A
$ }& O4 f) O( b4 s% I
8 h3 ?6 v. Y. _% {' x9 A$ k- F
配置完成如图 1.2.3所示:. e) ?2 @/ k& J1 |0 d
: l6 E7 w7 s/ S4 W9 W
4、配置rtl8723 wifi驱动
8 Y) _6 H+ a' ?8 [Linux内核配置路径如下:: o2 d) l8 p, q# o9 N2 ?( G8 L& L
6 u: w# [# a8 s: ~- F![]()
: }0 l. O' l/ o/ ?3 Y0 h* V- |配置结果如图 1.2.4所示:5 k0 \+ @* u! Y* t3 \. w0 |
![]()
* A) H* y7 p( d- n& Z直接将rtl8723 wifi模块的驱动编译到内核中去。
, b* M$ [, A2 G以上Linux内核配置完成后,重新编译内核生成zImage,使用新的zImage启动开发板。5 {' w" x" v/ w K% {
1.3 Rtl8723 wifi模块驱动测试
4 ^( N2 I7 v1 N- m* S7 Y使用新的zImage镜像启动开发板,系统启动过程中会有如图 1.3.1信息打印:
( l) G; [1 s& k, N! O$ f+ |; G% V, _6 O6 ?" E
' h( G' F0 s' {
上图说明在Linux系统启动过程中使用了rtl8723 wifi模块的驱动程序。当启动完成驱动后使用“ifconfig -a”命令查看wlan网卡是否存在,结果如图 1.3.2所示:8 S) U. ]) D' R L- R
![]()
) f1 f8 h+ a' u0 K7 U+ \3 C# M福利链接:B站搜(北京迅为)入门视频教程免费学习
8 V( r( P, X: LLinux学习方法-框架学习法; 嵌入式学习之QT进阶篇; 新增嵌入式学习之Linux驱动篇;
+ A3 C0 |3 ?. U( H$ y$ M I |
|