视频监控—开发板上WIFI网卡的使用(1)-STA模式
- 硬件平台:韦东山嵌入式Linxu开发板(S3C2440.v3),无线WIFI网卡(RT3070)
- 软件平台:运行于VMware Workstation 12 Player下UbuntuLTS16.04_x64 系统
- 参考资料:OV7740_CSP_DS_1.51 datasheet、S3C2440 datasheet
- 开发环境:Linux-4.13.0-41内核(虚拟机)、arm-linux-gcc-4.3.2工具链、linux-3.4.2内核(开发版根文件系统)
- 源码仓库:https://gitee.com/d_1254436976/Embedded-Linux-Phase-3
目录
-
视频监控—开发板上WIFI网卡的使用(1)-STA模式
一、WIFI的认证和加密方式
无线网络,是指无需布线就能实现各种通信设备互联的网络。根据网络覆盖范围的不同,可以将无线网络划分为无线广域网(WWAN)、无线局域网(WLAN)、无线城域网(WMAN)和无线个人局域网(WPAN),其中在日常生活汇总应用最广泛的就是无线局域网(WLAN)。
对于网络安全的保证,主要通过网络的认证与加密来实现。
第一阶段(认证/加密):Open / Open、Open / WEP、WEP / WEP
- 认证方式——开放系统认证(Open)或 共享密钥认证(Shared)。
在开放系统认证时,启用WEP,此时,WEP在传输数据时加密,对认证没有任何作用;
在共享密钥认证,必须启用WEP,WEP不仅用于认证,也用于在传输数据时加密 - 加密方式——有线等效保密(WEP),使用对称加密算法(即发送方和接收方的密钥是一致的)
第二阶段(WPA标准):802.1x / TKIP, WEP、PSK / TKIP, WEP
- 认证方式——802.1x来进行认证、授权和密钥管理 或 预共享密钥(PSK)
- 加密方式——临时密钥完整性协议(TKIP)也是对称加密方法
第三阶段(WPA2):802.1x / CCMP(AES-CCMP), TKIP, WEP、PSK / CCMP(AES-CCMP), TKIP, WEP
- 认证方式——802.1x来进行认证、授权和密钥管理 或 预共享密钥(PSK)
- 加密方式——高级加密标准(AES-CCMP)
对于网络安装的发展,现存的3种标准:无加密、WPA、WPA2,其的安装性是递增的,对于认证方式802.1x 与 PSK,二者的原理如下:
- 对于802.1x,其需要的认证设备有如下三种,当访问网络的设备认证时,需通过认证服务器来进行设备的认证,认证成功后才可连接上AP。
- 对于PSK,其需要的认证设备有如下两种,当访问网络的设备认证时,当访问网络的设备输入的密码与AP事先设置好的密码一致时,就可以连接上AP,这种也是我们日常生活中所使用较为广泛的,如手机开热点
二、iw工具的使用
1、解压、配置、编译、安装依赖库libnl
- 解压:
tar xzf libnl-3.2.23.tar.gz
- 配置:
cd libnl-3.2.23/
./configure --host=arm-linux --prefix=$PWD/tmp
- 编译
出现错误:
解决方法:
修改lib/addr.c
,添加宏(宏来自内核源码)
/* Supported address families. */
#define AF_UNSPEC 0
#define AF_UNIX 1 /* Unix domain sockets */
#define AF_LOCAL 1 /* POSIX name for AF_UNIX */
#define AF_INET 2 /* Internet IP Protocol */
#define AF_AX25 3 /* Amateur Radio AX.25 */
#define AF_IPX 4 /* Novell IPX */
#define AF_APPLETALK 5 /* AppleTalk DDP */
#define AF_NETROM 6 /* Amateur Radio NET/ROM */
#define AF_BRIDGE 7 /* Multiprotocol bridge */
#define AF_ATMPVC 8 /* ATM PVCs */
#define AF_X25 9 /* Reserved for X.25 project */
#define AF_INET6 10 /* IP version 6 */
#define AF_ROSE 11 /* Amateur Radio X.25 PLP */
#define AF_DECnet 12 /* Reserved for DECnet project */
#define AF_NETBEUI 13 /* Reserved for 802.2LLC project*/
#define AF_SECURITY 14 /* Security callback pseudo AF */
#define AF_KEY 15 /* PF_KEY key management API */
#define AF_NETLINK 16
#define AF_ROUTE AF_NETLINK /* Alias to emulate 4.4BSD */
#define AF_PACKET 17 /* Packet family */
#define AF_ASH 18 /* Ash */
#define AF_ECONET 19 /* Acorn Econet */
#define AF_ATMSVC 20 /* ATM SVCs */
#define AF_RDS 21 /* RDS sockets */
#define AF_SNA 22 /* Linux SNA Project (nutters!) */
#