说起 Linux 对 WiFi 的支持和实现,给它最有力支持的莫过于 HP 公司的 Jean Tourrilhe。他为当时的Linux定义了一套无线的API,称之为 "Wireless Extension",即无线扩展。在 Linux kernel 2.0.30 和 2.1.17 时被采用。

逻辑图:

无线设备驱动  ----->  Linux内核  ----->  wireless-tools + libiw  ----->  wpa_supplicant  ----->  Linux GUI

无线扩展: 无线设备驱动的无线接口实现  +  Linux内核对无线扩展的支持  +  无线工具集,对应上面前3部分。

一)无线扩展:

1)用户接口:一组管理无线扩展的工具集( 基本库是libiw,工具包是wireless-tools)。
a)/proc/net/wireless
b)wireless-tools 的一些命令:iwconfig、iwevent、iwgetid、iwlist、iwpriv、iwspy、rfkill。

2)内核:修改内核来支持和定义无线扩展。
a) /proc/net/wireless
当查看它的时候,会去查询所有的驱动,如果驱动定义了get_wireless_stats,会显示其结果,否则忽略。
iwlan、bcm4329等设备驱动都有对它的支持 。
b) linux/wireless.h net/wireless/
c) ioctl
主参数是网络接口名,例如eth2,tiwan0。

3)设备驱动:要将无线扩展映射到实际的硬件管理上。
有个图:

二) wpa supplicant

WPA Supplicant软件包,带有一些无线设备启停脚本,后台程序wpa_supplicant,以及一些基本命令。无线安全模式,像WPA personal,是这里实现的。
命令有:wpa_action、wpa_cli、wpa_passphrase。

三) 上层的GUI。

参考:
1. Jean Tourrilhe的主页

linux下wifi设备的实现逻辑相关推荐

  1. kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】

    转自:http://blog.chinaunix.net/uid-26349264-id-4455634.html 目录 kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 ...

  2. Linux下PCI设备驱动程序开发[转]

    PCI是一种广泛采用的总线标准,它提供了许多优于其它总线标准(如EISA)的新特性,目前已经成为计算机系统中应用最为广泛,并且最为通用的总线标准.Linux的内核能较好地支持PCI总线,本文以Inte ...

  3. kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载_商洛学院司徒荆_新浪博客

    kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 1.1     VMWare下的配置 1.2 VirtualBox下的配置 原文链接:http://www.xuanhun ...

  4. linux配置usb主从_一种Linux下USB设备主从切换的实现

    龙源期刊网 http://www.qikan.com.cn 一种 Linux 下 USB 设备主从切换的实现 作者:侯景昆 来源:<电子技术与软件工程> 2013 年第 22 期 摘 要 ...

  5. linux下usb设备节点名不固定,解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点...

    解决Linux下USB设备节点ttyUSB名不固定的问题,生成固定USB转串口设备节点 2018-09-19 http://blog.sina.com.cn/s/blog_8b58097f0102wx ...

  6. Linux下区分物理CPU、逻辑CPU和CPU核数

    Linux下区分物理CPU.逻辑CPU和CPU核数 ㈠ 概念 ① 物理CPU 实际Server中插槽上的CPU个数物理cpu数量,可以数不重复的 physical id 有几个 ② 逻辑CPU Lin ...

  7. Linux下查看物理CPU、逻辑CPU和CPU核数

    Linux下查看物理CPU.逻辑CPU和CPU核数 1.概念 物理CPU:实际Server中插槽上的CPU个数. 物理cpu数量:可以数不重复的 physical id 有几个. 2.逻辑CPU Li ...

  8. linux中设备文件和磁盘文件的区别,Linux下磁盘设备文件有哪些变化问题?

    在Linux下往往会碰到这样的问题,磁盘的设备文件,比如/dev/sda, sdb, sdc等等在某些情况下会混乱掉,比如sda变成了sdb或者sdc变成了sdb等等,这样无形中会导致磁盘设备管理的混 ...

  9. 对linux下loop设备的理解。

    为什么80%的码农都做不了架构师?>>>    loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备.它能使我们像块设备一样访问一个文件. 对于.img之 ...

最新文章

  1. SVG.path_不连续的线段
  2. [CTO札记]搜索结果第3页,也会进来
  3. android stadio svn 使用技巧
  4. tensorflow笔记:模型的保存与训练过程可视化
  5. css样式引入形式php,引入css样式表的四种方式介绍
  6. 腾讯云EMR基于YARN针对云原生容器化的优化与实践
  7. python3字典写入excel_python3:excel操作之读取数据并返回字典 + 写入的案例
  8. Echarts地图编写
  9. oracle插入时间报错,Oracle 插入时间时 报错:ORA-01861: 文字与格式字符串不匹配 的解决办法...
  10. mongodb索引使用
  11. MySQL数据库表分区功能详解
  12. sql server运算符_了解SQL Server中集合理论与集合运算符之间的相互作用
  13. 使用MSYS2编译64位gvim
  14. Ubuntu13.04配置优化(四)转贴
  15. 命令行管理sql server
  16. Some normal compiling and debugging commands for C# 常见C#调试和编译命令
  17. 【优化预测】基于matlab布谷鸟搜索算法优化SVM预测【含Matlab源码 1525期】
  18. js高级学习笔记(b站尚硅谷)-16-原型链的继承
  19. arcgis绘制shp文件
  20. ubuntu sftp服务器搭建

热门文章

  1. DIS和EIS(数码防抖和电子防抖)
  2. 加密项目是否采用DAO模式 首先考量这8个因素
  3. css背景图铺满整个屏幕
  4. android uyghur app,‎App Store 上的“Uyghur Quran And Translation”
  5. 程序员们的那些神表情,有木有击中你^_^
  6. OH----调试T7520过程中对 linux usb dwc3的总结
  7. 研究生发论文的流程?
  8. 【信号与系统】系统线性时不变、因果稳定性的判定
  9. Java在线打开编辑PPT文档
  10. java拆分list_Java 8 stream 流 拆分list