WL18xx Linux 驅(qū)動程序使用開源組件以及接口驅(qū)動程序來使該器件實現(xiàn) Wi-Fi 功能。圖 2-1 概括顯示了驅(qū)動程序分區(qū)和架構。
以下部分簡要介紹了各驅(qū)動程序?qū)又械母呒壗M件及其功能。
- WiLink8 固件 – 該固件在器件硬件上運行,可提供 Wi-Fi 的 PHY 和 MAC 功能。主機通過 SDIO 與 WLAN 設備進行通信。在設備側(cè),WLAN MAC 負責 802.11 MAC 功能,并在外部主機與固件之間傳輸 WLAN 數(shù)據(jù)包。MAC 僅負責時序和時間關鍵型決策。PHY 執(zhí)行編碼/解碼和調(diào)制/解調(diào)的 802.11 PHY 功能,并負責上下調(diào)制至載波頻率、濾波和放大的射頻功能。
- WiLink 驅(qū)動程序是器件硬件和固件的抽象層。實現(xiàn)支持 MAC 驅(qū)動程序所需的低級操作。
- wlcore:實現(xiàn) WiLink 器件的低級驅(qū)動程序,可支持 mac80211 操作。包含所有受支持 WiLink? 芯片組的常見功能。
- Wl18xx:實現(xiàn)特定于芯片的功能和服務。通過實現(xiàn)特定于硬件的功能來支持 wlcore。
- wlcore_sdio:SDIO 驅(qū)動程序和 WiLink 驅(qū)動程序之間的適應層。
- MAC 驅(qū)動程序?qū)崿F(xiàn) 2 層 Wi-Fi 協(xié)議要求(數(shù)據(jù)和控制路徑)。這是一個通用組件,而不是特定于平臺/器件。這一層包含以下組件。
- nl80211:在用戶空間與 Linux 無線解決方案的內(nèi)核空間組件之間實現(xiàn) netlink 接口。
- cfg80211:Linux 無線配置 API。(該層為軟 MAC 和硬 MAC 共用的最底層。)
- mac80211:為 Wi-Fi 軟 MAC 解決方案實現(xiàn) MAC 層功能的 Linux 內(nèi)核模塊。
- Hostap 軟件包:包含開源用戶空間軟件包。為所有 WLAN 角色(STA、AP、P2P 和網(wǎng)狀網(wǎng)絡)提供上層管理層。生成 2 個守護程序:wpa_supplicant(STA、P2P、網(wǎng)狀網(wǎng)絡)和 hostapd (AP)。
- 實用程序提供初始化和配置服務。實現(xiàn)調(diào)試和統(tǒng)計功能。