The 2006 Wireless Networking Summit
![]() |
Group photo: 1000x620, 2200x1360 |
Your editor was fortunate enough to be able to attend this meeting. The following report is an attempt to summarize the conclusions from the summit - it is not a set of detailed minutes, and your editor will engage in some chronological reordering along the way. Hopefully the result will provide a sense for where things stand, and where they are likely to go in the near future.
History
As John Linville (the recently-named wireless networking maintainer) noted in a conversation with your editor, early wireless adapters were marketed as "wireless Ethernet," and Linux kernel developers treated them as a sort of slow, unreliable, fiddly Ethernet adapters. But wireless is not Ethernet in any way - it is a completely different set of networking standards with its own quirks, special features, and distinct needs. Treating wireless as a form of Ethernet slowed support for those special features, and, more importantly, impeded the development of any sort of internal kernel support for wireless. Each developer who set out to write a driver for a wireless adapter ended up implementing everything from the beginning. So there was no general wireless API, no comprehensive support of wireless features, and a great deal of divergence and duplication of code between drivers.
In 1997, Jean Tourrilhes decided to do something about this situation. The
result was WE-1 - the first version of the Linux wireless extensions.
There was still no 802.11 standard at the time, but the WE API enabled the
configuration and operation of wireless adapters with a single set of
tools. Jean's wireless tools are still the core utilities for managing
wireless adapters, though the graphical interfaces are replacing the
wireless tools for most users.
Development of the wireless extensions continued, with WE-9 - supporting the new 802.11 standard - being released in 1999. WE-18, merged last year, added support for WPA ("WiFi Protected Access"). The current revision, WE-20, adds a new, netlink-based interface as a future replacement for the current ioctl() API.
Though development continues, there appears to be a general, shared feeling that the wireless extensions are heading toward the end of their useful life. A replacement API - which does not exist yet - would work with the entire wireless networking stack, rather than being an interface directly to the low-level drivers. Regardless of how that plays out, however, the wireless extensions are likely to be around for a long time to come.
The current status
The current effort to create a proper wireless stack for Linux started in 2004, when Jeff Garzik announced the creation of a special wireless tree, initially seeded with the HostAP code. The merging of HostAP enabled support of some relatively current networking cards and the use of a Linux system as a wireless access point. The creation of this tree did help to get things going, but HostAP has not turned out to be everything that had been hoped for. In particular, there is no support in HostAP for cards which need software MAC ("softmac") implementations. But many contemporary cards rely upon the host software for many low-level operations; these cards can not be supported by the wireless stack found in the current (2.6.16) kernel.
The result is, as John Linville put it, a Linux wireless implementation
which supports "anything which is obsolete." Some cards are supported,
some better than others. Most noteworthy among current hardware is the set
of Intel IPW drivers, which, thanks to Intel, have very good support in the
kernel - but these adapters do not need softmac support.
What is lacking, at this point, is a small list of mildly desirable features, including support for much widely-used hardware. Ease of use is also lacking - despite improvements in the graphical tools, configuring a wireless connection can still be a painful procedure. Perhaps the best demonstration of these two problems was to be found at the summit itself, where about 25% of the participants ended up using an Ethernet cable to plug directly into the OSDL network.
Other problems include consistency (or the lack thereof) across hardware - there are still a number of adapter-specific APIs in the kernel and in the out-of-tree drivers. The documentation of APIs is, well, nonexistent; a complaint was heard that Linux Device Drivers does not describe how to write a wireless driver. There is no coordinated process for extending APIs. Quality of service support is not present - an issue we'll return to shortly. There are no driver test suites in general circulation. And the whole regulatory issue looms over the wireless networking arena, and is the largest single cause of out-of-tree (or nonexistent) wireless drivers. Many vendors simply do not feel that they can release programming information or free drivers and remain compliant with regulatory regimes worldwide.
Meanwhile, the upcoming 2.6.17 kernel will see some improvements in its wireless support. John merged one of the many softmac implementations out there, on the theory that it was one of the most active projects and that it would help to support driver development. The bcm43xx (Broadcom) driver, which uses softmac, was also merged, and there are a couple of other softmac-based drivers under development. Even so, the consensus appears to be that softmac is not the way forward; that, instead, the Devicescape stack is the real future of Linux wireless.
Devicescape
Devicescape is a company which offers a number of products and services around wireless networking. In developing it offerings, Devicescape created its own, Linux-based 802.11 stack with a number of nice features - including good softmac and WPA support . This stack was recently released under the GPL and has been fixed up for the kernel by Jiri Benc. It is regarded by many as being the best of the available free stacks.
When Jeff Garzik maintained the wireless tree, he took a firm position against moving to the Devicescape stack, stating instead that the in-kernel code should be evolved toward the needed capabilities. He appears to have found himself in the minority, however, and John Linville seems poised to merge this stack for a future kernel release. He maintains a separate development tree which includes Devicescape, and some drivers (notably bcm43xx) have been ported to this stack. Nobody at the summit was heard to argue against merging Devicescape.
Devicescape hacker Simon Barber talked about this code for a bit, and a separate breakout session addressed it as well. This stack is a large body of code. The freely-released code available now includes the 802.11 stack, the "openap" access point code, and a link-layer bridging module. Work which will be released soon includes improvements to the hostapd daemon (802.11g support, among other things; this code is being merged now); bridging and VLAN integration, and various improvements to Ethereal for wireless developers. There is also "a complete home gateway distribution" in the works. There is the inevitable web portal being put together to provide access to all this code.
Quite a bit of work is foreseen for the Devicescape stack. It is composed, internally, of a long list of handler functions which deal with frames (both data packets and 802.11 management frames) on their way to and from the adapter. Future plans call for enabling loadable modules to plug in their own handler functions. More of the management code may also eventually be moved out to user space. To that end, some additional management capabilities will be added to the hostapd daemon, which handles authentication and management tasks. Merging hostapd with wpa_supplicant, which handles the client side of the authentication process, is envisioned; evidently a number of things become easier when the two functions are merged into the same process.
There is also a great deal of complexity coming with the long list of future 802.11 standards. These standards will require support as they are adopted.
One interesting area of development has to do with quality of service support. 802.11 defines four service levels: "voice," "video," "best effort," and "background." There is a priority range for each service level, and the ranges overlap. All voice packets will go out before any background packets, but the rest of the levels will share the available bandwidth. With proper QoS support, a wireless user can carry on a voice-over-IP conversation, stream video of the latest "breaking news" celebrity sighting from CNN, grab a new kernel by FTP, and distribute materials (best not to ask what) via Bittorrent. Each activity can operate at its own quality of service level, and all should get the best available performance.
Some wireless network adapters have quality of service support in the form of four separate transmit queues. If the host places each packet in the appropriate queue, the adapter will divide the available bandwidth between them in a way which respects each level's service quality. The problem is that the Linux networking stack only supports one transmit queue per device. This presents a problem when one of the four device-level queues fills up. There is no way to tell the kernel that no more background packets can be queued, but there is still space for voice packets, for example; the only thing the driver can do is to stop the queue for all packets.
The Devicescape hackers have worked around this problem using the traffic control mechanism built into the networking stack, which normally operates at a level not seen by driver code. By creating a separate internal queue for each service level, the Devicescape stack can, for all practical purposes, implement a separate transmit queue for each service level. Even better, it becomes possible to configure policy - which types of traffic get which service level - from user space using the normal traffic control tools. What would be nice, however, would be to generalize this use of the queueing discipline code, and to make it available for other sorts of hardware as well.
Another area requiring work is user-space API definition. There is no well-understood API which, for example, can be used by a graphical wireless management utility to talk with the networking stack and with processes like hostapd. There isn't really even a discussion of how such an API should look at the moment.
Other open issues include the usual regulatory hassles, the lack of a user-space MAC-layer management environment, the need for better scanning, support for adapters which perform MAC management in hardware, power management support, and a rework of the configuration interface. Configuration is handled by way of ioctl() calls and a /proc interface. It was noted, in a pointed manner, that the Devicescape code will not make it into the mainline as long as it contains /proc files. It seems that the Devicescape stack also needs some work before it will operate properly on SMP systems.
Finally, adding proper wireless support to the kernel will involve the creation of a specific net_device type for 802.11 devices. An 802.11-specific sk_buff structure should also be defined. Current code still uses the Ethernet types and drags along the extra needed information on the side.
The biggest open issue, however, may be this: what happens to the just-merged softmac code when Devicescape is merged? There is much duplication of functionality there, and nobody is thrilled by the idea of having to maintain two separate 802.11 stacks indefinitely into the future. There is a clear parallel with the OSS and ALSA sound drivers; ALSA was supposed to replace OSS, but removing the OSS drivers has proved to be a difficult thing to do. It is not clear what can be done to make removing softmac any easier.
Tools
The summit was mostly attended by kernel-oriented developers, but there was also some discussion of user-space tools; NetworkManager hacker Daniel Williams was present. It is recognized by all that, while the quality of the available tools has improved significantly in the last couple of years, there is some ground to cover yet. In particular, configuring an interface can be relatively painless when things go well, but, as soon as something doesn't quite work, the whole experience falls apart.
Improving the situation will require support from the kernel side. When things go wrong, user space needs to know just what the problem is. But there is no consistent set of error codes returned by the kernel to indicate, for example, that the required adapter firmware is not present, or the provided WEP key is not valid. Some drivers support more of the current API than others, which does not help, and API documentation is generally not available. Better scanning support would also be useful.
Hardware support
While getting the networking stack and user-space tools into shape is necessary, improving hardware support is also a necessary step toward a Linux wireless implementation which truly "just works." Some hardware (Intel, others) is well supported now, others (Broadcom) will be supported soon. Some, such as the Atheros chipset, may be a long time in coming. The existing Atheros driver (as found in OpenBSD) appears to be severely tainted by code of questionable origin, to the point that its chances of being merged into Linux are about zero. There is an effort to document the Atheros hardware from the currently-available code, enabling a clean-room driver implementation in the future, but there is quite a bit of work yet to be done.
The regulatory compliance issue came up again in this context. Some adapters (such as Atheros) are, for all practical purposes, general-purpose radios which can be programmed to operate far out of the 802.11 specification. When a free driver is developed for such hardware, it would be a Good Thing to be sure that it runs the hardware in a manner compliant with the applicable regulations, even if it cannot necessarily be certified as such. That sort of testing requires specialized equipment, however, and is evidently a multi-day process. The necessary equipment does exist at companies like Nokia and at some universities, but there is currently no process for obtaining access to that equipment for compliance testing.
Much of the current driver work is done outside of the mainline tree, and the kernel developers would like to see that changed. Once code gets into the mainline, it is easier for others to review and improve. Greg Kroah-Hartman encouraged driver developers to merge their code as early as possible, even if it doesn't work yet.
Communications regarding wireless drivers, it was agreed, would remain on the netdev mailing list for now. If, at some point, that conversation threatens to overwhelm other traffic on netdev, a new list can be created. There will also likely be a web set put together for wireless driver information in the near future.
Other issues
One purpose behind the summit was simply to try to pull more of the relevant developers into the wider kernel process. To that end, there was a talk on source control systems - git and quilt in particular. The "merge early" approach was advocated many times.
Stephen Hemminger gave a talk on the state of the bridging code. Bridging is of interest to wireless developers - it can be used for connection sharing and mesh networking applications. To that end, the bridging code is likely to be reworked and much of it moved to user space. Just like routing is mostly handled by user-space daemons now, bridging management - including the spanning tree maintenance - will move to user space in the future.
Some representatives of the Personal Telco Project were brave enough to compete with a delivery of pizza for the developers' attention at lunch time. These folks have put together a network of over 100 Linux-based free wireless hotspots around Portland. They had a number of requests of the kernel developers, including free Atheros drivers which don't crash the system and good, zero-configuration mesh networking. This is an interesting project which shows the power of what a few "unemployed geeks" can do.
Overall, the wireless summit was an optimistic event. While the
shortcomings of Linux wireless support were well recognized and understood,
there was also a clear sense that not only could the problems be solved,
but that many of the solutions were already well advanced. If all goes
according to plan, the day when Linux wireless "just works" is not that far
off.
Index entries for this article | |
---|---|
Kernel | Devicescape stack |
Kernel | Networking/Wireless |
Kernel | Wireless extensions |
Conference | Wireless Networking Summit/2006 |
Posted Apr 10, 2006 18:31 UTC (Mon)
by filker0 (guest, #31278)
[Link] (14 responses)
Just a proof-reading nit -- In the sixth paragraph of the "Devicescape" section: Should probably read:
Posted Apr 11, 2006 1:09 UTC (Tue)
by Viddy (guest, #33288)
[Link] (13 responses)
One interesting area of development has to do with quality of service support. 802.11 defines four service levels: "voice," "video," "best effort," and "background."
should probably read:
One interesting area of development has to do with quality of service support. 802.11 defines four service levels: "voice", "video", "best effort" and "background".
Given that the values probably do not include commas :)
Posted Apr 11, 2006 1:33 UTC (Tue)
by corbet (editor, #1)
[Link] (11 responses)
That said, standard English rules call for trailing commas to be put inside quoted strings, so that's how I do it.
Posted Apr 11, 2006 3:31 UTC (Tue)
by filker0 (guest, #31278)
[Link]
Great article, BTW.
Posted Apr 11, 2006 7:06 UTC (Tue)
by paulj (subscriber, #341)
[Link] (7 responses)
That said, standard English rules call for trailing commas to be put inside quoted strings, so that's how I do it.
Nit: Standard American English rules.
Never seen this (illogical) usage before, learn something new every day ;).
Posted Apr 11, 2006 11:41 UTC (Tue)
by smitty_one_each (subscriber, #28989)
[Link] (5 responses)
Posted Apr 11, 2006 19:26 UTC (Tue)
by JoeBuck (subscriber, #2330)
[Link] (4 responses)
You incorrectly think that there was a British standard that Webster decided to deviate from. In the 18th century, spelling was a free-for-all; even highly educated English-speaking writers on both sides of the Atlantic didn't even follow consistent spelling for the same word in the same document. There was no standard, and the two great standardizers (Webster in the US, Johnson in Britain) made different decisions.
Furthermore, many "Americanisms" represent an older British use, for example, the American pronounciation of "schedule".
And the British OED blesses "-ize" in most cases over "-ise", even for British English (Canadian reference picked for neutrality), for words of Latin/Greek origin, though modern Brits put "-ise" everywhere as a reaction against the Americans, even though, as the OED shows, they didn't do so in times past.
In this particular case, I do think that the British approach to punctuation in quotes is more logical.
Posted Apr 11, 2006 23:32 UTC (Tue)
by bk (guest, #25617)
[Link] (3 responses)
In the age of modern typography it seems obvious to me that logical quoting should be accepted as the new standard.
Posted Apr 14, 2006 17:15 UTC (Fri)
by giraffedata (guest, #1954)
[Link] (2 responses)
I don't think it has anything to do with old mechanical fixed type, and as the comment says a few words later, it was about aesthetics, not necessity.
Even in a modern newspaper or Word document, the comma looks nicer inside the quotes, unless you're a mathematician and the extreme illogicalness of it hurts your eyes.
Incidentally, for those seeing this rule for the first time: It applies to all punctuation, not just commas. And there's a similar rule of American typography that says when entire sentences are in parentheses, the period for the last one goes after the closing parenthesis.
Posted Apr 15, 2006 20:00 UTC (Sat)
by Baylink (guest, #755)
[Link]
Posted Apr 19, 2006 15:23 UTC (Wed)
by roelofs (guest, #2599)
[Link]
Not true. From Warriner's: Colons and semicolons are always placed outside the closing quotation marks (section 21g(2) of Fourth Course, at least in my edition). Also: Question marks and exclamation points are placed inside the closing quotation marks if the quotation is a question or exclamation. Otherwise they are placed outside (section 21g (3)). Turabian concurs (section 5.17 of Fifth Edition).
And there's a similar rule of American typography that says when entire sentences are in parentheses, the period for the last one goes after the closing parenthesis.
I question that as well; Warriner's discourages such usage in the first place but does say, Put punctuation marks within the parentheses when they belong to the parenthetical matter (section 22o). Turabian doesn't seem to address the issue, although I may simply have missed it.
Greg
Posted Apr 14, 2006 6:24 UTC (Fri)
by lysse (guest, #3190)
[Link]
Posted Apr 11, 2006 8:19 UTC (Tue)
by dvrabel (subscriber, #9500)
[Link]
Posted Apr 22, 2006 14:08 UTC (Sat)
by jengelh (guest, #33263)
[Link]
Posted Apr 11, 2006 3:07 UTC (Tue)
by xanni (subscriber, #361)
[Link]
http://en.wikipedia.org/wiki/Quotation_mark#Punctuation
Regards,
Posted Apr 10, 2006 19:32 UTC (Mon)
by dimi (subscriber, #2732)
[Link] (2 responses)
Posted Apr 11, 2006 7:59 UTC (Tue)
by johill (subscriber, #25196)
[Link] (1 responses)
Sorry to those missing, I probably couldn't spell your name (or didn't remember it) -- my luggage has been lost so I don't have the list on me right now. I'll update as soon as I get it.
Posted Apr 19, 2006 4:26 UTC (Wed)
by roelofs (guest, #2599)
[Link]
Greg
Posted Apr 10, 2006 21:28 UTC (Mon)
by paravoid (subscriber, #32869)
[Link] (1 responses)
Posted Apr 11, 2006 14:13 UTC (Tue)
by proski (subscriber, #104)
[Link]
Posted Apr 11, 2006 1:09 UTC (Tue)
by wrh2 (guest, #4254)
[Link]
Posted Apr 11, 2006 6:55 UTC (Tue)
by davidw (guest, #947)
[Link] (4 responses)
Posted Apr 11, 2006 9:42 UTC (Tue)
by johill (subscriber, #25196)
[Link] (3 responses)
Posted Apr 11, 2006 19:10 UTC (Tue)
by davidw (guest, #947)
[Link] (2 responses)
I created that site as a wiki, because no one person can keep up with a list of what doesn't work (or what does, for that matter).
Posted Apr 12, 2006 0:46 UTC (Wed)
by johill (subscriber, #25196)
[Link] (1 responses)
Also, having a negative list is imo stupid. You'll never know about all devices out there, so having a positive list is much more useful.
Posted Apr 12, 2006 2:25 UTC (Wed)
by bk (guest, #25617)
[Link]
Posted Apr 13, 2006 7:21 UTC (Thu)
by tialaramex (subscriber, #21167)
[Link]
A huge number of protocols, and protocol implementations have been written to run on top of an Ethernet link layer, some of them very tightly bound to Ethernet's specific features (e.g ARP). If you invent something quite different, let's call it Tenrehte, for your wireless networking, then none of that stuff works. No TCP/IP, no custom homebrew network code, nothing. So once you've started to ship engineering samples you need to go through a multi-month process to standardise layering of old protocols onto your new link layer. You need an IETF IP-over-Tenrehte working group, it produces specifications, a few people implement them, the specifications become standards track documents, updated software trickles out to end users and all the while you're doing this, a Wireless Ethernet product could be on shelves as a more or less drop-in replacement for wired products.
We can follow Tenrehte's story for real with IRDA and Bluetooth on the desktop (notice how it took a long time for Linux to support anything better than a serial link with these link layers?) or with ATM on bigger networks. It's less painful to convert newer protocols like IPv6 (no ARP, so the interface to the link layer is simpler), but it's still months of extra work, so it must only be done if it's really necessary to have a new link layer.
This is the same phenomenon as with PCI. Yes, PCI-X and PCIe aren't actually PCI hardware, the electrical connections are different, the speed is different, and down in the engine room of the kernel, there are different register settings, different hotplug behaviour, maybe different signalling and interrupt rules etc. But for most of the software outside that "engine room" these are just faster, better PCI devices. Or think of the Linux SCSI subsystem. A SATA disk isn't really a SCSI device, no conceivable electrical adaptor would make it plug into my UW SCSI controller, but for very good reasons Linux treats my SATA disks as SCSI devices and the SATA drivers in Linux do the extra work to accomodate this.
So, Wireless Ethernet is called so for a good reason even if it's a lot easier to write a Linux kernel driver for an NE2000 than for the IPW2200. The only NE2000 I have uses 10base2 anyway, so it won't even plug into today's "real" Ethernet networks, because those use 100baseT or better.
Posted Apr 16, 2006 0:19 UTC (Sun)
by brouhaha (subscriber, #1698)
[Link] (2 responses)
Posted Apr 16, 2006 1:21 UTC (Sun)
by corbet (editor, #1)
[Link] (1 responses)
Posted Apr 16, 2006 2:30 UTC (Sun)
by brouhaha (subscriber, #1698)
[Link]
The 2006 Wireless Networking Summit - Typo
One interesting area of development has to do with quality of service support. 802.11 defines for services levels: "voice," "video," "best effort," and "background."
One interesting area of development has to do with quality of service support. 802.11 defines four service levels: "voice," "video," "best effort," and "background."
I'll bite:The 2006 Wireless Networking Summit - Typo
We would really rather receive typo reports as mail to lwn@lwn.net. Most other readers probably have little interest in them.
The 2006 Wireless Networking Summit - Typo
Thanks -- I'll send e-mail in the future.The 2006 Wireless Networking Summit - Typo
[OT] The 2006 Wireless Networking Summit - Typo
Standardization trumps partriotism. [OT] The 2006 Wireless Networking Summit - Typo
I should like to punt on this Webster nonsense and go with a unified British English front.
While spelling reform isn't a bad idea on its own,
Noah's were less than well thought out.
...........................^^^^^^^
He certainly sold enough dictionaries; can't fault his capitalism.
Continuing the off-topic meta-discussion:
[OT] The 2006 Wireless Networking Summit - Typo
I believe the convention for including punctuation within quotations was more of an acquiescence to typographical necessity rather than a grammatical choice. Apparently in old mechanical fixed type it was more aethetically pleasing to put punctuation before closing quotes.[OT] The 2006 Wireless Networking Summit - Typo
[OT] The 2006 Wireless Networking Summit - Typo
No, no, I'm not going to do the whole joke; Lynne Truss doesn't need to sell any more books. :-)So this panda walks into a bar...
Incidentally, for those seeing this rule for the first time: It applies to all punctuation, not just commas.
[OT] The 2006 Wireless Networking Summit - Typo
And even putting the last comma in the list outside of the quotes is a peculiarly Oxford variant of English; it's even called "the Oxford comma". For the rest of us, they're optional. (Oxford English has another feature in common with American English - a preference for -ize endings over -ise endings.)[OT] The 2006 Wireless Networking Summit - Typo
How about including a "report corrections/typos" link for each article? It could just mailto: lwn@lwn.net with an appropriate subject etc.The 2006 Wireless Networking Summit - Typo
Better don't do that in C code :->The 2006 Wireless Networking Summit - Typo
This is a classic writing convention issue:The 2006 Wireless Networking Summit - Typo
http://www.worldwidewords.org/qa/qa-pun1.htm
Andrew
Would be nice if you could post an annotated version as well,Group photo
so we can see who's who in the networking world.
I put one up here: http://johannes.sipsolutions.net/wireless.php (large!)Annotated group photo
See also http://lwn.net/Articles/179322/ .Annotated group photo
I think it should be noted that one the guys behind the Devicescape stack (and the one who published the code on netdev) is Jouni Malinen, of the HostAP/hostapd/wpa_supplicant fame.The 2006 Wireless Networking Summit
And Devicescape Software is former Instant802 Networks, creators of OpenAP.
The 2006 Wireless Networking Summit
Just a note to say thanks for this article - I don't know any other site that would tackle a fairly technical subject like the status of Linux wireless networking and do it in so complete and informative a manner. This was hugely educational for me, and made me glad to be a subscriber. Kudos, and hopefully you'll find time to put together more like this one.Glad to support LWN
It would sure be nice to get a list of unsupported hardware for here:Unsupported hardware
Obviously that list isn't maintained anyway (most broadcom cards work fine), so...Unsupported hardware
Uh, it is maintained. By its users. If you see something incorrect, please make an effort to let us know.Unsupported hardware
You realise that there are probably half a dozen such lists out there? That said, one of the points of the conference was to set up a new linux wireless site that collects information, so watch for announcements.Unsupported hardware lists
Exactly the opposite. In 1995 it made sense to have a list of hardware that worked. The rule now is that a given piece of hardware will work unless there's something strange or non-standard about it. Leenooks.com is a good idea, especially the fact that it's a wiki.Unsupported hardware lists
Wireless _Ethernet_ is the whole point of the exercise. To complain that down in the engine room these devices aren't actually 100Mbit Ethernet controllers with a UTP PHY is to completely miss the point of Ethernet and its success.The 2006 Wireless Networking Summit
Regarding GPL'd Devicescape code:
The 2006 Wireless Networking Summit
There is the inevitable web portal being put together to provide access to all this code.
If the portal isn't online yet, is there some other place where the GPL'd Devicescape code can currently be obtained? In particular, I'm having some trouble using the standard hostapd release with a current development snapshot of the Devicescape-based Ralink driver (rt2x00), and it would be helpful if I could find the actual Devicescape version of hostapd.
There's an FTP site, but what you probably really want is the wireless-dev tree, which has this code and at least one driver (the bcm43xx code) ported to it.
Devicescape code
Thanks. Actually I do want some of the user-space code that isn't in the kernel repository, so I've been looking for an ftp site, but I haven't found it.
Devicescape code