Wireless-Extensions--舊的無線驅動框架linux
mac80211--爲softMAC驅動服務的API數據庫
cfg80211--新的配置API框架
nl80211--新的用戶控件<->內核空間通信方式less
組件交互的基本原理圖
[Wireless Card]
|
[Linux Kernel ]
| |
[udev][libnl]-[iw]
| / \
[crda] \
| \
[ Wireless ] |
[Regulatory] |
[ Database ] |
|
|
[ hostapd ]
理解每一部分是作什麼的
Wireless Card: Should be self explanitory... handles sending/receiving wireless packets
無線網卡:操做接收/發達無線包
Linux Kernel: The linux kernel contains the driver for the wireless card, the mac80211 subsystem which handles packet generation and scheduling, and the nl80211 subsystem, which handles configuring the wireless interfaces for userspace
linux核:linux核包涵了無線網尗的驅動,mac80211子系統處理包的產生與時序安排。nl80211處理在用戶空間配置無線接口 cfg80211
libnl: libnl is the transport layer used to communicate with the kernel via netlink
libnl:經過netlink與內核對話的傳輸層
udev: udev is the facility the kernel uses to pass events/calls to crda
udev:udev是內核經過events/calls到 crda的設施
iw: iw is a userspace utility that we can use to test that libnl is working correctly, as well as create additional virtual wireless interfaces on the wireless card
iw:是咱們用來測試libnl是否正確工做,以及在無線網卡上建立額外的虛擬無線接口的用戶空間工具。
crda: crda is a userspace program that the kernel queries (through udev) to find what channels/frequencies are usable, and at what powers. This moves the information out of static tables maintained in kernel to userspace, which allows them to be updated without reloading drivers/rebooting
crda:是內核經過udev來查找什麼頻段/頻率是有效的,在什麼強度的用戶空間程序。這個從內核維護的靜態表中移到用戶空間,它能夠不須要重載驅動和重啓的狀況下更新。
Wireless Regulatory Database: database of allowable frequencies and transmit power levels used by crda
無線控制數據庫:crda使用容許的頻率和傳輸強度等級的數據庫
hostapd: This is the daemon that handles generation of beacons and other wireless packets, as wel as wpa-psk, wpa2, etc encryptions.
hostapd:這是個用來操做信號的產生和其它無線包,以及wpa-psk, wpa2等加密的守護進程
softMAC是一個用於描述無線網尗的類型的一個術語。工具