EDA365电子论坛网

标题: iMX6ULL终结者Linux WIFI驱动实验rtl8723 Wifi联网测试 [打印本页]

作者: 孤久厌闹    时间: 2021-1-22 12:05
标题: iMX6ULL终结者Linux WIFI驱动实验rtl8723 Wifi联网测试
文章目录5 r5 U9 q! l/ o& z
1.1 在Linux内核中添加wifi驱动4 |- y" f7 r, e4 t% r
1.2 配置Linux内核* n9 c+ i; i; D/ X0 ~7 _
1.3 Rtl8723 wifi模块驱动测试
& H, z2 V8 e; R( _& m8 c7 W+ e- A6 W  g
5 v& {, X. O; P+ [在迅为i.MX6UL终结者开发板上使用的是usb接口的RTL8723 wifi模块,原理图如图 1所示:
& u2 b" ^3 d  Y( X8 k
7 k" f% N% w, N: k8 U0 {可以看到RTL8723模块的接口非常简单,只有DP1和DM1连接到usb HUB芯片上,就可以完成通信电路。RTL8723是realtek公司的wifi芯片,已经提供了wifi驱动源码,就不需要我们自己去编写了,只需要将提供的wifi驱动源码添加到Linux内核中进行编译就可以了。$ p2 {8 e  P# C
1.1 在Linux内核中添加wifi驱动' @. ?% |: V, X3 A' E% C1 f3 ~
首先获取wifi驱动源码,放到Linux内核drivers/net/wireless目录下,如图 1.1.1所示:! c/ b* p! n1 ^) {
8 @) Q- \9 S+ N& L! A
rtl8723BU目录下内容如图 1.1.2所示:- a9 ?2 L' N4 z- n% p: F1 E
9 G- j* `* B' T& |- P
其中Kconfig文件是rtl8723驱动的配置文件,这样可以通过 Linux 内核图形化配置界面来选择是否编译 WIFI 驱动,Kconfig 文件内容如下所示:
& w# h7 N+ M* v
3 C/ }( l& z5 |3 j9 t当添加完rtl8723 wifi驱动时,需要修改上一级的Kconfig和Makefile。
# \6 A5 {4 F7 r; D修改drivers/net/wireless/Kconfig,添加如下内容:
# c% t+ O" I! j- n+ Ysource “drivers/net/wireless/rtl8723BU/Kconfig”  Y) z6 A) o* m" D1 Q: L
添加完成后如图 1.1.3所示:' g& M9 U* u, I% Q+ p

$ I( s5 q+ h: d, U# L9 r& t0 G8 Q; ?0 m! ^" v: `
添加完成后,在Linux内核的驱动配置界面上才会出现rtl8723的配置选项。/ C& M- J- R3 @! C9 E2 _
修改drivers/net/wireless/Makefile文件,添加如下内容:
; b( e/ l' j# H" Q, `obj-$(CONFIG_RTL8723BU) += rtl8723BU/
  d6 j* R; \; ]4 M" R6 q修改后如图 1.1.4所示:
& Y2 m. k, ?! k: I# x% t
+ e4 ?5 Y8 Z7 s+ P7 X0 D4 b+ p
- }+ B  n. S5 P! N) k* ^, J1.2 配置Linux内核
( |; [9 Y5 O. l0 e+ W添加好rtl8723 wifi驱动并修改完配置文件后,需要在Linux内核中在进行配置。
! q' G0 c$ M9 _. e/ ?2 d: M1、配置支持USB设备0 G0 C$ `6 q0 h- v5 Q
Linux内核配置路径如下:
0 p( Z4 w7 c  B: l+ }6 p2 j2 f6 Y. w, n  @

- z6 U# y5 U* P配置完成如下图 1.2.1所示:* {& e8 z4 P! q4 P! t* q4 v# s
0 m9 C1 ]& M) l6 C* N1 }$ {; y
2、配置支持wifi设备6 ~4 k1 o1 u  i8 J/ m
Linux内核配置路径如下:- i; M$ u% W7 Z6 l1 N

3 ]- `+ W9 g. j$ {: v0 o
4 L; V/ l" f7 E$ ~3 E# i) M配置完成如图 1.2.2所示:
2 @2 }% N$ Y0 {) |
) t! G9 ^5 Z2 j" f3、配置支持IEEE 802.11
$ p5 H* c: I5 \$ h2 |Linux内核配置路径如下:
% ^: F8 F6 ~" O/ j& w9 X
" @, W( @/ W* B5 }0 t+ c: s  _- y* l; c; o( b0 a) k1 h( |' E8 g. N
配置完成如图 1.2.3所示:$ J  A) M+ }7 n* R6 D  t2 c0 m  }

  W  r3 {$ }* E4、配置rtl8723 wifi驱动
5 i$ E) y& t: \( f4 {Linux内核配置路径如下:/ U. r# T6 S: P* G% [6 H

9 y0 x( V! z) b8 A! e! L" K' y) k& [$ `* ?$ @6 Q
配置结果如图 1.2.4所示:
$ z4 p# y! F( p4 h3 Z/ K
1 S' d1 n- Y5 H! _直接将rtl8723 wifi模块的驱动编译到内核中去。
: X9 a9 ~8 D7 v9 ?; D* c1 |& P以上Linux内核配置完成后,重新编译内核生成zImage,使用新的zImage启动开发板。6 L, l/ g/ c, Y% X. i
1.3 Rtl8723 wifi模块驱动测试6 C% r( r* B6 \5 Q( e4 B9 S3 g
使用新的zImage镜像启动开发板,系统启动过程中会有如图 1.3.1信息打印:1 ^, T8 |1 c& n0 ]0 h
0 S9 K! }" D; j8 q3 r; i% ^( |6 \

% c0 X# {, j8 H! `上图说明在Linux系统启动过程中使用了rtl8723 wifi模块的驱动程序。当启动完成驱动后使用“ifconfig -a”命令查看wlan网卡是否存在,结果如图 1.3.2所示:
6 G# k  ^2 l, C! v: P7 B, R4 i8 ]' g; g" W) N
福利链接:B站搜(北京迅为)入门视频教程免费学习7 ]6 E. A; h# u
Linux学习方法-框架学习法;
嵌入式学习之Linux裸机篇
嵌入式学习之Linux入门篇
嵌入式学习之QT进阶篇
新增嵌入式学习之Linux驱动篇
- S. Q- F; l. p0 \3 y) i

作者: nolita    时间: 2021-1-25 09:58
学习学习                           




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2