All of lore.kernel.org
 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: 25+ 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-07 18:44                     ` Christian Lamparter
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.