I got off to a bit of a late start due to an academic obligation, but I had done some work in the community bonding period on making sense of the IEEE 802.11 specification. I figured it would be best to start by getting the various IEEE constants and structures into code, and then figure out how gPXE's 802.11 layer will look:
I'm keeping everything related to this SoC project in the branch `wireless' of my personal repository on git.etherboot.org. I've put my patches from prior to SoC, for FireWire debugging and sky2 wired Ethernet support, into the `firewire' and `sky2' branches respectively.
I've tried to formulate the 802.11 API in a sensible and complete way, but it'll probably go through a lot of changes as I get down into driver work and discover what really needs to be available and what doesn't. I'm planning on starting with the rtl8180 driver (also supporting the 8185 chipset) next week, and holding off on the MAC-layer code until I know which bits of it are required by the driver. The rtl8180 driver has the advantage of being very straightforward, without too many options to configure; I'll worry about more complicated drivers like the Atheros ones after I have the 802.11 MAC layer better ironed out.