天天看點

WEXT/mac80211/nl80211/cfg80211

  • Wireless-Extensions--舊的無線驅動架構
  • mac80211--為softMAC驅動服務的API
  • cfg80211--新的配置API
  • nl80211--新的使用者控件<->核心空間通訊方式

元件互動的基本原理圖

[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是一個用于描述無線網尗的類型的一個術語。

繼續閱讀