wifi--驱动
一、概述
1 定义
2 wlan
3 802.11协议
4 使用物理技术
5 术语
LAN----局域网(小范围)
WAN---广域网(大范围)
无线AP----无线网络中的交换机 ,是移动用户进入有线网络的接入点。
Station----可以连接到无线网络的设备
SSID----标识无线网络
BSSID-----标识BSS,和MAC一样,48bit,是无线接入点的MAC地址
BSS----一组相互通信的工作站,是802.11无线网络基本组件
IBSS又叫ADHOC,组网临时,通信方式 Station<->Station
基础结构网络:通信方式Station<->AP<->Station
MAC-----介质访问控制器,数据链路层,MAC地址烧录在网卡中,48Bit
Band-----频率范围
Channel------对频段进一步划分,不同信道数据没重叠就不会干扰。
2.4G和5G划分成叫频段,每个小频段叫一个channel
Channel Width-----表示一个Channel片段宽度
5G频段宽度100M,互不干扰10个Channel,每个Channel的Channel Wdith=100/10=10M
Wireless Security ----- 无线网络安全
WPA------安全标准,WI-FI Protected Access
WEP------加密技术,Wire Equivalent Privacy
Qos-----无线网品质保证
RF Power ------ 无线网发射功率
二、编写
1 焊接连接好wifi芯片或者模组
2 进入ubuntu打开ifconfig
3 打开menuconfig
wpa_supplicant:STA模式,连接网络方式
hostapd:AP模式,热点模式
Target package->Networking applications->hostapd 和 wpa_supplicant选项,分别进入选择Enable WPS 和 Enable WPA3 supprot相关选项。
编译完成后,会生成wpa_supplicant 和 wpa_cli可执行文件。
4 wpa_supplicant---控制核心,独立守护进程,处理控制、驱动、配置WPA状态机,即服务端
wpa_cli---用于和用户交互,用来搜索、设置、连接,即客户端
底层驱动---网卡驱动
5 运行服务端程序
查看:
wpa_supplicant --help
设置:
wpa-supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -B
6 配置文件编写
1> wpa_passphrase工具出生成,再结合wpa_cli设置完整conf。【使用于第一次配置】
2> 商家源码/板级商源码:wpa_supplicant源码目录/example/xxx.conf
3>以前编译过的直接拷贝,改写SSID和PSK
配置:
生成conf格式文件
添加配置到conf文件头部,为了使用wpa_cli更新配置。
开启成功打印log日志
7 wpa_cli
wpa_cli -i wlan0 //进入命令行
help //查看信息
8 配置文件 wpa_supplicant.conf
9 连接WiFi
10 AP模式下创建WPA3加密热点
1> hostapd
vim /etc/hostapd.conf
打开服务
2> hostapd_cli
作为 hostapd 的客户端,使用时,首先需要先启动 hostapd 主程序
hostapd 启动后运行 cli 客户端时,会自动去连接当前正在工作的 hostapd 进程,连接成功后,cli 客户端就可以对 hostapd 应用程序进行参数的获取和控制。
hostapd_cli同wpa_cli相同,运行模式有两种,一种是shell交互模式,另一种是dai带参运行,两种方式都大同小异,主要介绍一些命令。
动态设置:对hostapd配置文件所有配置进行更改
wps_config:修改密码、加密方式、名称
status:获取无线热点信息
get_config:获取无线热点信息
cat 访问进程:获取信息
这里是驱动是为了产品的开发,不是写驱动程序,这个是相关上游行业已经写好了,拿来直接驱动的,如果想去搞这个,要去相关企业。