<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SuperWRT &#187; WLAN驱动</title>
	<atom:link href="http://www.superwrt.com/blog/category/wlan-driver/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.superwrt.com/blog</link>
	<description>更稳定的Wi-Fi路由器系统</description>
	<lastBuildDate>Mon, 14 Jun 2021 02:22:25 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.7</generator>
	<item>
		<title>从MadWifi到ath5k,ath9k,ath10k最后到Linux kernel</title>
		<link>http://www.superwrt.com/blog/madwifi-compat-wireless-linux-kernel/</link>
		<comments>http://www.superwrt.com/blog/madwifi-compat-wireless-linux-kernel/#comments</comments>
		<pubDate>Sat, 20 Jun 2015 13:54:49 +0000</pubDate>
		<dc:creator><![CDATA[Terra Yang]]></dc:creator>
				<category><![CDATA[WLAN驱动]]></category>
		<category><![CDATA[Linux驱动]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[WLAN]]></category>

		<guid isPermaLink="false">http://superwrt.com/blog/?p=8</guid>
		<description><![CDATA[<p>MadWifi最初是FreeBSD中的驱动，开放开发后，支持了Linux。最后，根据不同芯片系列，演变为ath5k和ath9k。为了支持Atheros的11AC设备，又增加ath10k。以compat-wireless项目存在，2015年更名为compat-driver项目。SuperWRT中优化了该代码。</p>
<p><a rel="nofollow" href="http://www.superwrt.com/blog/madwifi-compat-wireless-linux-kernel/">从MadWifi到ath5k,ath9k,ath10k最后到Linux kernel</a>，首发于<a rel="nofollow" href="http://www.superwrt.com/blog">SuperWRT</a>。</p>
]]></description>
				<content:encoded><![CDATA[<p>这是一篇关于Atheros开源驱动发展历史的介绍。</p>
<p>MadWifi的官方开发者是Sam Leffler。他一直为FreeBSD维护和提高Atheros的驱动，并维护了MadWifi的HAL二进制文件。在2005年，Sam决定不再维护MadWifi，由其它志愿者进行维护。由于MadWifi的开发正式开放，并努力发展成Linux可用的WLAN驱动的之一，于是MadWifi项目诞生。</p>
<p>在驱动中，与Atheros芯片寄存器交互的部分叫做HAL（Hardware Abstraction Layer）。由于WLAN使用的是开放频谱，而各国对该频段都有相应的频段和功率的限制，但Atheros的芯片可以通过修改寄存器来实现所在国法律实际不允许的设置。所以，MadWifi的作者Sam Leffler经过Atheros同意，使用了一个二进制版本的HAL实现。后来MadWifi的后续维护人员使用了Reyk Floeter为FreeBSD开发的ar5k中的HAL源代码，发展出了开源的OpenHAL用于替代二进制的HAL。</p>
<p>在2007年MadWifi项目宣告终止，最后一个发布是在2008年。Madwifi的工作任务由ath5k和ath9k替代。ath5k和ath9k是在compat-wireless项目下进行维护。compat-wireless是一个为Linux开发的支持WLAN芯片驱动的合集。compat-wireless中的驱动代码会合入Linux kernel。但在使用了一个稳定版本的Linux kernel后，为了支持更新的WLAN芯片，需要更新的WLAN驱动部分，所以一般来说compat-wireless中驱动更常用一些。</p>
<p><span id="more-8"></span>ath5k是基于MadWifi和OpenHAL的Linux版本Atheros无线驱动（FreeBSD的版本叫作ar5k）。ath5k主要支持AR24xx和AR5xxx系列芯片，也就是支持802.11abg标准的芯片系列。Linux的WLAN网络层主要包括：mac80211、cfg80211、nl80211，ath5k提供了与之对应的接口。</p>
<p>为支持802.11n标准，Atheros推出了AR54xx、AR91xx、AR92xx、AR93xx及AR95xx系列芯片。由于新的芯片与旧芯片系列有较大区别，所以开发了新的驱动，命名为ath9k。<a href="http://superwrt.com">SuperWRT</a>开发比较晚，所以仅从ath9k的芯片开始提供支持，合并了Atheros官方SDK和参考ath9k的代码（但仅支持AR93xx系列芯片）。</p>
<p>为了支持更新的802.11ac标准，Qualcomm（收购了Atheros）推出了QCA98xx和QCA99xx系列芯片。由于新的芯片使用了片上CPU，由该CPU的firmware分担了一部分工作，所以驱动结购也需要进行调整，于是又有ath10k版本。<a href="http://superwrt.com">SuperWRT</a>对于Qualcomm的WLAN芯片的11ac支持在开发中，由于需要使用firmware，所以稳定版本仍在开发中。</p>
<p>2015年，compat-wireless项目目前更名为compat-driver项目。</p>
<p><a rel="nofollow" href="http://www.superwrt.com/blog/madwifi-compat-wireless-linux-kernel/">从MadWifi到ath5k,ath9k,ath10k最后到Linux kernel</a>，首发于<a rel="nofollow" href="http://www.superwrt.com/blog">SuperWRT</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.superwrt.com/blog/madwifi-compat-wireless-linux-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
