[CUWiN-Dev] email to de raadt, stallman, gettys re: marvell wlan

David Young dyoung at pobox.com
Mon Oct 16 16:09:51 CDT 2006


Here is that email I sent re: Marvell WLAN.  Based on the responses I got,
I do not think I have changed anybody's mind.

Dave

----- Forwarded message from David Young <dyoung at pobox.com> -----

Date: Fri, 13 Oct 2006 01:11:15 -0500
From: David Young <dyoung at pobox.com>
To: deraadt at cvs.openbsd.org, jsg at goblin.cx, rms at gnu.org, jg at laptop.org
Subject: seek marvell hardware docs, they do exist

Theo,

Be careful what you ask for! :-) I see that OpenBSD does *not* ask for
Marvell hardware docs, but seeks vendor firmwares under a non-restrictive
license, instead.  That's better than nothing, certainly, but there are
at least three problems with vendor firmwares, as I see it:

1 Even the designs for so-called "thin" vendor firmwares are actually
  rather "thick" (no pun intended).  That is, a lot of firmware mediates
  the host driver's control of the MAC / modem / radio.  The firmware
  designers have made decisions that foreclose innovation opportunities
  for third-party developers.

2 Vendor firmwares have bugs that you cannot fix.  If your uses for a
  vendor's product are any different than their own (see #1), you will
  find either more or different bugs than the vendor.  You may have to
  convince them that there really is a bug; you may not succeed at that.

3 The development of WLAN firmware and WLAN drivers is tightly coupled:
  the vendor designs the firmware to work with the driver, and vice versa.
  This complicates third parties' driver development.  At the vendor,
  the firmware programmer can both neglect to validate firmware command
  arguments, and ignore host buffer lengths, if he tells the driver
  programmer in the next cubicle about it, or else if he "lucks out,"
  and the vendor's driver "just works" with the firmware.  A third-party
  driver developer discovers these firmware deficiencies as he crashes
  either the firmware or the OS on the host.  If the firmware keeps a
  lot of hidden state, then the reasons for failures will be obscure.

I have some words to say about the feasibility and the demand for an
open WLAN firmware.

You will have to take my word for it that register-level documentation
for Marvell WLAN chipsets does exist.

In the open-source community, we should not fear writing a firmware
from scratch.  It is a feasible open-source project.  The firmware
can and should be fairly "thin."  The principal concerns of an open
firmware will be controlling DMA and crypto engines, supporting
RF/modem/MAC register reads and writes, and interrupting the host CPU
as asynchronous processes complete.  As far as I can tell, on current
microcontroller-based designs from any maker, the real-time MAC (requiring
response in tens of microseconds or less) is in a hardware state machine,
so it is not necessary to program the 802.11 MAC from the bottom up.
The basic idea would be to provide an interface to the host that resembles
the interface to the so-called "dumb packet engines" by ADMtek, Atheros,
Ralink, Realtek, and so on.  I guess that to write a thin open firmware,
it would take about as long as to write a basic driver for any of the
dumb packet engines, and to write a basic driver for the firmware would
take that long again.  Any number of developers are up to the task.

OLPC's desire for the opportunity to modify the Marvell firmware is clear.
I believe there is also significant latent demand for the opportunity
to write a firmware, especially in the wireless research communities.
When I say there is latent demand, I mean that there are researchers
who desire to experiment with rapid link adaptations and novel MAC
protocols, and reprogramming a microcontroller-based WLAN would make a
critical difference in their ability to run meaningful experiments on
a real-world testbed, but for whatever reason, those researchers do not
seek chipset documentation.

Dave (CUWiN.net / NetBSD.org)

-- 
David Young             OJC Technologies
dyoung at ojctech.com      Urbana, IL * (217) 278-3933

----- End forwarded message -----

-- 
David Young             OJC Technologies
dyoung at ojctech.com      Urbana, IL * (217) 278-3933


More information about the CU-Wireless-Dev mailing list