|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
文章目录
" p. f$ X0 ]; h% p: Q0 Y1.1 在Linux内核中添加wifi驱动
% {& s, m# F1 y8 m; h8 S2 d1.2 配置Linux内核9 X+ P5 H: w4 m. D
1.3 Rtl8723 wifi模块驱动测试
) Z3 j: r0 Z& e" u: \( @![]()
3 C! a+ B, M* I0 C4 p在迅为i.MX6UL终结者开发板上使用的是usb接口的RTL8723 wifi模块,原理图如图 1所示:3 |% A, L+ j8 J
, s9 K* k2 R% N, J0 h/ {, Z2 k: U
可以看到RTL8723模块的接口非常简单,只有DP1和DM1连接到usb HUB芯片上,就可以完成通信电路。RTL8723是realtek公司的wifi芯片,已经提供了wifi驱动源码,就不需要我们自己去编写了,只需要将提供的wifi驱动源码添加到Linux内核中进行编译就可以了。8 q7 C/ K F2 n3 ?; F, O/ e
1.1 在Linux内核中添加wifi驱动2 Q- F' P% g; x. j
首先获取wifi驱动源码,放到Linux内核drivers/net/wireless目录下,如图 1.1.1所示:
+ g, U7 H: F" W5 N) s % k# w% O; z0 ?9 Q& a' C `% L
rtl8723BU目录下内容如图 1.1.2所示:
0 I, f% l0 m6 S7 J9 M0 d4 u4 E" M* O![]()
q( ]" S% u3 V: b( H. N1 p其中Kconfig文件是rtl8723驱动的配置文件,这样可以通过 Linux 内核图形化配置界面来选择是否编译 WIFI 驱动,Kconfig 文件内容如下所示:6 j' G1 j# s2 t+ T( A, f. d; x. }
: l8 n$ J4 ?2 G" y
当添加完rtl8723 wifi驱动时,需要修改上一级的Kconfig和Makefile。
4 g3 ?6 I' m, }% O5 ~5 r1 X4 i修改drivers/net/wireless/Kconfig,添加如下内容:
" V7 A& R: Y2 B8 xsource “drivers/net/wireless/rtl8723BU/Kconfig”
% w* H) p: o" Q8 _; i添加完成后如图 1.1.3所示:
; h3 H+ c9 q' c+ N/ A
- ~% l) I, `4 V) J& c: d. ~5 e7 m " L8 \8 k1 J3 I% h
添加完成后,在Linux内核的驱动配置界面上才会出现rtl8723的配置选项。
! P& @7 a; M" m' q, |+ Z修改drivers/net/wireless/Makefile文件,添加如下内容:
: f8 {- ~$ _. ~- z( Jobj-$(CONFIG_RTL8723BU) += rtl8723BU/( G0 A1 q: f; H( y' W1 w
修改后如图 1.1.4所示:: G6 x. ?% p" y
7 B# q4 E1 I6 E: ]2 k. U; G![]()
% A! T! W) ~$ F( [6 D' r1 }+ o1.2 配置Linux内核
: X S- y+ ?: }0 X. B添加好rtl8723 wifi驱动并修改完配置文件后,需要在Linux内核中在进行配置。# } w* L' o; Y5 i" X& o, B m) t- _
1、配置支持USB设备9 a) N3 k. D5 U7 N$ V# H
Linux内核配置路径如下:
1 V7 K) H0 \/ |7 r
1 W- C" [2 X8 f % I/ d3 C/ v1 \$ H
配置完成如下图 1.2.1所示:
i! J; j) H" P: c; S1 U7 V , e# a" E' u' I& k% I
2、配置支持wifi设备' ~" W+ Q, x! Z, g/ b5 |
Linux内核配置路径如下: @* v' c& _$ A1 M6 m, R
$ h, F, e0 v% }+ o( m
$ k, O- d, Q0 v1 ]) J- y8 M
配置完成如图 1.2.2所示:
: N) q" ]$ f' p![]()
( v r z0 h5 R- V3、配置支持IEEE 802.11
- \. m( p+ d) FLinux内核配置路径如下:
$ h( H7 Y3 Z5 b1 z! Q0 r3 C, q" b
4 R0 c; O! e, J2 [, u* J% l ( R: X7 T2 Z. J, L
配置完成如图 1.2.3所示: m% ]. }: t0 O! i0 a) `, w: C
![]()
+ p+ ^ O1 C2 x& e1 `7 V4、配置rtl8723 wifi驱动
: E: X& W0 @0 n/ J Y; MLinux内核配置路径如下:
1 t0 S$ o) f- U e F) {
% i; Z: v) D% ?* Q![]()
$ v$ b) C) g6 y# q配置结果如图 1.2.4所示:
4 v/ `, R" K5 \# [& {0 g " P7 B- V& a1 A1 j
直接将rtl8723 wifi模块的驱动编译到内核中去。' Y% H+ t, G `5 R) J
以上Linux内核配置完成后,重新编译内核生成zImage,使用新的zImage启动开发板。" g! p4 S/ a. P4 S2 v. g+ F2 K
1.3 Rtl8723 wifi模块驱动测试
! y6 t! d0 t/ d使用新的zImage镜像启动开发板,系统启动过程中会有如图 1.3.1信息打印:. z6 {0 r8 r; C: O& [
3 [& f4 N1 b/ ?8 P9 A! k
; G9 q; D! _& G6 m
上图说明在Linux系统启动过程中使用了rtl8723 wifi模块的驱动程序。当启动完成驱动后使用“ifconfig -a”命令查看wlan网卡是否存在,结果如图 1.3.2所示:8 v' R0 {' G! Y9 D3 e% R
) _0 H: W& p# [' t% }: }) W
福利链接:B站搜(北京迅为)入门视频教程免费学习) o' G+ [( m0 g: n8 {' K3 h9 g
Linux学习方法-框架学习法; 嵌入式学习之QT进阶篇; 新增嵌入式学习之Linux驱动篇;
- f& e! G' N9 n |
|