carl9170
History
The Otus driver
Atheros merged support for their USB AR9170 2-stream 802.11n chipsets into the Linux kernel on the v2.6.29 release through a staging driver called Otus. The shortcomings for this driver was it required its own custom supplicant and obviously the code quality was sub-par.
ar9170usb driver
Shortly after Otus was submitted into staging Johannes Berg put a lot of effort into rewriting the driver for proper upstream inclusion. Christian Lamparter simply took what was already there, added a few finishing touches to addressed upstream considerations and we got it merged on the 2.6.30 release under the ar9170usb name.
During this time a lot of good work went into stabilizing the driver to replace the staging Otus driver from Atheros. The project had ambitious hopes to completely supersede the original Atheros staging driver: Otus.
To achieve this all functionality, performance, stability and quality must have been equally matched. In the end this proved quite challenging even though Atheros was kind enough to provide detailed documentations, hardware specifications and most importantly, they actually released the firmware source code under GPLv2! It took months to dig through all the code and during this time the ar9170usb driver project lost most of its momentum and changes to the driver where limited to simple USB IDs updates, API fix-ups and serious crash fixes.
Towards the beginning of 2010 a new shiny driver: carl9170usb started brewing with the main goal of replacing the existing driver and making use of only open firmware. It took 1 year, 5 months, 9 days since this merge of ar9170usb upstream to release carl9170 with upstream inclusion intentions. The carl9170 driver actually ends up not only replacing but
Upstream wireless-testing.git patch:
You can download the GPLv2 Firmware binary:
You can get the firmware source code from: The firmware source code comes with support for building the toolchain. Requirements for building everything: carl9170
Features
Code
http://www.kernel.org/pub/linux/kernel/people/chr/carl9170/drv/1.8.8.1/carl9170-driver-1.8.8.1.diff
GPLv2 Firmware binary
http://www.kernel.org/pub/linux/kernel/people/chr/carl9170/fw/1.8.8.1/carl9170-1.fw
Firmware source code
git://git.kernel.org/?p=linux/kernel/git/chr/carl9170fw.git