目前开始学习ath9k驱动原理,开始把最近所学所看到的东西整理记录下。

这是一篇关于Atheros开源驱动发展历史的介绍。

MadWifi的官方开发者是Sam Leffler。他一直为FreeBSD维护和提高Atheros的驱动,并维护了MadWifi的HAL二进制文件。在2005年,Sam决定不再维护MadWifi,由其它志愿者进行维护。由于MadWifi的开发正式开放,并努力发展成Linux可用的WLAN驱动的之一,于是MadWifi项目诞生。

在驱动中,与Atheros芯片寄存器交互的部分叫做HAL(Hardware Abstraction Layer)。由于WLAN使用的是开放频谱,而各国对该频段都有相应的频段和功率的限制,但Atheros的芯片可以通过修改寄存器来实现所在国法律实际不允许的设置。所以,MadWifi的作者Sam Leffler经过Atheros同意,使用了一个二进制版本的HAL实现。后来MadWifi的后续维护人员使用了Reyk Floeter为FreeBSD开发的ar5k中的HAL源代码,发展出了开源的OpenHAL用于替代二进制的HAL。

在2007年MadWifi项目宣告终止,最后一个发布是在2008年。Madwifi的工作任务由ath5k和ath9k替代。ath5k和ath9k是在compat-wireless项目下进行维护。compat-wireless是一个为Linux开发的支持WLAN芯片驱动的合集。compat-wireless中的驱动代码会合入Linux kernel。但在使用了一个稳定版本的Linux kernel后,为了支持更新的WLAN芯片,需要更新的WLAN驱动部分,所以一般来说compat-wireless中驱动更常用一些。

ath5k是基于MadWifi和OpenHAL的Linux版本Atheros无线驱动(FreeBSD的版本叫作ar5k)。ath5k主要支持AR24xx和AR5xxx系列芯片,也就是支持802.11abg标准的芯片系列。Linux的WLAN网络层主要包括:mac80211、cfg80211、nl80211,ath5k提供了与之对应的接口。

为支持802.11n标准,Atheros推出了AR54xx、AR91xx、AR92xx、AR93xx及AR95xx系列芯片。由于新的芯片与旧芯片系列有较大区别,所以开发了新的驱动,命名为ath9k。SuperWRT开发比较晚,所以仅从ath9k的芯片开始提供支持,合并了Atheros官方SDK和参考ath9k的代码(但仅支持AR93xx系列芯片)。

为了支持更新的802.11ac标准,Qualcomm(收购了Atheros)推出了QCA98xx和QCA99xx系列芯片。由于新的芯片使用了片上CPU,由该CPU的firmware分担了一部分工作,所以驱动结购也需要进行调整,于是又有ath10k版本。SuperWRT对于Qualcomm的WLAN芯片的11ac支持在开发中,由于需要使用firmware,所以稳定版本仍在开发中。

2015年,compat-wireless项目目前更名为compat-driver项目。

Atheros开源驱动发展历史的介绍相关推荐

  1. CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系...

    CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...

  2. Hadoop的介绍以及发展历史

    Hadoop的介绍以及发展历史 Hadoop最早起源于lucene下的Nutch.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取.索引.查询等功能,但随着抓取网页数量的增加,遇到了严重 ...

  3. 行为驱动测试历史发展与现状

    行为驱动开发(Behavior Driven Development)即BDD,是一种敏捷开发方法,通常应用在自动化测试中,或者也可称为行为驱动测试.通过使用自然描述语言确定自动化脚本,通过这种方式, ...

  4. 为何选择iText?java PDF开源库选择与iText发展历史

    作者:CuteXiaoKe 微信公众号:CuteXiaoKe 转眼间,我写iText7系列已经有一年多了,还记得最开始的时候是因为兴趣才翻译iText,不过随着慢慢翻译文章才发现iText的强大之处, ...

  5. 360浏览器登录_浏览器发展历史介绍及当今主流浏览器的详细对比

    作为访问internet的工具,浏览器已经成为我们日常生活中必不可少的上网工具了,它能让你加入全球的网络,通过一个窗口就能够连接世界.当你用浏览器时有没有想过浏览器的发展历史?面对市场上繁多的浏览器你 ...

  6. .NET框架和发展历史介绍

    [.NET框架知识] .NET 框架是由微软开发的软件开发平台,其最主要的两个组成部分是公共语言运行时 (CLR) 和框架类库 (FCL),基础类库 (BCL)是框架类库的一个子集,.NET框架的主要 ...

  7. 人脸识别发展历史介绍 by 山世光

    1 引言 在我们生存的这个地球上,居住着近65亿人.每个人的面孔都由额头.眉毛.眼睛.鼻子.嘴巴.双颊等少数几个区域组合而成,它们之间的大体位置关系也是固定的,并且每张脸的大小不过七八寸见方.然而,它 ...

  8. HTTP 协议详解和版本介绍(HTTP发展历史)

    HTTP 协议的发展历史以及相应版本的相关功能的简单介绍 本文主要讲解 http协议 的发展历史: 1. http协议发展历史总览 . 2. http协议分析: HTTP版本各自的基本功能 . 3. ...

  9. 计算机发展历史介绍英文版,计算机发展历史英文PPT The history of computer

    <计算机发展历史英文PPT The history of computer>由会员分享,可在线阅读,更多相关<计算机发展历史英文PPT The history of computer ...

最新文章

  1. 视频插值--Video Frame Interpolation via Adaptive Separable Convolution
  2. 网站标题如何设计才更有利于网站优化呢?
  3. python自动化办公都能做什么菜-python+selenium自动化(一)之环境搭建
  4. 【Java 并发编程】线程池机制 ( ThreadPoolExecutor 线程池构造参数分析 | 核心线程数 | 最大线程数 | 非核心线程存活时间 | 任务阻塞队列 )
  5. Android Service Security
  6. C语言 | 快排双向扫描:快速排序双向扫描分区法(源代码)
  7. 医疗器械监管系统总结
  8. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap
  9. mysql报错型手工注入_mysql手工注入教程
  10. 一些常用的辅助代码 (网络收藏)
  11. WebSocket websockets
  12. Python第三方库使用感言
  13. (转)后监管时代的资本市场,数字金融能否迎来大爆发?
  14. C# 操作Gmap简单使用方法
  15. (最新)Win7安装配置IIS7.5详细图文教程 (一)
  16. 通用模块脚本使用案例:玩家与NPC对话
  17. python短信验证码登录_Python实现短信验证
  18. 浅谈一下Program Files和Program Files(x86)
  19. 移动App测试中的最佳做法
  20. android 5.1 壁纸路径,Android5.1 壁纸来源选项中有两个“壁纸”选项

热门文章

  1. CTF竞赛入门(三)密码学安全
  2. Python进阶,使用 opencv 调用摄像头进行拍照
  3. 劳动节特别策划丨实干2020!有奖征集活动
  4. 游戏原画零基础入门到精通——你所不知道的那些重要性
  5. 动态规划——零钱兑换问题
  6. 微信域名拦截检测php,微信端域名拦截检测PHP源码
  7. 研究生应该怎么读-鸡汤文要点汇总
  8. python股票项目分析图
  9. 可靠性,可扩展性,可维护性
  10. python图片压缩软件_Python照片压缩