如何在Linux下写无线网卡的驱动

版本:v0.3

How to write wireless network card driver under Linux

Crifan Li

摘要

本文主要介绍了Linux下的无线网络相关的基础知识,从网络到无线网络再到802.11的无线网络,然后再介绍Linux无线网络的框架,最后介绍如何在Linux的框架下编写无线驱动

[提示] 本文提供多种格式供:
在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP
下载(7zip压缩包) HTML HTMLs PDF CHM TXT RTF WEBHELP

HTML版本的在线地址为:

http://www.crifan.com/files/doc/docbook/linux_wireless/release/html/linux_wireless.html

有任何意见,建议,提交bug等,都欢迎去讨论组发帖讨论:

http://www.crifan.com/bbs/categories/linux_wireless/

2012-08-09

修订历史
修订 0.2 2011-07-02 crl
  1. 基本写好了一些名词的解释
修订 0.3 2012-08-09 crl
  1. 通过Docbook发布

目录

缩略词
正文之前
1. 目的
2. 前提
3. 声明
4. 本文内容组织的逻辑
1. Network
1.1. OSI
1.2. Ethernet
1.3. 802 Related Specifications
2. Wireless LAN
2.1. 802.11
2.2. Bluetooth
2.3. IR
3. 80211 Wireless LAN
3.1. BSS
3.2. ESS
3.3. IBSS
3.4. DSS
3.5. SSID
3.6. Frame Type
3.7. 802.11 Beacons Related
3.8. Use RTS/CTS to avoid hidden station problem
3.9. CSMA/CA working flow
4. Linux Network
5. Linux Wireless LAN & 80211
5.1. 无线网络的架构
5.1.1. Framework
5.1.2. CRDA
5.1.3. Wext/WE
5.1.4. cfg80211
5.1.5. nl80211
5.1.6. Radiotap
5.1.7. Frame Reception/ Injection
5.1.8. MLME
5.1.9. FullMAC
5.1.10. SoftMAC
6. 以iwmc3200wifi为例,分析具体如何实现
6.1. 系统已经实现了哪些
6.2. 自己需要实现哪些
参考书目

插图清单

1.1. OSI参考模型以及不同层所对应的协议
1.2. 802.11和OSI模型
5.1. 旧的Linux的网络架构
5.2. 新的Linux的网络架构
5.3. 计划的Linux的网络架构
5.4. CRDA的架构