linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Lamparter <chunkeey@googlemail.com>
To: "David H. Lynch Jr." <dhlii@dlasys.net>
Cc: linux-wireless@vger.kernel.org
Subject: Re: ar9170-fw II
Date: Sat, 1 May 2010 19:19:31 +0200	[thread overview]
Message-ID: <201005011919.32016.chunkeey@googlemail.com> (raw)
In-Reply-To: <4BDC001F.9050202@dlasys.net>

On Saturday 01 May 2010 12:19:11 David H. Lynch Jr. wrote:
> I have ethernet driver experience but not wifi. I have a project to 
> add some features to the ar9170 that will require additions to the 
> firmware. I would appreciate pointers for docs etc. to get me started.

Well, for starters the ar9170 uses a ZyDas MAC (aka ZD1221)
and a AR900x PHY/Radio. Therefore the phy code and registers
are very similar to those #definitions you can find in ath9k.
And for the MAC code & registers you can look into zd1211rw,
or look into drivers/staging/otus (original vendor driver,
shares some code with their windows drivers)

AFAICT, there are no technical documents about the AR9170 
solution available w/o signing a NDA with Atheros
(probably because the devices are still produced and sold in high quantities?).

> What is available for the ar9170 itself ?
> How does the firmware and the linux driver communicate?
>   Is there an overview of the firmware - what is where ?

not really, apart from the headers of the original firmware 
and vendor drivers.

But if you really need to implement some of your 'features'
(what are they, if I may ask?) into the firmware you could
save some time by migrating to carl9170 code base:
( http://www.kernel.org/pub/linux/kernel/people/chr/carl9170/1.0.5 
  + linville's wireless-testing.git )

The advantages over the original firmware code (from a developers POV) are:
 * customizable/configurable fw
	+ driver can auto detect all selected fw features

 * userspace testbench ( carlu ) for the usb subsystem
   (allows you to run usb stress-test, dump the device's eeprom content
    to stdout and of course: you can implement your own routines
    and test & develop without crashing the kernel)

 * all hardware & firmware interface definitions are all located 
   in a single directory /include/shared/*.h

	version.h	- carl9170 API/ABI version
	eeprom.h	- eeprom layout
	phy.h		- AR900x PHY/Radio definitions
	fwcmd.h		- implemented firmware commands
	fwdesc.h	- layout of the firmware descriptor (e.g. available/activated features)
	hw.h		- ZD1221 MAC + (Faraday USB) definitions
		wlan.h	- (part of hw.h & phy.h) contains all the information about
				  tx & rx frame formats.

 * (tiny) printf + hexdump (obviously, you want those ;-) )

 * follows linux' kernel coding style :-D

Regards,
	Chr

  reply	other threads:[~2010-05-01 17:19 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-01 10:19 ar9170-fw II David H. Lynch Jr.
2010-05-01 17:19 ` Christian Lamparter [this message]
2010-05-01 18:23   ` David H. Lynch Jr.
2010-05-01 20:45     ` Christian Lamparter
2010-05-02  7:47       ` Benoit Papillault
2010-05-02 11:14         ` David H. Lynch Jr.
2010-05-02 12:52           ` Christian Lamparter
2010-05-02 13:47             ` David H. Lynch Jr.
2010-05-05 18:41             ` carl9170 1.0.5.1 David H. Lynch Jr.
2010-05-05 19:59               ` 2.6.34-rc6 pci bridge problems Christian Lamparter
2010-05-06 15:09                 ` Bjorn Helgaas
2010-05-07 15:46                   ` Bjorn Helgaas
2010-05-06  0:11               ` carl9170 1.0.5.1 Luis R. Rodriguez
2010-05-11 22:02             ` ar9170-fw II David H. Lynch Jr.
2010-05-11 23:27               ` Christian Lamparter
2010-05-21  7:50             ` carl9170 1.0.6 David H. Lynch Jr.
2010-05-21 21:35             ` carl9170 1.0.6 carl9170_tx_superdesc David H. Lynch Jr.
2010-05-21 22:55               ` Christian Lamparter
2010-05-22  1:09                 ` David H. Lynch Jr.
2010-05-22 19:13             ` carl9170 1.0.9 David H. Lynch Jr.
2010-05-23  1:34               ` Christian Lamparter
2010-05-23  5:30                 ` David H. Lynch Jr.
2010-05-23  6:30                 ` carl9170 1.0.9.1 David H. Lynch Jr.
2010-05-03 21:39     ` ar9170-fw II Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201005011919.32016.chunkeey@googlemail.com \
    --to=chunkeey@googlemail.com \
    --cc=dhlii@dlasys.net \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).