wifi--驅(qū)動(dòng)
一、概述
1 定義
2 wlan
3 802.11協(xié)議
4 使用物理技術(shù)
5 術(shù)語(yǔ)
LAN----局域網(wǎng)(小范圍)
WAN---廣域網(wǎng)(大范圍)
無(wú)線(xiàn)AP----無(wú)線(xiàn)網(wǎng)絡(luò)中的交換機(jī) ,是移動(dòng)用戶(hù)進(jìn)入有線(xiàn)網(wǎng)絡(luò)的接入點(diǎn)。
Station----可以連接到無(wú)線(xiàn)網(wǎng)絡(luò)的設(shè)備
SSID----標(biāo)識(shí)無(wú)線(xiàn)網(wǎng)絡(luò)
BSSID-----標(biāo)識(shí)BSS,和MAC一樣,48bit,是無(wú)線(xiàn)接入點(diǎn)的MAC地址
BSS----一組相互通信的工作站,是802.11無(wú)線(xiàn)網(wǎng)絡(luò)基本組件
? ? ? ? ? ? ?IBSS又叫ADHOC,組網(wǎng)臨時(shí),通信方式 Station<->Station
? ? ? ? ? ? ?基礎(chǔ)結(jié)構(gòu)網(wǎng)絡(luò):通信方式Station<->AP<->Station
MAC-----介質(zhì)訪問(wèn)控制器,數(shù)據(jù)鏈路層,MAC地址燒錄在網(wǎng)卡中,48Bit
Band-----頻率范圍
Channel------對(duì)頻段進(jìn)一步劃分,不同信道數(shù)據(jù)沒(méi)重疊就不會(huì)干擾。
? ? ? ? ? ? ? ? ? ? 2.4G和5G劃分成叫頻段,每個(gè)小頻段叫一個(gè)channel
Channel Width-----表示一個(gè)Channel片段寬度
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5G頻段寬度100M,互不干擾10個(gè)Channel,每個(gè)Channel的Channel? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Wdith=100/10=10M
Wireless Security ----- 無(wú)線(xiàn)網(wǎng)絡(luò)安全
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WPA------安全標(biāo)準(zhǔn),WI-FI Protected Access
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? WEP------加密技術(shù),Wire Equivalent Privacy
Qos-----無(wú)線(xiàn)網(wǎng)品質(zhì)保證
RF Power ------ 無(wú)線(xiàn)網(wǎng)發(fā)射功率
二、編寫(xiě)
1 焊接連接好wifi芯片或者模組
2 進(jìn)入ubuntu打開(kāi)ifconfig
3 打開(kāi)menuconfig
wpa_supplicant:STA模式,連接網(wǎng)絡(luò)方式
hostapd:AP模式,熱點(diǎn)模式
Target package->Networking applications->hostapd 和 wpa_supplicant選項(xiàng),分別進(jìn)入選擇Enable WPS 和 Enable WPA3 supprot相關(guān)選項(xiàng)。
編譯完成后,會(huì)生成wpa_supplicant 和 wpa_cli可執(zhí)行文件。
4 wpa_supplicant---控制核心,獨(dú)立守護(hù)進(jìn)程,處理控制、驅(qū)動(dòng)、配置WPA狀態(tài)機(jī),即服務(wù)端
? ?wpa_cli---用于和用戶(hù)交互,用來(lái)搜索、設(shè)置、連接,即客戶(hù)端
? ?底層驅(qū)動(dòng)---網(wǎng)卡驅(qū)動(dòng)
5?運(yùn)行服務(wù)端程序
? 查看:
? wpa_supplicant? --help
? 設(shè)置:
? wpa-supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -B
6 配置文件編寫(xiě)
? 1> wpa_passphrase工具出生成,再結(jié)合wpa_cli設(shè)置完整conf。【使用于第一次配置】
? 2> 商家源碼/板級(jí)商源碼:wpa_supplicant源碼目錄/example/xxx.conf
? 3>以前編譯過(guò)的直接拷貝,改寫(xiě)SSID和PSK
? 配置:
生成conf格式文件
添加配置到conf文件頭部,為了使用wpa_cli更新配置。
開(kāi)啟成功打印log日志
7 wpa_cli
wpa_cli -i wlan0? ?//進(jìn)入命令行
help? ? //查看信息
? 8 配置文件 wpa_supplicant.conf
9 連接WiFi
10 AP模式下創(chuàng)建WPA3加密熱點(diǎn)
1> hostapd
vim /etc/hostapd.conf
打開(kāi)服務(wù)
2> hostapd_cli
作為 hostapd?的客戶(hù)端,使用時(shí),首先需要先啟動(dòng) hostapd?主程序
hostapd 啟動(dòng)后運(yùn)行 cli 客戶(hù)端時(shí),會(huì)自動(dòng)去連接當(dāng)前正在工作的??hostapd?進(jìn)程,連接成功后,cli 客戶(hù)端就可以對(duì)??hostapd?應(yīng)用程序進(jìn)行參數(shù)的獲取和控制。
hostapd_cli同wpa_cli相同,運(yùn)行模式有兩種,一種是shell交互模式,另一種是dai帶參運(yùn)行,兩種方式都大同小異,主要介紹一些命令。
動(dòng)態(tài)設(shè)置:對(duì)hostapd配置文件所有配置進(jìn)行更改
wps_config:修改密碼、加密方式、名稱(chēng)
status:獲取無(wú)線(xiàn)熱點(diǎn)信息
get_config:獲取無(wú)線(xiàn)熱點(diǎn)信息
cat 訪問(wèn)進(jìn)程:獲取信息
這里是驅(qū)動(dòng)是為了產(chǎn)品的開(kāi)發(fā),不是寫(xiě)驅(qū)動(dòng)程序,這個(gè)是相關(guān)上游行業(yè)已經(jīng)寫(xiě)好了,拿來(lái)直接驅(qū)動(dòng)的,如果想去搞這個(gè),要去相關(guān)企業(yè)。