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