Re: [PATCH] Marvell Libertas 8388 802.11b/g USB driver (v2)

From: Marcelo Tosatti <hidden>
Date: 2007-01-20 20:19:05

Got dropped somehow...

----- Forwarded message from Marcelo Tosatti [off-list ref] -----

Date: Thu, 18 Jan 2007 13:43:51 -0200
To: Jiri Benc <redacted>
Cc: Dan Williams <redacted>,
	Johannes Berg [off-list ref],
	Marcelo Tosatti [off-list ref],
	netdev [off-list ref], Jeff Garzik [off-list ref],
	"John W. Linville" [off-list ref],
	"Luis R. Rodriguez" [off-list ref],
	Arnd Bergmann [off-list ref],
	Arnaldo Carvalho de Melo [off-list ref]
In-Reply-To: [ref]
Subject: Re: [PATCH] Marvell Libertas 8388 802.11b/g USB driver (v2)

Hi Jiri,

On Wed, Jan 17, 2007 at 07:07:26PM +0100, Jiri Benc wrote:
On Wed, 17 Jan 2007 12:43:08 -0500, Dan Williams wrote:
quoted
The 8388 architecture is typical of a thick firmware architecture, where
the firmware handles all 802.11 MAC management tasks.  The host driver
downloads standard 802.3 frames to the firmware to be transmitted over
the link as 802.11 frames.
Ah. This isn't clear from the driver as it's too big to go through in
detail. In particular, handing 802.3 frames to the firmware means you
cannot use d80211 (nor ieee80211).
quoted
I thought these 2 things were essentially _the_ definition of fullmac,
please correct me if I'm wrong.
I think you're right.
quoted
Perhaps I just don't understand how flexible d80211 has become; when we
last were talking about it 8 months ago, it appears that it could not
handle parts that did significant pieces of work in firmware, like the
8388 does.  Do we have the functionality in d80211 yet to handle pieces
that are a full mix of hybrid full/soft mac?
No.
quoted
[...]
Not quite; the driver doesn't have to deal with the Open System
handshake or the Shared Key handshake.  Instead of Airo's 1-step
process, this is a simple 2-step process.  Look at wlan_join.c,
wlan_associate().  That's what happens; nothing more.
If everything is as simple as you wrote, why is the driver so
incredibly big? It's almost impossible to review it in a reasonable
time.
Most notably because the firmware provides a vast number of
configuration commands, and all of them are supported by the driver.

For instance, it supports sleep mode, which makes normal operation way
more complex than if it didnt (the driver queue's packets internally to
hand them out once the awake window has been opened).

----- End forwarded message -----
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help